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

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

declare i32 @s2n_stuffer_read_uint32(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

declare i32 @s2n_stuffer_read_uint16(ptr noundef, ptr noundef) #0

declare i32 @s2n_connection_get_session_length(ptr noundef) #0

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

declare i32 @s2n_free(ptr noundef) #0

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

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

; 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
declare dso_local i32 @s2n_server_nst_send(ptr noundef) #5

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

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

declare i32 @s2n_stuffer_write_uint32(ptr noundef, i32 noundef) #0

declare i32 @s2n_stuffer_write(ptr noundef, ptr noundef) #0

declare i32 @s2n_stuffer_init(ptr noundef, ptr noundef) #0

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_generate_ticket_lifetime(ptr noundef, i64 noundef, ptr noundef) #5

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

declare i32 @s2n_connection_get_session_state_size(ptr noundef, ptr noundef) #0

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

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_generate_ticket_nonce(i16 noundef zeroext, ptr noundef) #5

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) #0

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

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

declare i32 @s2n_stuffer_read_uint8(ptr noundef, ptr noundef) #0

declare i32 @s2n_stuffer_read_bytes(ptr noundef, ptr noundef, i32 noundef) #0

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #5 {
  %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 ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca %struct.s2n_result, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i16, align 2
  %18 = alloca %struct.s2n_stuffer, align 8
  %19 = alloca i32, align 4
  %20 = alloca %struct.s2n_result, align 4
  %21 = alloca i32, align 4
  %22 = alloca i8, align 1
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i8, align 1
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca [2 x i8], align 1
  %36 = alloca i32, align 4
  %37 = alloca [2 x i8], align 1
  %38 = alloca %struct.s2n_blob, align 8
  %39 = alloca i32, align 4
  %40 = alloca %struct.s2n_result, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i16, align 2
  %44 = alloca i32, align 4
  %45 = alloca i8, align 1
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i16, align 2
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca ptr, align 8
  %57 = alloca ptr, align 8
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca %struct.s2n_result, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca %struct.s2n_stuffer, align 8
  %64 = alloca i32, align 4
  %65 = alloca %struct.s2n_result, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca ptr, align 8
  %73 = alloca ptr, align 8
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca %struct.s2n_stuffer, align 8
  %78 = alloca i32, align 4
  %79 = alloca %struct.s2n_result, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca %struct.s2n_result, align 4
  %84 = alloca %struct.s2n_result, align 4
  %85 = alloca ptr, align 8
  %86 = alloca ptr, align 8
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca %struct.s2n_result, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca %struct.s2n_stuffer, align 8
  %93 = alloca i32, align 4
  %94 = alloca %struct.s2n_result, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca %struct.s2n_result, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca ptr, align 8
  %112 = alloca i32, align 4
  %113 = alloca %struct.s2n_result, align 4
  %114 = alloca i32, align 4
  %115 = alloca ptr, align 8
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca %struct.s2n_stuffer, align 8
  %120 = alloca i32, align 4
  %121 = alloca %struct.s2n_result, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i16, align 2
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i16, align 2
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca ptr, align 8
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca %struct.s2n_result, align 4
  %141 = alloca i32, align 4
  %142 = alloca ptr, align 8
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca [65535 x i8], align 16
  %147 = alloca i32, align 4
  %148 = alloca %struct.s2n_stuffer, align 8
  %149 = alloca i32, align 4
  %150 = alloca %struct.s2n_result, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca ptr, align 8
  %158 = alloca i32, align 4
  %159 = alloca ptr, align 8
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i64, align 8
  %164 = alloca %struct.s2n_result, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca %struct.s2n_result, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i64, align 8
  %171 = alloca i64, align 8
  %172 = alloca i64, align 8
  %173 = alloca %struct.s2n_result, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca %struct.s2n_result, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca %struct.s2n_result, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca %struct.s2n_result, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca %struct.s2n_result, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca %struct.s2n_result, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca %struct.s2n_result, align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca %struct.s2n_result, align 4
  %196 = alloca i32, align 4
  %197 = alloca ptr, align 8
  %198 = alloca i32, align 4
  %199 = alloca %struct.s2n_result, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca %struct.s2n_result, align 4
  %203 = alloca %struct.s2n_result, align 4
  %204 = alloca [7 x %struct.anon], align 16
  %205 = alloca i64, align 8
  %206 = alloca [2 x i8], align 1
  %207 = alloca %struct.s2n_blob, align 8
  %208 = alloca i32, align 4
  %209 = alloca %struct.s2n_result, align 4
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca i32, align 4
  %213 = alloca [8 x %struct.anon.1], align 16
  %214 = alloca i64, align 8
  %215 = alloca i32, align 4
  %216 = alloca %struct.s2n_blob, align 8
  %217 = alloca i32, align 4
  %218 = alloca %struct.s2n_result, align 4
  %219 = alloca i32, align 4
  %220 = alloca i32, align 4
  %221 = alloca %struct.s2n_blob, align 8
  %222 = alloca %struct.s2n_result, align 4
  %223 = alloca i32, align 4
  %224 = alloca ptr, align 8
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca [2 x i8], align 1
  %228 = alloca %struct.s2n_blob, align 8
  %229 = alloca i32, align 4
  %230 = alloca ptr, align 8
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca [3 x i8], align 1
  %236 = alloca [18 x i8], align 16
  %237 = alloca ptr, align 8
  %238 = alloca ptr, align 8
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca %struct.s2n_stuffer, align 8
  %243 = alloca i32, align 4
  %244 = alloca %struct.s2n_blob, align 8
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %247 = alloca %struct.s2n_result, align 4
  %248 = alloca i32, align 4
  %249 = alloca i32, align 4
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca i32, align 4
  %253 = alloca ptr, align 8
  %254 = alloca i32, align 4
  %255 = alloca %struct.s2n_stuffer, align 8
  %256 = alloca i32, align 4
  %257 = alloca %struct.s2n_blob, align 8
  %258 = alloca i32, align 4
  %259 = alloca i32, align 4
  %260 = alloca %struct.s2n_result, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca ptr, align 8
  %268 = alloca ptr, align 8
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca %struct.s2n_stuffer, align 8
  %275 = alloca i32, align 4
  %276 = alloca %struct.s2n_blob, align 8
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca %struct.s2n_result, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca %struct.s2n_blob, align 8
  %284 = alloca %struct.s2n_stuffer, align 8
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca i16, align 2
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca ptr, align 8
  %293 = alloca i32, align 4
  %294 = alloca i32, align 4
  %295 = alloca [4 x i8], align 1
  %296 = alloca i8, align 1
  %297 = alloca i32, align 4
  %298 = alloca [4 x i8], align 1
  %299 = alloca i32, align 4
  %300 = alloca i32, align 4
  %301 = alloca [4 x i8], align 1
  %302 = alloca i32, align 4
  %303 = alloca i32, align 4
  %304 = alloca i32, align 4
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca %struct.s2n_blob, align 8
  %308 = alloca %struct.s2n_result, align 4
  %309 = alloca ptr, align 8
  %310 = alloca ptr, align 8
  %311 = alloca i32, align 4
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca %struct.s2n_stuffer, align 8
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca %struct.s2n_result, align 4
  %321 = alloca i32, align 4
  %322 = alloca i32, align 4
  %323 = alloca i32, align 4
  %324 = alloca i32, align 4
  %325 = alloca ptr, align 8
  %326 = alloca ptr, align 8
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca ptr, align 8
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca %struct.s2n_result, align 4
  %333 = alloca i32, align 4
  %334 = alloca i32, align 4
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca %struct.s2n_stuffer, align 8
  %338 = alloca i32, align 4
  %339 = alloca %struct.s2n_result, align 4
  %340 = alloca i32, align 4
  %341 = alloca i32, align 4
  %342 = alloca %struct.s2n_result, 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 i32, align 4
  %349 = alloca ptr, align 8
  %350 = alloca i32, align 4
  %351 = alloca i32, align 4
  %352 = alloca i32, align 4
  %353 = alloca %struct.s2n_result, align 4
  %354 = alloca i32, align 4
  %355 = alloca ptr, align 8
  %356 = alloca i32, align 4
  %357 = alloca i32, align 4
  %358 = alloca ptr, align 8
  %359 = alloca i32, align 4
  %360 = alloca i32, align 4
  %361 = alloca i32, align 4
  %362 = alloca %struct.s2n_stuffer, align 8
  %363 = alloca i32, align 4
  %364 = alloca i32, align 4
  %365 = alloca %struct.s2n_result, align 4
  %366 = alloca i32, align 4
  %367 = alloca i32, align 4
  %368 = alloca %struct.s2n_result, align 4
  %369 = alloca i32, align 4
  %370 = alloca i32, align 4
  %371 = alloca i32, align 4
  %372 = alloca i32, align 4
  %373 = alloca i32, align 4
  %374 = alloca i32, align 4
  %375 = alloca [8 x i32], align 16
  %376 = alloca ptr, align 8
  %377 = alloca i32, align 4
  %378 = alloca i32, align 4
  %379 = alloca i32, align 4
  %380 = alloca %struct.s2n_result, align 4
  %381 = alloca i32, align 4
  %382 = alloca ptr, align 8
  %383 = alloca i32, align 4
  %384 = alloca i32, align 4
  %385 = alloca ptr, align 8
  %386 = alloca i32, align 4
  %387 = alloca i32, align 4
  %388 = alloca %struct.s2n_stuffer, align 8
  %389 = alloca i32, align 4
  %390 = alloca i64, align 8
  %391 = alloca i32, align 4
  %392 = alloca %struct.s2n_result, align 4
  %393 = alloca i32, 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 i32, align 4
  %402 = alloca i32, align 4
  %403 = alloca i64, align 8
  %404 = alloca ptr, align 8
  %405 = alloca i64, align 8
  %406 = alloca ptr, align 8
  %407 = alloca i32, align 4
  %408 = alloca i32, align 4
  %409 = alloca i32, align 4
  %410 = alloca ptr, align 8
  %411 = alloca i32, align 4
  %412 = alloca i32, align 4
  %413 = alloca %struct.s2n_stuffer, align 8
  %414 = alloca i32, align 4
  %415 = alloca i32, align 4
  %416 = alloca i32, align 4
  %417 = alloca %struct.s2n_result, align 4
  %418 = alloca i32, align 4
  %419 = alloca i32, align 4
  %420 = alloca i32, align 4
  %421 = alloca i32, align 4
  %422 = alloca ptr, align 8
  %423 = alloca i32, 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 i32, align 4
  %429 = alloca %struct.s2n_result, align 4
  %430 = alloca i32, align 4
  %431 = alloca i32, align 4
  %432 = alloca i32, align 4
  %433 = alloca i32, align 4
  %434 = alloca i32, align 4
  %435 = alloca i32, align 4
  %436 = alloca i32, align 4
  %437 = alloca ptr, align 8
  %438 = alloca i32, align 4
  %439 = alloca ptr, align 8
  %440 = alloca i32, align 4
  %441 = alloca %struct.s2n_result, align 4
  %442 = alloca i32, align 4
  %443 = alloca i32, align 4
  %444 = alloca i32, align 4
  %445 = alloca %struct.s2n_result, align 4
  %446 = alloca i32, align 4
  %447 = alloca i32, align 4
  %448 = alloca i32, align 4
  %449 = alloca i32, align 4
  %450 = alloca i16, align 2
  %451 = alloca i32, align 4
  %452 = alloca i32, align 4
  %453 = alloca i32, align 4
  %454 = alloca %struct.s2n_result, align 4
  %455 = alloca %struct.s2n_result, align 4
  %456 = alloca ptr, align 8
  %457 = alloca i32, align 4
  %458 = alloca ptr, align 8
  %459 = alloca i32, align 4
  %460 = alloca i32, align 4
  %461 = alloca i32, align 4
  %462 = alloca %struct.s2n_result, align 4
  %463 = alloca i32, align 4
  %464 = alloca i32, align 4
  %465 = alloca i32, align 4
  %466 = alloca i32, align 4
  %467 = alloca i16, align 2
  %468 = alloca i32, align 4
  %469 = alloca i32, align 4
  %470 = alloca i32, align 4
  %471 = alloca %struct.s2n_result, align 4
  %472 = alloca %struct.s2n_result, align 4
  %473 = alloca ptr, align 8
  %474 = alloca i32, align 4
  %475 = alloca ptr, align 8
  %476 = alloca i32, align 4
  %477 = alloca i32, align 4
  %478 = alloca i32, align 4
  %479 = alloca %struct.s2n_result, align 4
  %480 = alloca i32, align 4
  %481 = alloca i32, align 4
  %482 = alloca i32, align 4
  %483 = alloca i32, align 4
  %484 = alloca i16, align 2
  %485 = alloca i32, align 4
  %486 = alloca i32, align 4
  %487 = alloca i32, align 4
  %488 = alloca %struct.s2n_result, align 4
  %489 = alloca %struct.s2n_result, align 4
  %490 = alloca ptr, align 8
  %491 = alloca i32, align 4
  %492 = alloca %struct.s2n_stuffer, align 8
  %493 = alloca i32, align 4
  %494 = alloca i32, align 4
  %495 = alloca i32, align 4
  %496 = alloca %struct.s2n_result, align 4
  %497 = alloca i32, align 4
  %498 = alloca i32, align 4
  %499 = alloca %struct.s2n_result, align 4
  %500 = alloca i32, align 4
  %501 = alloca i32, align 4
  %502 = alloca i32, align 4
  %503 = alloca i32, align 4
  %504 = alloca i32, align 4
  %505 = alloca ptr, align 8
  %506 = alloca i32, align 4
  %507 = alloca %struct.s2n_result, align 4
  %508 = alloca i32, align 4
  %509 = alloca ptr, align 8
  %510 = alloca i32, align 4
  %511 = alloca i32, align 4
  %512 = alloca %struct.s2n_stuffer, align 8
  %513 = alloca i32, align 4
  %514 = alloca i32, align 4
  %515 = alloca i32, align 4
  %516 = alloca %struct.s2n_result, align 4
  %517 = alloca i32, align 4
  %518 = alloca i32, align 4
  %519 = alloca i32, align 4
  %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 %struct.s2n_result, align 4
  %525 = alloca i32, align 4
  %526 = alloca %struct.s2n_result, align 4
  %527 = alloca %struct.s2n_result, align 4
  %528 = alloca ptr, align 8
  %529 = alloca i32, align 4
  %530 = alloca %struct.s2n_result, align 4
  %531 = alloca i32, align 4
  %532 = alloca ptr, align 8
  %533 = alloca i32, align 4
  %534 = alloca i32, align 4
  %535 = alloca i32, align 4
  %536 = alloca %struct.s2n_stuffer, align 8
  %537 = alloca i32, align 4
  %538 = alloca i32, align 4
  %539 = alloca i32, align 4
  %540 = alloca %struct.s2n_result, align 4
  %541 = alloca i32, align 4
  %542 = alloca i32, align 4
  %543 = alloca %struct.s2n_result, align 4
  %544 = alloca i32, align 4
  %545 = alloca i32, align 4
  %546 = alloca i32, align 4
  %547 = alloca i32, align 4
  %548 = alloca i32, align 4
  %549 = alloca ptr, align 8
  %550 = alloca i32, align 4
  %551 = alloca %struct.s2n_result, align 4
  %552 = alloca i32, align 4
  %553 = alloca ptr, align 8
  %554 = alloca i32, align 4
  %555 = alloca i32, align 4
  %556 = alloca %struct.s2n_stuffer, align 8
  %557 = alloca i32, align 4
  %558 = alloca i32, align 4
  %559 = alloca i32, align 4
  %560 = alloca %struct.s2n_result, align 4
  %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 %struct.s2n_result, align 4
  %569 = alloca %struct.s2n_result, align 4
  %570 = alloca ptr, align 8
  %571 = alloca i32, align 4
  %572 = alloca ptr, align 8
  %573 = alloca i32, align 4
  %574 = alloca %struct.s2n_result, align 4
  %575 = alloca i32, align 4
  %576 = alloca i32, align 4
  %577 = alloca %struct.s2n_stuffer, align 8
  %578 = alloca i32, align 4
  %579 = alloca %struct.s2n_result, align 4
  %580 = alloca i32, align 4
  %581 = alloca i32, align 4
  %582 = alloca i32, align 4
  %583 = alloca %struct.s2n_result, align 4
  %584 = alloca i32, align 4
  %585 = alloca %struct.s2n_result, align 4
  %586 = alloca %struct.s2n_result, align 4
  %587 = alloca ptr, align 8
  %588 = alloca ptr, align 8
  %589 = alloca i32, align 4
  %590 = alloca i32, align 4
  %591 = alloca %struct.s2n_result, align 4
  %592 = alloca i32, align 4
  %593 = alloca i32, align 4
  %594 = alloca i32, align 4
  %595 = alloca %struct.s2n_stuffer, align 8
  %596 = alloca i32, align 4
  %597 = alloca i32, align 4
  %598 = alloca i32, align 4
  %599 = alloca %struct.s2n_result, align 4
  %600 = alloca i32, align 4
  %601 = alloca %struct.s2n_result, align 4
  %602 = alloca i32, align 4
  %603 = alloca i16, align 2
  %604 = alloca i32, align 4
  %605 = alloca i32, align 4
  %606 = alloca i32, align 4
  %607 = alloca i32, align 4
  %608 = alloca i32, align 4
  %609 = alloca i32, align 4
  %610 = alloca i32, align 4
  %611 = alloca i32, align 4
  %612 = alloca i8, align 1
  %613 = alloca i8, align 1
  %614 = alloca ptr, align 8
  %615 = alloca i32, align 4
  %616 = alloca %struct.s2n_result, align 4
  %617 = alloca i32, align 4
  %618 = alloca ptr, align 8
  %619 = alloca i32, align 4
  %620 = alloca i32, align 4
  %621 = alloca %struct.s2n_result, align 4
  %622 = alloca i32, align 4
  %623 = alloca %struct.s2n_stuffer, align 8
  %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 ptr, align 8
  %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 i32, align 4
  %645 = alloca i32, align 4
  %646 = alloca %struct.s2n_result, align 4
  %647 = alloca i32, align 4
  %648 = alloca i32, align 4
  %649 = alloca i32, align 4
  %650 = alloca i32, align 4
  %651 = alloca [16 x i8], align 16
  %652 = alloca i64, align 8
  %653 = alloca ptr, align 8
  %654 = alloca i32, align 4
  %655 = alloca i32, align 4
  %656 = alloca i32, align 4
  %657 = alloca i32, align 4
  %658 = alloca ptr, align 8
  %659 = alloca i32, align 4
  %660 = alloca i32, align 4
  %661 = alloca %struct.s2n_stuffer, align 8
  %662 = alloca i32, align 4
  %663 = alloca i32, align 4
  %664 = alloca i32, align 4
  %665 = alloca %struct.s2n_result, align 4
  %666 = alloca i32, align 4
  %667 = alloca %struct.s2n_result, align 4
  %668 = alloca i32, align 4
  %669 = alloca i32, align 4
  %670 = alloca i32, align 4
  %671 = alloca i32, align 4
  %672 = alloca %struct.s2n_result, align 4
  %673 = alloca i32, align 4
  %674 = alloca %struct.s2n_result, align 4
  %675 = alloca i32, align 4
  %676 = alloca i32, align 4
  %677 = alloca i32, align 4
  %678 = alloca i32, align 4
  %679 = alloca i32, align 4
  %680 = alloca %struct.s2n_result, align 4
  %681 = alloca i32, align 4
  %682 = alloca %struct.s2n_result, align 4
  %683 = alloca i32, align 4
  %684 = alloca i32, align 4
  %685 = alloca i32, align 4
  %686 = alloca i32, align 4
  %687 = alloca i32, align 4
  %688 = alloca [16 x i8], align 16
  %689 = alloca i64, align 8
  %690 = alloca ptr, align 8
  %691 = alloca i32, align 4
  %692 = alloca i32, align 4
  %693 = alloca i32, align 4
  %694 = alloca i32, align 4
  %695 = alloca ptr, align 8
  %696 = alloca i32, align 4
  %697 = alloca i32, align 4
  %698 = alloca %struct.s2n_stuffer, align 8
  %699 = alloca i32, align 4
  %700 = alloca i32, align 4
  %701 = alloca i32, align 4
  %702 = alloca %struct.s2n_result, align 4
  %703 = alloca i32, align 4
  %704 = alloca %struct.s2n_result, 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 ptr, align 8
  %711 = alloca ptr, align 8
  %712 = alloca i32, align 4
  %713 = alloca i32, align 4
  %714 = alloca %struct.s2n_result, align 4
  %715 = alloca i32, align 4
  %716 = alloca i32, align 4
  %717 = alloca i16, align 2
  %718 = alloca %struct.s2n_stuffer, align 8
  %719 = alloca i32, align 4
  %720 = alloca i32, align 4
  %721 = alloca i32, align 4
  %722 = alloca %struct.s2n_result, align 4
  %723 = alloca i32, align 4
  %724 = alloca %struct.s2n_result, align 4
  %725 = alloca i32, align 4
  %726 = alloca i16, align 2
  %727 = alloca i64, align 8
  %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 %struct.s2n_result, align 4
  %735 = alloca i32, align 4
  %736 = alloca i32, align 4
  %737 = alloca i32, align 4
  %738 = alloca i32, align 4
  %739 = alloca i32, align 4
  %740 = alloca ptr, align 8
  %741 = alloca i32, align 4
  %742 = alloca %struct.s2n_result, align 4
  %743 = alloca i32, align 4
  %744 = alloca ptr, align 8
  %745 = alloca i32, align 4
  %746 = alloca i32, align 4
  %747 = alloca i32, align 4
  %748 = alloca %struct.s2n_stuffer, align 8
  %749 = alloca i32, align 4
  %750 = alloca i32, align 4
  %751 = alloca i64, align 8
  %752 = alloca %struct.s2n_result, align 4
  %753 = alloca i32, align 4
  %754 = alloca i32, align 4
  %755 = alloca i32, align 4
  %756 = alloca %struct.s2n_result, align 4
  %757 = alloca i32, align 4
  %758 = alloca i32, align 4
  %759 = alloca i32, align 4
  %760 = alloca i32, align 4
  %761 = alloca i32, align 4
  %762 = alloca i32, align 4
  %763 = alloca [19 x i8], align 16
  %764 = alloca i32, align 4
  %765 = alloca i64, align 8
  %766 = alloca %struct.s2n_result, align 4
  %767 = alloca i32, align 4
  %768 = alloca i32, align 4
  %769 = alloca i32, align 4
  %770 = alloca %struct.s2n_result, align 4
  %771 = alloca i32, align 4
  %772 = alloca i32, align 4
  %773 = alloca i32, align 4
  %774 = alloca i32, align 4
  %775 = alloca i32, align 4
  %776 = alloca i32, align 4
  %777 = alloca [29 x i8], align 16
  %778 = alloca i32, align 4
  %779 = alloca [6 x i8], align 1
  %780 = alloca i64, align 8
  %781 = alloca i32, align 4
  %782 = alloca i64, align 8
  %783 = alloca %struct.s2n_result, align 4
  %784 = alloca i32, align 4
  %785 = alloca i32, align 4
  %786 = alloca i32, align 4
  %787 = alloca %struct.s2n_result, align 4
  %788 = alloca i32, align 4
  %789 = alloca i32, align 4
  %790 = alloca i32, align 4
  %791 = alloca i32, align 4
  %792 = alloca i32, align 4
  %793 = alloca i32, align 4
  %794 = alloca i32, align 4
  %795 = alloca i32, align 4
  %796 = alloca ptr, align 8
  %797 = alloca ptr, align 8
  %798 = alloca i32, align 4
  %799 = alloca i32, align 4
  %800 = alloca ptr, align 8
  %801 = alloca i32, align 4
  %802 = alloca ptr, align 8
  %803 = alloca i32, align 4
  %804 = alloca i32, align 4
  %805 = alloca i32, align 4
  %806 = alloca i32, align 4
  %807 = alloca i32, 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 i16, align 2
  %813 = alloca %struct.s2n_stuffer, align 8
  %814 = alloca %struct.s2n_stuffer, align 8
  %815 = alloca i32, align 4
  %816 = alloca i32, 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 i32, align 4
  %823 = alloca i32, align 4
  %824 = alloca i16, align 2
  %825 = alloca i64, align 8
  %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 %struct.s2n_result, align 4
  %834 = alloca i32, align 4
  %835 = alloca i32, align 4
  %836 = alloca i32, align 4
  %837 = alloca i32, align 4
  %838 = alloca i32, align 4
  %839 = alloca i32, align 4
  %840 = alloca i32, align 4
  %841 = alloca i32, align 4
  %842 = 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 %843

843:                                              ; preds = %2
  br label %844

844:                                              ; preds = %843
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %845 = load ptr, ptr @stdout, align 8, !tbaa !9
  %846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %845, ptr noundef @.str.21, ptr noundef @.str.22) #11
  %847 = load ptr, ptr @stdout, align 8, !tbaa !9
  %848 = call i32 @fflush(ptr noundef %847)
  br label %849

849:                                              ; preds = %844
  %850 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %851 = icmp eq i32 %850, -1
  br i1 %851, label %852, label %903

852:                                              ; preds = %849
  br label %853

853:                                              ; preds = %852
  br label %854

854:                                              ; preds = %853
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %855 = call ptr @__errno_location() #12
  %856 = load i32, ptr %855, align 4, !tbaa !5
  store i32 %856, ptr %6, align 4, !tbaa !5
  %857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %858 = call i32 @s2n_print_stacktrace(ptr noundef %857)
  %859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %860 = trunc i8 %859 to i1
  br i1 %860, label %861, label %883

861:                                              ; preds = %854
  %862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %863 = call i32 @fileno(ptr noundef %862) #11
  %864 = call i32 @isatty(i32 noundef %863) #11
  %865 = icmp ne i32 %864, 0
  br i1 %865, label %866, label %883

866:                                              ; preds = %861
  %867 = load i32, ptr %6, align 4, !tbaa !5
  %868 = call ptr @__errno_location() #12
  store i32 %867, ptr %868, align 4, !tbaa !5
  %869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %870 = load i32, ptr @test_count, align 4, !tbaa !5
  %871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %872 = load i32, ptr %871, align 4, !tbaa !5
  %873 = call ptr @s2n_strerror(i32 noundef %872, ptr noundef @.str.25)
  %874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %875 = load i32, ptr %874, align 4, !tbaa !5
  %876 = call ptr @s2n_strerror_debug(i32 noundef %875, ptr noundef @.str.25)
  %877 = call ptr @__errno_location() #12
  %878 = load i32, ptr %877, align 4, !tbaa !5
  %879 = call ptr @strerror(i32 noundef %878) #11
  %880 = call ptr @__errno_location() #12
  %881 = load i32, ptr %880, align 4, !tbaa !5
  %882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %869, ptr noundef @.str.23, i32 noundef %870, ptr noundef @.str.24, ptr noundef @.str.22, i32 noundef 127, ptr noundef %873, ptr noundef %876, ptr noundef %879, i32 noundef %881) #11
  br label %900

883:                                              ; preds = %861, %854
  %884 = load i32, ptr %6, align 4, !tbaa !5
  %885 = call ptr @__errno_location() #12
  store i32 %884, ptr %885, align 4, !tbaa !5
  %886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %887 = load i32, ptr @test_count, align 4, !tbaa !5
  %888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %889 = load i32, ptr %888, align 4, !tbaa !5
  %890 = call ptr @s2n_strerror(i32 noundef %889, ptr noundef @.str.25)
  %891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %892 = load i32, ptr %891, align 4, !tbaa !5
  %893 = call ptr @s2n_strerror_debug(i32 noundef %892, ptr noundef @.str.25)
  %894 = call ptr @__errno_location() #12
  %895 = load i32, ptr %894, align 4, !tbaa !5
  %896 = call ptr @strerror(i32 noundef %895) #11
  %897 = call ptr @__errno_location() #12
  %898 = load i32, ptr %897, align 4, !tbaa !5
  %899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %886, ptr noundef @.str.26, i32 noundef %887, ptr noundef @.str.24, ptr noundef @.str.22, i32 noundef 127, ptr noundef %890, ptr noundef %893, ptr noundef %896, i32 noundef %898) #11
  br label %900

900:                                              ; preds = %883, %866
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %901

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

902:                                              ; No predecessors!
  br label %903

903:                                              ; preds = %902, %849
  br label %904

904:                                              ; preds = %903
  br label %905

905:                                              ; preds = %904
  %906 = load i32, ptr @test_count, align 4, !tbaa !5
  %907 = add nsw i32 %906, 1
  store i32 %907, ptr @test_count, align 4, !tbaa !5
  %908 = call i32 @s2n_enable_atexit()
  %909 = icmp eq i32 %908, -1
  br i1 %909, label %910, label %961

910:                                              ; preds = %905
  br label %911

911:                                              ; preds = %910
  br label %912

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

919:                                              ; preds = %912
  %920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %921 = call i32 @fileno(ptr noundef %920) #11
  %922 = call i32 @isatty(i32 noundef %921) #11
  %923 = icmp ne i32 %922, 0
  br i1 %923, label %924, label %941

924:                                              ; preds = %919
  %925 = load i32, ptr %7, align 4, !tbaa !5
  %926 = call ptr @__errno_location() #12
  store i32 %925, ptr %926, align 4, !tbaa !5
  %927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %928 = load i32, ptr @test_count, align 4, !tbaa !5
  %929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %930 = load i32, ptr %929, align 4, !tbaa !5
  %931 = call ptr @s2n_strerror(i32 noundef %930, ptr noundef @.str.25)
  %932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %933 = load i32, ptr %932, align 4, !tbaa !5
  %934 = call ptr @s2n_strerror_debug(i32 noundef %933, ptr noundef @.str.25)
  %935 = call ptr @__errno_location() #12
  %936 = load i32, ptr %935, align 4, !tbaa !5
  %937 = call ptr @strerror(i32 noundef %936) #11
  %938 = call ptr @__errno_location() #12
  %939 = load i32, ptr %938, align 4, !tbaa !5
  %940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %927, ptr noundef @.str.23, i32 noundef %928, ptr noundef @.str.27, ptr noundef @.str.22, i32 noundef 127, ptr noundef %931, ptr noundef %934, ptr noundef %937, i32 noundef %939) #11
  br label %958

941:                                              ; preds = %919, %912
  %942 = load i32, ptr %7, align 4, !tbaa !5
  %943 = call ptr @__errno_location() #12
  store i32 %942, ptr %943, align 4, !tbaa !5
  %944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %945 = load i32, ptr @test_count, align 4, !tbaa !5
  %946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %947 = load i32, ptr %946, align 4, !tbaa !5
  %948 = call ptr @s2n_strerror(i32 noundef %947, ptr noundef @.str.25)
  %949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %950 = load i32, ptr %949, align 4, !tbaa !5
  %951 = call ptr @s2n_strerror_debug(i32 noundef %950, ptr noundef @.str.25)
  %952 = call ptr @__errno_location() #12
  %953 = load i32, ptr %952, align 4, !tbaa !5
  %954 = call ptr @strerror(i32 noundef %953) #11
  %955 = call ptr @__errno_location() #12
  %956 = load i32, ptr %955, align 4, !tbaa !5
  %957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %944, ptr noundef @.str.26, i32 noundef %945, ptr noundef @.str.27, ptr noundef @.str.22, i32 noundef 127, ptr noundef %948, ptr noundef %951, ptr noundef %954, i32 noundef %956) #11
  br label %958

958:                                              ; preds = %941, %924
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %959

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

960:                                              ; No predecessors!
  br label %961

961:                                              ; preds = %960, %905
  br label %962

962:                                              ; preds = %961
  br label %963

963:                                              ; preds = %962
  br label %964

964:                                              ; preds = %963
  %965 = call i32 @s2n_init()
  %966 = icmp eq i32 %965, -1
  br i1 %966, label %967, label %1018

967:                                              ; preds = %964
  br label %968

968:                                              ; preds = %967
  br label %969

969:                                              ; preds = %968
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %970 = call ptr @__errno_location() #12
  %971 = load i32, ptr %970, align 4, !tbaa !5
  store i32 %971, ptr %8, align 4, !tbaa !5
  %972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %973 = call i32 @s2n_print_stacktrace(ptr noundef %972)
  %974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %975 = trunc i8 %974 to i1
  br i1 %975, label %976, label %998

976:                                              ; preds = %969
  %977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %978 = call i32 @fileno(ptr noundef %977) #11
  %979 = call i32 @isatty(i32 noundef %978) #11
  %980 = icmp ne i32 %979, 0
  br i1 %980, label %981, label %998

981:                                              ; preds = %976
  %982 = load i32, ptr %8, align 4, !tbaa !5
  %983 = call ptr @__errno_location() #12
  store i32 %982, ptr %983, align 4, !tbaa !5
  %984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %985 = load i32, ptr @test_count, align 4, !tbaa !5
  %986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %987 = load i32, ptr %986, align 4, !tbaa !5
  %988 = call ptr @s2n_strerror(i32 noundef %987, ptr noundef @.str.25)
  %989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %990 = load i32, ptr %989, align 4, !tbaa !5
  %991 = call ptr @s2n_strerror_debug(i32 noundef %990, ptr noundef @.str.25)
  %992 = call ptr @__errno_location() #12
  %993 = load i32, ptr %992, align 4, !tbaa !5
  %994 = call ptr @strerror(i32 noundef %993) #11
  %995 = call ptr @__errno_location() #12
  %996 = load i32, ptr %995, align 4, !tbaa !5
  %997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %984, ptr noundef @.str.23, i32 noundef %985, ptr noundef @.str.28, ptr noundef @.str.22, i32 noundef 127, ptr noundef %988, ptr noundef %991, ptr noundef %994, i32 noundef %996) #11
  br label %1015

998:                                              ; preds = %976, %969
  %999 = load i32, ptr %8, align 4, !tbaa !5
  %1000 = call ptr @__errno_location() #12
  store i32 %999, ptr %1000, align 4, !tbaa !5
  %1001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1002 = load i32, ptr @test_count, align 4, !tbaa !5
  %1003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1004 = load i32, ptr %1003, align 4, !tbaa !5
  %1005 = call ptr @s2n_strerror(i32 noundef %1004, ptr noundef @.str.25)
  %1006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1007 = load i32, ptr %1006, align 4, !tbaa !5
  %1008 = call ptr @s2n_strerror_debug(i32 noundef %1007, ptr noundef @.str.25)
  %1009 = call ptr @__errno_location() #12
  %1010 = load i32, ptr %1009, align 4, !tbaa !5
  %1011 = call ptr @strerror(i32 noundef %1010) #11
  %1012 = call ptr @__errno_location() #12
  %1013 = load i32, ptr %1012, align 4, !tbaa !5
  %1014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1001, ptr noundef @.str.26, i32 noundef %1002, ptr noundef @.str.28, ptr noundef @.str.22, i32 noundef 127, ptr noundef %1005, ptr noundef %1008, ptr noundef %1011, i32 noundef %1013) #11
  br label %1015

1015:                                             ; preds = %998, %981
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %1016

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

1017:                                             ; No predecessors!
  br label %1018

1018:                                             ; preds = %1017, %964
  br label %1019

1019:                                             ; preds = %1018
  br label %1020

1020:                                             ; preds = %1019
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #11
  store ptr null, ptr %9, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #11
  store ptr null, ptr %10, align 8, !tbaa !9
  br label %1021

1021:                                             ; preds = %1020
  %1022 = load i32, ptr @test_count, align 4, !tbaa !5
  %1023 = add nsw i32 %1022, 1
  store i32 %1023, ptr @test_count, align 4, !tbaa !5
  %1024 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1024, ptr %10, align 8, !tbaa !9
  %1025 = icmp eq ptr %1024, null
  br i1 %1025, label %1026, label %1079

1026:                                             ; preds = %1021
  br label %1027

1027:                                             ; preds = %1026
  br label %1028

1028:                                             ; preds = %1027
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #11
  %1029 = call ptr @__errno_location() #12
  %1030 = load i32, ptr %1029, align 4, !tbaa !5
  store i32 %1030, ptr %11, align 4, !tbaa !5
  %1031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1032 = call i32 @s2n_print_stacktrace(ptr noundef %1031)
  %1033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1034 = trunc i8 %1033 to i1
  br i1 %1034, label %1035, label %1057

1035:                                             ; preds = %1028
  %1036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1037 = call i32 @fileno(ptr noundef %1036) #11
  %1038 = call i32 @isatty(i32 noundef %1037) #11
  %1039 = icmp ne i32 %1038, 0
  br i1 %1039, label %1040, label %1057

1040:                                             ; preds = %1035
  %1041 = load i32, ptr %11, align 4, !tbaa !5
  %1042 = call ptr @__errno_location() #12
  store i32 %1041, ptr %1042, align 4, !tbaa !5
  %1043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1044 = load i32, ptr @test_count, align 4, !tbaa !5
  %1045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1046 = load i32, ptr %1045, align 4, !tbaa !5
  %1047 = call ptr @s2n_strerror(i32 noundef %1046, ptr noundef @.str.25)
  %1048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1049 = load i32, ptr %1048, align 4, !tbaa !5
  %1050 = call ptr @s2n_strerror_debug(i32 noundef %1049, ptr noundef @.str.25)
  %1051 = call ptr @__errno_location() #12
  %1052 = load i32, ptr %1051, align 4, !tbaa !5
  %1053 = call ptr @strerror(i32 noundef %1052) #11
  %1054 = call ptr @__errno_location() #12
  %1055 = load i32, ptr %1054, align 4, !tbaa !5
  %1056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1043, ptr noundef @.str.23, i32 noundef %1044, ptr noundef @.str.29, ptr noundef @.str.22, i32 noundef 135, ptr noundef %1047, ptr noundef %1050, ptr noundef %1053, i32 noundef %1055) #11
  br label %1074

1057:                                             ; preds = %1035, %1028
  %1058 = load i32, ptr %11, align 4, !tbaa !5
  %1059 = call ptr @__errno_location() #12
  store i32 %1058, ptr %1059, align 4, !tbaa !5
  %1060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1061 = load i32, ptr @test_count, align 4, !tbaa !5
  %1062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1063 = load i32, ptr %1062, align 4, !tbaa !5
  %1064 = call ptr @s2n_strerror(i32 noundef %1063, ptr noundef @.str.25)
  %1065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1066 = load i32, ptr %1065, align 4, !tbaa !5
  %1067 = call ptr @s2n_strerror_debug(i32 noundef %1066, ptr noundef @.str.25)
  %1068 = call ptr @__errno_location() #12
  %1069 = load i32, ptr %1068, align 4, !tbaa !5
  %1070 = call ptr @strerror(i32 noundef %1069) #11
  %1071 = call ptr @__errno_location() #12
  %1072 = load i32, ptr %1071, align 4, !tbaa !5
  %1073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1060, ptr noundef @.str.26, i32 noundef %1061, ptr noundef @.str.29, ptr noundef @.str.22, i32 noundef 135, ptr noundef %1064, ptr noundef %1067, ptr noundef %1070, i32 noundef %1072) #11
  br label %1074

1074:                                             ; preds = %1057, %1040
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #11
  br label %1075

1075:                                             ; preds = %1074
  br label %1076

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

1077:                                             ; No predecessors!
  br label %1078

1078:                                             ; preds = %1077
  br label %1079

1079:                                             ; preds = %1078, %1021
  br label %1080

1080:                                             ; preds = %1079
  br label %1081

1081:                                             ; preds = %1080
  br label %1082

1082:                                             ; preds = %1081
  %1083 = load i32, ptr @test_count, align 4, !tbaa !5
  %1084 = add nsw i32 %1083, 1
  store i32 %1084, ptr @test_count, align 4, !tbaa !5
  %1085 = call ptr @s2n_config_new()
  store ptr %1085, ptr %9, align 8, !tbaa !9
  %1086 = icmp eq ptr %1085, null
  br i1 %1086, label %1087, label %1140

1087:                                             ; preds = %1082
  br label %1088

1088:                                             ; preds = %1087
  br label %1089

1089:                                             ; preds = %1088
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #11
  %1090 = call ptr @__errno_location() #12
  %1091 = load i32, ptr %1090, align 4, !tbaa !5
  store i32 %1091, ptr %12, align 4, !tbaa !5
  %1092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1093 = call i32 @s2n_print_stacktrace(ptr noundef %1092)
  %1094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1095 = trunc i8 %1094 to i1
  br i1 %1095, label %1096, label %1118

1096:                                             ; preds = %1089
  %1097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1098 = call i32 @fileno(ptr noundef %1097) #11
  %1099 = call i32 @isatty(i32 noundef %1098) #11
  %1100 = icmp ne i32 %1099, 0
  br i1 %1100, label %1101, label %1118

1101:                                             ; preds = %1096
  %1102 = load i32, ptr %12, align 4, !tbaa !5
  %1103 = call ptr @__errno_location() #12
  store i32 %1102, ptr %1103, align 4, !tbaa !5
  %1104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1105 = load i32, ptr @test_count, align 4, !tbaa !5
  %1106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1107 = load i32, ptr %1106, align 4, !tbaa !5
  %1108 = call ptr @s2n_strerror(i32 noundef %1107, ptr noundef @.str.25)
  %1109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1110 = load i32, ptr %1109, align 4, !tbaa !5
  %1111 = call ptr @s2n_strerror_debug(i32 noundef %1110, ptr noundef @.str.25)
  %1112 = call ptr @__errno_location() #12
  %1113 = load i32, ptr %1112, align 4, !tbaa !5
  %1114 = call ptr @strerror(i32 noundef %1113) #11
  %1115 = call ptr @__errno_location() #12
  %1116 = load i32, ptr %1115, align 4, !tbaa !5
  %1117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1104, ptr noundef @.str.23, i32 noundef %1105, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 136, ptr noundef %1108, ptr noundef %1111, ptr noundef %1114, i32 noundef %1116) #11
  br label %1135

1118:                                             ; preds = %1096, %1089
  %1119 = load i32, ptr %12, align 4, !tbaa !5
  %1120 = call ptr @__errno_location() #12
  store i32 %1119, ptr %1120, align 4, !tbaa !5
  %1121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1122 = load i32, ptr @test_count, align 4, !tbaa !5
  %1123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1124 = load i32, ptr %1123, align 4, !tbaa !5
  %1125 = call ptr @s2n_strerror(i32 noundef %1124, ptr noundef @.str.25)
  %1126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1127 = load i32, ptr %1126, align 4, !tbaa !5
  %1128 = call ptr @s2n_strerror_debug(i32 noundef %1127, ptr noundef @.str.25)
  %1129 = call ptr @__errno_location() #12
  %1130 = load i32, ptr %1129, align 4, !tbaa !5
  %1131 = call ptr @strerror(i32 noundef %1130) #11
  %1132 = call ptr @__errno_location() #12
  %1133 = load i32, ptr %1132, align 4, !tbaa !5
  %1134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1121, ptr noundef @.str.26, i32 noundef %1122, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 136, ptr noundef %1125, ptr noundef %1128, ptr noundef %1131, i32 noundef %1133) #11
  br label %1135

1135:                                             ; preds = %1118, %1101
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  br label %1136

1136:                                             ; preds = %1135
  br label %1137

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

1138:                                             ; No predecessors!
  br label %1139

1139:                                             ; preds = %1138
  br label %1140

1140:                                             ; preds = %1139, %1082
  br label %1141

1141:                                             ; preds = %1140
  br label %1142

1142:                                             ; preds = %1141
  store i64 0, ptr @mock_current_time, align 8, !tbaa !15
  br label %1143

1143:                                             ; preds = %1142
  %1144 = load i32, ptr @test_count, align 4, !tbaa !5
  %1145 = add nsw i32 %1144, 1
  store i32 %1145, ptr @test_count, align 4, !tbaa !5
  %1146 = load ptr, ptr %9, align 8, !tbaa !9
  %1147 = call i32 @s2n_config_set_wall_clock(ptr noundef %1146, ptr noundef @mock_time, ptr noundef null)
  %1148 = icmp eq i32 %1147, -1
  br i1 %1148, label %1149, label %1202

1149:                                             ; preds = %1143
  br label %1150

1150:                                             ; preds = %1149
  br label %1151

1151:                                             ; preds = %1150
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  %1152 = call ptr @__errno_location() #12
  %1153 = load i32, ptr %1152, align 4, !tbaa !5
  store i32 %1153, ptr %13, align 4, !tbaa !5
  %1154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1155 = call i32 @s2n_print_stacktrace(ptr noundef %1154)
  %1156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1157 = trunc i8 %1156 to i1
  br i1 %1157, label %1158, label %1180

1158:                                             ; preds = %1151
  %1159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1160 = call i32 @fileno(ptr noundef %1159) #11
  %1161 = call i32 @isatty(i32 noundef %1160) #11
  %1162 = icmp ne i32 %1161, 0
  br i1 %1162, label %1163, label %1180

1163:                                             ; preds = %1158
  %1164 = load i32, ptr %13, align 4, !tbaa !5
  %1165 = call ptr @__errno_location() #12
  store i32 %1164, ptr %1165, align 4, !tbaa !5
  %1166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1167 = load i32, ptr @test_count, align 4, !tbaa !5
  %1168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1169 = load i32, ptr %1168, align 4, !tbaa !5
  %1170 = call ptr @s2n_strerror(i32 noundef %1169, ptr noundef @.str.25)
  %1171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  %1173 = call ptr @s2n_strerror_debug(i32 noundef %1172, ptr noundef @.str.25)
  %1174 = call ptr @__errno_location() #12
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = call ptr @strerror(i32 noundef %1175) #11
  %1177 = call ptr @__errno_location() #12
  %1178 = load i32, ptr %1177, align 4, !tbaa !5
  %1179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1166, ptr noundef @.str.23, i32 noundef %1167, ptr noundef @.str.31, ptr noundef @.str.22, i32 noundef 139, ptr noundef %1170, ptr noundef %1173, ptr noundef %1176, i32 noundef %1178) #11
  br label %1197

1180:                                             ; preds = %1158, %1151
  %1181 = load i32, ptr %13, align 4, !tbaa !5
  %1182 = call ptr @__errno_location() #12
  store i32 %1181, ptr %1182, align 4, !tbaa !5
  %1183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1184 = load i32, ptr @test_count, align 4, !tbaa !5
  %1185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1186 = load i32, ptr %1185, align 4, !tbaa !5
  %1187 = call ptr @s2n_strerror(i32 noundef %1186, ptr noundef @.str.25)
  %1188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1189 = load i32, ptr %1188, align 4, !tbaa !5
  %1190 = call ptr @s2n_strerror_debug(i32 noundef %1189, ptr noundef @.str.25)
  %1191 = call ptr @__errno_location() #12
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call ptr @strerror(i32 noundef %1192) #11
  %1194 = call ptr @__errno_location() #12
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  %1196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1183, ptr noundef @.str.26, i32 noundef %1184, ptr noundef @.str.31, ptr noundef @.str.22, i32 noundef 139, ptr noundef %1187, ptr noundef %1190, ptr noundef %1193, i32 noundef %1195) #11
  br label %1197

1197:                                             ; preds = %1180, %1163
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  br label %1198

1198:                                             ; preds = %1197
  br label %1199

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

1200:                                             ; No predecessors!
  br label %1201

1201:                                             ; preds = %1200
  br label %1202

1202:                                             ; preds = %1201, %1143
  br label %1203

1203:                                             ; preds = %1202
  br label %1204

1204:                                             ; preds = %1203
  br label %1205

1205:                                             ; preds = %1204
  %1206 = load i32, ptr @test_count, align 4, !tbaa !5
  %1207 = add nsw i32 %1206, 1
  store i32 %1207, ptr @test_count, align 4, !tbaa !5
  %1208 = load ptr, ptr %9, align 8, !tbaa !9
  %1209 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %1208)
  %1210 = getelementptr inbounds %struct.s2n_result, ptr %14, i32 0, i32 0
  store i32 %1209, ptr %1210, align 4
  %1211 = getelementptr inbounds %struct.s2n_result, ptr %14, i32 0, i32 0
  %1212 = load i32, ptr %1211, align 4
  %1213 = call zeroext i1 @s2n_result_is_ok(i32 %1212)
  br i1 %1213, label %1267, label %1214

1214:                                             ; preds = %1205
  br label %1215

1215:                                             ; preds = %1214
  br label %1216

1216:                                             ; preds = %1215
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #11
  %1217 = call ptr @__errno_location() #12
  %1218 = load i32, ptr %1217, align 4, !tbaa !5
  store i32 %1218, ptr %15, align 4, !tbaa !5
  %1219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1220 = call i32 @s2n_print_stacktrace(ptr noundef %1219)
  %1221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1222 = trunc i8 %1221 to i1
  br i1 %1222, label %1223, label %1245

1223:                                             ; preds = %1216
  %1224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1225 = call i32 @fileno(ptr noundef %1224) #11
  %1226 = call i32 @isatty(i32 noundef %1225) #11
  %1227 = icmp ne i32 %1226, 0
  br i1 %1227, label %1228, label %1245

1228:                                             ; preds = %1223
  %1229 = load i32, ptr %15, align 4, !tbaa !5
  %1230 = call ptr @__errno_location() #12
  store i32 %1229, ptr %1230, align 4, !tbaa !5
  %1231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1232 = load i32, ptr @test_count, align 4, !tbaa !5
  %1233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1234 = load i32, ptr %1233, align 4, !tbaa !5
  %1235 = call ptr @s2n_strerror(i32 noundef %1234, ptr noundef @.str.25)
  %1236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1237 = load i32, ptr %1236, align 4, !tbaa !5
  %1238 = call ptr @s2n_strerror_debug(i32 noundef %1237, ptr noundef @.str.25)
  %1239 = call ptr @__errno_location() #12
  %1240 = load i32, ptr %1239, align 4, !tbaa !5
  %1241 = call ptr @strerror(i32 noundef %1240) #11
  %1242 = call ptr @__errno_location() #12
  %1243 = load i32, ptr %1242, align 4, !tbaa !5
  %1244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1231, ptr noundef @.str.23, i32 noundef %1232, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 141, ptr noundef %1235, ptr noundef %1238, ptr noundef %1241, i32 noundef %1243) #11
  br label %1262

1245:                                             ; preds = %1223, %1216
  %1246 = load i32, ptr %15, align 4, !tbaa !5
  %1247 = call ptr @__errno_location() #12
  store i32 %1246, ptr %1247, align 4, !tbaa !5
  %1248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1249 = load i32, ptr @test_count, align 4, !tbaa !5
  %1250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1251 = load i32, ptr %1250, align 4, !tbaa !5
  %1252 = call ptr @s2n_strerror(i32 noundef %1251, ptr noundef @.str.25)
  %1253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1254 = load i32, ptr %1253, align 4, !tbaa !5
  %1255 = call ptr @s2n_strerror_debug(i32 noundef %1254, ptr noundef @.str.25)
  %1256 = call ptr @__errno_location() #12
  %1257 = load i32, ptr %1256, align 4, !tbaa !5
  %1258 = call ptr @strerror(i32 noundef %1257) #11
  %1259 = call ptr @__errno_location() #12
  %1260 = load i32, ptr %1259, align 4, !tbaa !5
  %1261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1248, ptr noundef @.str.26, i32 noundef %1249, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 141, ptr noundef %1252, ptr noundef %1255, ptr noundef %1258, i32 noundef %1260) #11
  br label %1262

1262:                                             ; preds = %1245, %1228
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %1263

1263:                                             ; preds = %1262
  br label %1264

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

1265:                                             ; No predecessors!
  br label %1266

1266:                                             ; preds = %1265
  br label %1267

1267:                                             ; preds = %1266, %1205
  br label %1268

1268:                                             ; preds = %1267
  br label %1269

1269:                                             ; preds = %1268
  br label %1270

1270:                                             ; preds = %1269
  %1271 = load i32, ptr @test_count, align 4, !tbaa !5
  %1272 = add nsw i32 %1271, 1
  store i32 %1272, ptr @test_count, align 4, !tbaa !5
  %1273 = load ptr, ptr %10, align 8, !tbaa !9
  %1274 = load ptr, ptr %9, align 8, !tbaa !9
  %1275 = call i32 @s2n_connection_set_config(ptr noundef %1273, ptr noundef %1274)
  %1276 = icmp eq i32 %1275, -1
  br i1 %1276, label %1277, label %1330

1277:                                             ; preds = %1270
  br label %1278

1278:                                             ; preds = %1277
  br label %1279

1279:                                             ; preds = %1278
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #11
  %1280 = call ptr @__errno_location() #12
  %1281 = load i32, ptr %1280, align 4, !tbaa !5
  store i32 %1281, ptr %16, align 4, !tbaa !5
  %1282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1283 = call i32 @s2n_print_stacktrace(ptr noundef %1282)
  %1284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1285 = trunc i8 %1284 to i1
  br i1 %1285, label %1286, label %1308

1286:                                             ; preds = %1279
  %1287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1288 = call i32 @fileno(ptr noundef %1287) #11
  %1289 = call i32 @isatty(i32 noundef %1288) #11
  %1290 = icmp ne i32 %1289, 0
  br i1 %1290, label %1291, label %1308

1291:                                             ; preds = %1286
  %1292 = load i32, ptr %16, align 4, !tbaa !5
  %1293 = call ptr @__errno_location() #12
  store i32 %1292, ptr %1293, align 4, !tbaa !5
  %1294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1297 = load i32, ptr %1296, align 4, !tbaa !5
  %1298 = call ptr @s2n_strerror(i32 noundef %1297, ptr noundef @.str.25)
  %1299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1300 = load i32, ptr %1299, align 4, !tbaa !5
  %1301 = call ptr @s2n_strerror_debug(i32 noundef %1300, ptr noundef @.str.25)
  %1302 = call ptr @__errno_location() #12
  %1303 = load i32, ptr %1302, align 4, !tbaa !5
  %1304 = call ptr @strerror(i32 noundef %1303) #11
  %1305 = call ptr @__errno_location() #12
  %1306 = load i32, ptr %1305, align 4, !tbaa !5
  %1307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1294, ptr noundef @.str.23, i32 noundef %1295, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 142, ptr noundef %1298, ptr noundef %1301, ptr noundef %1304, i32 noundef %1306) #11
  br label %1325

1308:                                             ; preds = %1286, %1279
  %1309 = load i32, ptr %16, align 4, !tbaa !5
  %1310 = call ptr @__errno_location() #12
  store i32 %1309, ptr %1310, align 4, !tbaa !5
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = load i32, ptr @test_count, align 4, !tbaa !5
  %1313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1314 = load i32, ptr %1313, align 4, !tbaa !5
  %1315 = call ptr @s2n_strerror(i32 noundef %1314, ptr noundef @.str.25)
  %1316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1317 = load i32, ptr %1316, align 4, !tbaa !5
  %1318 = call ptr @s2n_strerror_debug(i32 noundef %1317, ptr noundef @.str.25)
  %1319 = call ptr @__errno_location() #12
  %1320 = load i32, ptr %1319, align 4, !tbaa !5
  %1321 = call ptr @strerror(i32 noundef %1320) #11
  %1322 = call ptr @__errno_location() #12
  %1323 = load i32, ptr %1322, align 4, !tbaa !5
  %1324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1311, ptr noundef @.str.26, i32 noundef %1312, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 142, ptr noundef %1315, ptr noundef %1318, ptr noundef %1321, i32 noundef %1323) #11
  br label %1325

1325:                                             ; preds = %1308, %1291
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  br label %1326

1326:                                             ; preds = %1325
  br label %1327

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

1328:                                             ; No predecessors!
  br label %1329

1329:                                             ; preds = %1328
  br label %1330

1330:                                             ; preds = %1329, %1270
  br label %1331

1331:                                             ; preds = %1330
  br label %1332

1332:                                             ; preds = %1331
  %1333 = load ptr, ptr %10, align 8, !tbaa !9
  %1334 = getelementptr inbounds %struct.s2n_connection, ptr %1333, i32 0, i32 23
  store i8 34, ptr %1334, align 4, !tbaa !17
  %1335 = load ptr, ptr %10, align 8, !tbaa !9
  %1336 = getelementptr inbounds %struct.s2n_connection, ptr %1335, i32 0, i32 27
  %1337 = load ptr, ptr %1336, align 8, !tbaa !43
  %1338 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %1337, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %1338, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 2, ptr %17) #11
  store i16 10, ptr %17, align 2, !tbaa !49
  %1339 = load i16, ptr %17, align 2, !tbaa !49
  %1340 = load ptr, ptr %10, align 8, !tbaa !9
  %1341 = getelementptr inbounds %struct.s2n_connection, ptr %1340, i32 0, i32 88
  store i16 %1339, ptr %1341, align 2, !tbaa !50
  call void @llvm.lifetime.start.p0(i64 40, ptr %18) #11
  call void @llvm.memset.p0.i64(ptr align 8 %18, i8 0, i64 40, i1 false)
  br label %1342

1342:                                             ; preds = %1332
  %1343 = load i32, ptr @test_count, align 4, !tbaa !5
  %1344 = add nsw i32 %1343, 1
  store i32 %1344, ptr @test_count, align 4, !tbaa !5
  %1345 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %18, i32 noundef 0)
  %1346 = icmp eq i32 %1345, -1
  br i1 %1346, label %1347, label %1400

1347:                                             ; preds = %1342
  br label %1348

1348:                                             ; preds = %1347
  br label %1349

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

1356:                                             ; preds = %1349
  %1357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1358 = call i32 @fileno(ptr noundef %1357) #11
  %1359 = call i32 @isatty(i32 noundef %1358) #11
  %1360 = icmp ne i32 %1359, 0
  br i1 %1360, label %1361, label %1378

1361:                                             ; preds = %1356
  %1362 = load i32, ptr %19, align 4, !tbaa !5
  %1363 = call ptr @__errno_location() #12
  store i32 %1362, ptr %1363, align 4, !tbaa !5
  %1364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1365 = load i32, ptr @test_count, align 4, !tbaa !5
  %1366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1367 = load i32, ptr %1366, align 4, !tbaa !5
  %1368 = call ptr @s2n_strerror(i32 noundef %1367, ptr noundef @.str.25)
  %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_debug(i32 noundef %1370, ptr noundef @.str.25)
  %1372 = call ptr @__errno_location() #12
  %1373 = load i32, ptr %1372, align 4, !tbaa !5
  %1374 = call ptr @strerror(i32 noundef %1373) #11
  %1375 = call ptr @__errno_location() #12
  %1376 = load i32, ptr %1375, align 4, !tbaa !5
  %1377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1364, ptr noundef @.str.23, i32 noundef %1365, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 151, ptr noundef %1368, ptr noundef %1371, ptr noundef %1374, i32 noundef %1376) #11
  br label %1395

1378:                                             ; preds = %1356, %1349
  %1379 = load i32, ptr %19, align 4, !tbaa !5
  %1380 = call ptr @__errno_location() #12
  store i32 %1379, ptr %1380, align 4, !tbaa !5
  %1381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1382 = load i32, ptr @test_count, align 4, !tbaa !5
  %1383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1384 = load i32, ptr %1383, align 4, !tbaa !5
  %1385 = call ptr @s2n_strerror(i32 noundef %1384, ptr noundef @.str.25)
  %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_debug(i32 noundef %1387, ptr noundef @.str.25)
  %1389 = call ptr @__errno_location() #12
  %1390 = load i32, ptr %1389, align 4, !tbaa !5
  %1391 = call ptr @strerror(i32 noundef %1390) #11
  %1392 = call ptr @__errno_location() #12
  %1393 = load i32, ptr %1392, align 4, !tbaa !5
  %1394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1381, ptr noundef @.str.26, i32 noundef %1382, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 151, ptr noundef %1385, ptr noundef %1388, ptr noundef %1391, i32 noundef %1393) #11
  br label %1395

1395:                                             ; preds = %1378, %1361
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %1396

1396:                                             ; preds = %1395
  br label %1397

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

1398:                                             ; No predecessors!
  br label %1399

1399:                                             ; preds = %1398
  br label %1400

1400:                                             ; preds = %1399, %1342
  br label %1401

1401:                                             ; preds = %1400
  br label %1402

1402:                                             ; preds = %1401
  br label %1403

1403:                                             ; preds = %1402
  %1404 = load i32, ptr @test_count, align 4, !tbaa !5
  %1405 = add nsw i32 %1404, 1
  store i32 %1405, ptr @test_count, align 4, !tbaa !5
  %1406 = load ptr, ptr %10, align 8, !tbaa !9
  %1407 = call i32 @s2n_tls13_server_nst_write(ptr noundef %1406, ptr noundef %18)
  %1408 = getelementptr inbounds %struct.s2n_result, ptr %20, i32 0, i32 0
  store i32 %1407, ptr %1408, align 4
  %1409 = getelementptr inbounds %struct.s2n_result, ptr %20, i32 0, i32 0
  %1410 = load i32, ptr %1409, align 4
  %1411 = call zeroext i1 @s2n_result_is_ok(i32 %1410)
  br i1 %1411, label %1465, label %1412

1412:                                             ; preds = %1403
  br label %1413

1413:                                             ; preds = %1412
  br label %1414

1414:                                             ; preds = %1413
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #11
  %1415 = call ptr @__errno_location() #12
  %1416 = load i32, ptr %1415, align 4, !tbaa !5
  store i32 %1416, ptr %21, align 4, !tbaa !5
  %1417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1418 = call i32 @s2n_print_stacktrace(ptr noundef %1417)
  %1419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1420 = trunc i8 %1419 to i1
  br i1 %1420, label %1421, label %1443

1421:                                             ; preds = %1414
  %1422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1423 = call i32 @fileno(ptr noundef %1422) #11
  %1424 = call i32 @isatty(i32 noundef %1423) #11
  %1425 = icmp ne i32 %1424, 0
  br i1 %1425, label %1426, label %1443

1426:                                             ; preds = %1421
  %1427 = load i32, ptr %21, align 4, !tbaa !5
  %1428 = call ptr @__errno_location() #12
  store i32 %1427, ptr %1428, align 4, !tbaa !5
  %1429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1430 = load i32, ptr @test_count, align 4, !tbaa !5
  %1431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1432 = load i32, ptr %1431, align 4, !tbaa !5
  %1433 = call ptr @s2n_strerror(i32 noundef %1432, ptr noundef @.str.25)
  %1434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1435 = load i32, ptr %1434, align 4, !tbaa !5
  %1436 = call ptr @s2n_strerror_debug(i32 noundef %1435, ptr noundef @.str.25)
  %1437 = call ptr @__errno_location() #12
  %1438 = load i32, ptr %1437, align 4, !tbaa !5
  %1439 = call ptr @strerror(i32 noundef %1438) #11
  %1440 = call ptr @__errno_location() #12
  %1441 = load i32, ptr %1440, align 4, !tbaa !5
  %1442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1429, ptr noundef @.str.23, i32 noundef %1430, ptr noundef @.str.35, ptr noundef @.str.22, i32 noundef 153, ptr noundef %1433, ptr noundef %1436, ptr noundef %1439, i32 noundef %1441) #11
  br label %1460

1443:                                             ; preds = %1421, %1414
  %1444 = load i32, ptr %21, align 4, !tbaa !5
  %1445 = call ptr @__errno_location() #12
  store i32 %1444, ptr %1445, align 4, !tbaa !5
  %1446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1447 = load i32, ptr @test_count, align 4, !tbaa !5
  %1448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1449 = load i32, ptr %1448, align 4, !tbaa !5
  %1450 = call ptr @s2n_strerror(i32 noundef %1449, ptr noundef @.str.25)
  %1451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1452 = load i32, ptr %1451, align 4, !tbaa !5
  %1453 = call ptr @s2n_strerror_debug(i32 noundef %1452, ptr noundef @.str.25)
  %1454 = call ptr @__errno_location() #12
  %1455 = load i32, ptr %1454, align 4, !tbaa !5
  %1456 = call ptr @strerror(i32 noundef %1455) #11
  %1457 = call ptr @__errno_location() #12
  %1458 = load i32, ptr %1457, align 4, !tbaa !5
  %1459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1446, ptr noundef @.str.26, i32 noundef %1447, ptr noundef @.str.35, ptr noundef @.str.22, i32 noundef 153, ptr noundef %1450, ptr noundef %1453, ptr noundef %1456, i32 noundef %1458) #11
  br label %1460

1460:                                             ; preds = %1443, %1426
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  br label %1461

1461:                                             ; preds = %1460
  br label %1462

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

1463:                                             ; No predecessors!
  br label %1464

1464:                                             ; preds = %1463
  br label %1465

1465:                                             ; preds = %1464, %1403
  br label %1466

1466:                                             ; preds = %1465
  br label %1467

1467:                                             ; preds = %1466
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #11
  store i8 0, ptr %22, align 1, !tbaa !51
  br label %1468

1468:                                             ; preds = %1467
  %1469 = load i32, ptr @test_count, align 4, !tbaa !5
  %1470 = add nsw i32 %1469, 1
  store i32 %1470, ptr @test_count, align 4, !tbaa !5
  %1471 = call i32 @s2n_stuffer_read_uint8(ptr noundef %18, ptr noundef %22)
  %1472 = icmp eq i32 %1471, -1
  br i1 %1472, label %1473, label %1526

1473:                                             ; preds = %1468
  br label %1474

1474:                                             ; preds = %1473
  br label %1475

1475:                                             ; preds = %1474
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  %1476 = call ptr @__errno_location() #12
  %1477 = load i32, ptr %1476, align 4, !tbaa !5
  store i32 %1477, ptr %23, align 4, !tbaa !5
  %1478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1479 = call i32 @s2n_print_stacktrace(ptr noundef %1478)
  %1480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1481 = trunc i8 %1480 to i1
  br i1 %1481, label %1482, label %1504

1482:                                             ; preds = %1475
  %1483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1484 = call i32 @fileno(ptr noundef %1483) #11
  %1485 = call i32 @isatty(i32 noundef %1484) #11
  %1486 = icmp ne i32 %1485, 0
  br i1 %1486, label %1487, label %1504

1487:                                             ; preds = %1482
  %1488 = load i32, ptr %23, align 4, !tbaa !5
  %1489 = call ptr @__errno_location() #12
  store i32 %1488, ptr %1489, align 4, !tbaa !5
  %1490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1491 = load i32, ptr @test_count, align 4, !tbaa !5
  %1492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1493 = load i32, ptr %1492, align 4, !tbaa !5
  %1494 = call ptr @s2n_strerror(i32 noundef %1493, ptr noundef @.str.25)
  %1495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1496 = load i32, ptr %1495, align 4, !tbaa !5
  %1497 = call ptr @s2n_strerror_debug(i32 noundef %1496, ptr noundef @.str.25)
  %1498 = call ptr @__errno_location() #12
  %1499 = load i32, ptr %1498, align 4, !tbaa !5
  %1500 = call ptr @strerror(i32 noundef %1499) #11
  %1501 = call ptr @__errno_location() #12
  %1502 = load i32, ptr %1501, align 4, !tbaa !5
  %1503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1490, ptr noundef @.str.23, i32 noundef %1491, ptr noundef @.str.36, ptr noundef @.str.22, i32 noundef 156, ptr noundef %1494, ptr noundef %1497, ptr noundef %1500, i32 noundef %1502) #11
  br label %1521

1504:                                             ; preds = %1482, %1475
  %1505 = load i32, ptr %23, align 4, !tbaa !5
  %1506 = call ptr @__errno_location() #12
  store i32 %1505, ptr %1506, align 4, !tbaa !5
  %1507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1508 = load i32, ptr @test_count, align 4, !tbaa !5
  %1509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1510 = load i32, ptr %1509, align 4, !tbaa !5
  %1511 = call ptr @s2n_strerror(i32 noundef %1510, ptr noundef @.str.25)
  %1512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1513 = load i32, ptr %1512, align 4, !tbaa !5
  %1514 = call ptr @s2n_strerror_debug(i32 noundef %1513, ptr noundef @.str.25)
  %1515 = call ptr @__errno_location() #12
  %1516 = load i32, ptr %1515, align 4, !tbaa !5
  %1517 = call ptr @strerror(i32 noundef %1516) #11
  %1518 = call ptr @__errno_location() #12
  %1519 = load i32, ptr %1518, align 4, !tbaa !5
  %1520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1507, ptr noundef @.str.26, i32 noundef %1508, ptr noundef @.str.36, ptr noundef @.str.22, i32 noundef 156, ptr noundef %1511, ptr noundef %1514, ptr noundef %1517, i32 noundef %1519) #11
  br label %1521

1521:                                             ; preds = %1504, %1487
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  br label %1522

1522:                                             ; preds = %1521
  br label %1523

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

1524:                                             ; No predecessors!
  br label %1525

1525:                                             ; preds = %1524
  br label %1526

1526:                                             ; preds = %1525, %1468
  br label %1527

1527:                                             ; preds = %1526
  br label %1528

1528:                                             ; preds = %1527
  br label %1529

1529:                                             ; preds = %1528
  %1530 = load i32, ptr @test_count, align 4, !tbaa !5
  %1531 = add nsw i32 %1530, 1
  store i32 %1531, ptr @test_count, align 4, !tbaa !5
  %1532 = load i8, ptr %22, align 1, !tbaa !51
  %1533 = zext i8 %1532 to i32
  %1534 = icmp eq i32 4, %1533
  br i1 %1534, label %1588, label %1535

1535:                                             ; preds = %1529
  br label %1536

1536:                                             ; preds = %1535
  br label %1537

1537:                                             ; preds = %1536
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #11
  %1538 = call ptr @__errno_location() #12
  %1539 = load i32, ptr %1538, align 4, !tbaa !5
  store i32 %1539, ptr %24, align 4, !tbaa !5
  %1540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1541 = call i32 @s2n_print_stacktrace(ptr noundef %1540)
  %1542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1543 = trunc i8 %1542 to i1
  br i1 %1543, label %1544, label %1566

1544:                                             ; preds = %1537
  %1545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1546 = call i32 @fileno(ptr noundef %1545) #11
  %1547 = call i32 @isatty(i32 noundef %1546) #11
  %1548 = icmp ne i32 %1547, 0
  br i1 %1548, label %1549, label %1566

1549:                                             ; preds = %1544
  %1550 = load i32, ptr %24, align 4, !tbaa !5
  %1551 = call ptr @__errno_location() #12
  store i32 %1550, ptr %1551, align 4, !tbaa !5
  %1552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1553 = load i32, ptr @test_count, align 4, !tbaa !5
  %1554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1555 = load i32, ptr %1554, align 4, !tbaa !5
  %1556 = call ptr @s2n_strerror(i32 noundef %1555, ptr noundef @.str.25)
  %1557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1558 = load i32, ptr %1557, align 4, !tbaa !5
  %1559 = call ptr @s2n_strerror_debug(i32 noundef %1558, ptr noundef @.str.25)
  %1560 = call ptr @__errno_location() #12
  %1561 = load i32, ptr %1560, align 4, !tbaa !5
  %1562 = call ptr @strerror(i32 noundef %1561) #11
  %1563 = call ptr @__errno_location() #12
  %1564 = load i32, ptr %1563, align 4, !tbaa !5
  %1565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1552, ptr noundef @.str.23, i32 noundef %1553, ptr noundef @.str.37, ptr noundef @.str.22, i32 noundef 157, ptr noundef %1556, ptr noundef %1559, ptr noundef %1562, i32 noundef %1564) #11
  br label %1583

1566:                                             ; preds = %1544, %1537
  %1567 = load i32, ptr %24, align 4, !tbaa !5
  %1568 = call ptr @__errno_location() #12
  store i32 %1567, ptr %1568, align 4, !tbaa !5
  %1569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1570 = load i32, ptr @test_count, align 4, !tbaa !5
  %1571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1572 = load i32, ptr %1571, align 4, !tbaa !5
  %1573 = call ptr @s2n_strerror(i32 noundef %1572, ptr noundef @.str.25)
  %1574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1575 = load i32, ptr %1574, align 4, !tbaa !5
  %1576 = call ptr @s2n_strerror_debug(i32 noundef %1575, ptr noundef @.str.25)
  %1577 = call ptr @__errno_location() #12
  %1578 = load i32, ptr %1577, align 4, !tbaa !5
  %1579 = call ptr @strerror(i32 noundef %1578) #11
  %1580 = call ptr @__errno_location() #12
  %1581 = load i32, ptr %1580, align 4, !tbaa !5
  %1582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1569, ptr noundef @.str.26, i32 noundef %1570, ptr noundef @.str.37, ptr noundef @.str.22, i32 noundef 157, ptr noundef %1573, ptr noundef %1576, ptr noundef %1579, i32 noundef %1581) #11
  br label %1583

1583:                                             ; preds = %1566, %1549
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %1584

1584:                                             ; preds = %1583
  br label %1585

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

1586:                                             ; No predecessors!
  br label %1587

1587:                                             ; preds = %1586
  br label %1588

1588:                                             ; preds = %1587, %1529
  br label %1589

1589:                                             ; preds = %1588
  br label %1590

1590:                                             ; preds = %1589
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #11
  store i32 0, ptr %25, align 4, !tbaa !5
  br label %1591

1591:                                             ; preds = %1590
  %1592 = load i32, ptr @test_count, align 4, !tbaa !5
  %1593 = add nsw i32 %1592, 1
  store i32 %1593, ptr @test_count, align 4, !tbaa !5
  %1594 = call i32 @s2n_stuffer_read_uint24(ptr noundef %18, ptr noundef %25)
  %1595 = icmp eq i32 %1594, -1
  br i1 %1595, label %1596, label %1649

1596:                                             ; preds = %1591
  br label %1597

1597:                                             ; preds = %1596
  br label %1598

1598:                                             ; preds = %1597
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #11
  %1599 = call ptr @__errno_location() #12
  %1600 = load i32, ptr %1599, align 4, !tbaa !5
  store i32 %1600, ptr %26, align 4, !tbaa !5
  %1601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1602 = call i32 @s2n_print_stacktrace(ptr noundef %1601)
  %1603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1604 = trunc i8 %1603 to i1
  br i1 %1604, label %1605, label %1627

1605:                                             ; preds = %1598
  %1606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1607 = call i32 @fileno(ptr noundef %1606) #11
  %1608 = call i32 @isatty(i32 noundef %1607) #11
  %1609 = icmp ne i32 %1608, 0
  br i1 %1609, label %1610, label %1627

1610:                                             ; preds = %1605
  %1611 = load i32, ptr %26, align 4, !tbaa !5
  %1612 = call ptr @__errno_location() #12
  store i32 %1611, ptr %1612, align 4, !tbaa !5
  %1613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1614 = load i32, ptr @test_count, align 4, !tbaa !5
  %1615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1616 = load i32, ptr %1615, align 4, !tbaa !5
  %1617 = call ptr @s2n_strerror(i32 noundef %1616, ptr noundef @.str.25)
  %1618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1619 = load i32, ptr %1618, align 4, !tbaa !5
  %1620 = call ptr @s2n_strerror_debug(i32 noundef %1619, ptr noundef @.str.25)
  %1621 = call ptr @__errno_location() #12
  %1622 = load i32, ptr %1621, align 4, !tbaa !5
  %1623 = call ptr @strerror(i32 noundef %1622) #11
  %1624 = call ptr @__errno_location() #12
  %1625 = load i32, ptr %1624, align 4, !tbaa !5
  %1626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1613, ptr noundef @.str.23, i32 noundef %1614, ptr noundef @.str.38, ptr noundef @.str.22, i32 noundef 160, ptr noundef %1617, ptr noundef %1620, ptr noundef %1623, i32 noundef %1625) #11
  br label %1644

1627:                                             ; preds = %1605, %1598
  %1628 = load i32, ptr %26, align 4, !tbaa !5
  %1629 = call ptr @__errno_location() #12
  store i32 %1628, ptr %1629, align 4, !tbaa !5
  %1630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1631 = load i32, ptr @test_count, align 4, !tbaa !5
  %1632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1633 = load i32, ptr %1632, align 4, !tbaa !5
  %1634 = call ptr @s2n_strerror(i32 noundef %1633, ptr noundef @.str.25)
  %1635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1636 = load i32, ptr %1635, align 4, !tbaa !5
  %1637 = call ptr @s2n_strerror_debug(i32 noundef %1636, ptr noundef @.str.25)
  %1638 = call ptr @__errno_location() #12
  %1639 = load i32, ptr %1638, align 4, !tbaa !5
  %1640 = call ptr @strerror(i32 noundef %1639) #11
  %1641 = call ptr @__errno_location() #12
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  %1643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1630, ptr noundef @.str.26, i32 noundef %1631, ptr noundef @.str.38, ptr noundef @.str.22, i32 noundef 160, ptr noundef %1634, ptr noundef %1637, ptr noundef %1640, i32 noundef %1642) #11
  br label %1644

1644:                                             ; preds = %1627, %1610
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  br label %1645

1645:                                             ; preds = %1644
  br label %1646

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

1647:                                             ; No predecessors!
  br label %1648

1648:                                             ; preds = %1647
  br label %1649

1649:                                             ; preds = %1648, %1591
  br label %1650

1650:                                             ; preds = %1649
  br label %1651

1651:                                             ; preds = %1650
  br label %1652

1652:                                             ; preds = %1651
  %1653 = load i32, ptr @test_count, align 4, !tbaa !5
  %1654 = add nsw i32 %1653, 1
  store i32 %1654, ptr @test_count, align 4, !tbaa !5
  %1655 = load i32, ptr %25, align 4, !tbaa !5
  %1656 = getelementptr inbounds %struct.s2n_stuffer, ptr %18, i32 0, i32 2
  %1657 = load i32, ptr %1656, align 4, !tbaa !52
  %1658 = getelementptr inbounds %struct.s2n_stuffer, ptr %18, i32 0, i32 1
  %1659 = load i32, ptr %1658, align 8, !tbaa !53
  %1660 = sub i32 %1657, %1659
  %1661 = icmp eq i32 %1655, %1660
  br i1 %1661, label %1715, label %1662

1662:                                             ; preds = %1652
  br label %1663

1663:                                             ; preds = %1662
  br label %1664

1664:                                             ; preds = %1663
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #11
  %1665 = call ptr @__errno_location() #12
  %1666 = load i32, ptr %1665, align 4, !tbaa !5
  store i32 %1666, ptr %27, align 4, !tbaa !5
  %1667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1668 = call i32 @s2n_print_stacktrace(ptr noundef %1667)
  %1669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1670 = trunc i8 %1669 to i1
  br i1 %1670, label %1671, label %1693

1671:                                             ; preds = %1664
  %1672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1673 = call i32 @fileno(ptr noundef %1672) #11
  %1674 = call i32 @isatty(i32 noundef %1673) #11
  %1675 = icmp ne i32 %1674, 0
  br i1 %1675, label %1676, label %1693

1676:                                             ; preds = %1671
  %1677 = load i32, ptr %27, align 4, !tbaa !5
  %1678 = call ptr @__errno_location() #12
  store i32 %1677, ptr %1678, align 4, !tbaa !5
  %1679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1680 = load i32, ptr @test_count, align 4, !tbaa !5
  %1681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1682 = load i32, ptr %1681, align 4, !tbaa !5
  %1683 = call ptr @s2n_strerror(i32 noundef %1682, ptr noundef @.str.25)
  %1684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = call ptr @s2n_strerror_debug(i32 noundef %1685, ptr noundef @.str.25)
  %1687 = call ptr @__errno_location() #12
  %1688 = load i32, ptr %1687, align 4, !tbaa !5
  %1689 = call ptr @strerror(i32 noundef %1688) #11
  %1690 = call ptr @__errno_location() #12
  %1691 = load i32, ptr %1690, align 4, !tbaa !5
  %1692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1679, ptr noundef @.str.23, i32 noundef %1680, ptr noundef @.str.39, ptr noundef @.str.22, i32 noundef 161, ptr noundef %1683, ptr noundef %1686, ptr noundef %1689, i32 noundef %1691) #11
  br label %1710

1693:                                             ; preds = %1671, %1664
  %1694 = load i32, ptr %27, align 4, !tbaa !5
  %1695 = call ptr @__errno_location() #12
  store i32 %1694, ptr %1695, align 4, !tbaa !5
  %1696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1697 = load i32, ptr @test_count, align 4, !tbaa !5
  %1698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1699 = load i32, ptr %1698, align 4, !tbaa !5
  %1700 = call ptr @s2n_strerror(i32 noundef %1699, ptr noundef @.str.25)
  %1701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1702 = load i32, ptr %1701, align 4, !tbaa !5
  %1703 = call ptr @s2n_strerror_debug(i32 noundef %1702, ptr noundef @.str.25)
  %1704 = call ptr @__errno_location() #12
  %1705 = load i32, ptr %1704, align 4, !tbaa !5
  %1706 = call ptr @strerror(i32 noundef %1705) #11
  %1707 = call ptr @__errno_location() #12
  %1708 = load i32, ptr %1707, align 4, !tbaa !5
  %1709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1696, ptr noundef @.str.26, i32 noundef %1697, ptr noundef @.str.39, ptr noundef @.str.22, i32 noundef 161, ptr noundef %1700, ptr noundef %1703, ptr noundef %1706, i32 noundef %1708) #11
  br label %1710

1710:                                             ; preds = %1693, %1676
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %1711

1711:                                             ; preds = %1710
  br label %1712

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

1713:                                             ; No predecessors!
  br label %1714

1714:                                             ; preds = %1713
  br label %1715

1715:                                             ; preds = %1714, %1652
  br label %1716

1716:                                             ; preds = %1715
  br label %1717

1717:                                             ; preds = %1716
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  store i32 0, ptr %28, align 4, !tbaa !5
  br label %1718

1718:                                             ; preds = %1717
  %1719 = load i32, ptr @test_count, align 4, !tbaa !5
  %1720 = add nsw i32 %1719, 1
  store i32 %1720, ptr @test_count, align 4, !tbaa !5
  %1721 = call i32 @s2n_stuffer_read_uint32(ptr noundef %18, ptr noundef %28)
  %1722 = icmp eq i32 %1721, -1
  br i1 %1722, label %1723, label %1776

1723:                                             ; preds = %1718
  br label %1724

1724:                                             ; preds = %1723
  br label %1725

1725:                                             ; preds = %1724
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #11
  %1726 = call ptr @__errno_location() #12
  %1727 = load i32, ptr %1726, align 4, !tbaa !5
  store i32 %1727, ptr %29, align 4, !tbaa !5
  %1728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1729 = call i32 @s2n_print_stacktrace(ptr noundef %1728)
  %1730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1731 = trunc i8 %1730 to i1
  br i1 %1731, label %1732, label %1754

1732:                                             ; preds = %1725
  %1733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1734 = call i32 @fileno(ptr noundef %1733) #11
  %1735 = call i32 @isatty(i32 noundef %1734) #11
  %1736 = icmp ne i32 %1735, 0
  br i1 %1736, label %1737, label %1754

1737:                                             ; preds = %1732
  %1738 = load i32, ptr %29, align 4, !tbaa !5
  %1739 = call ptr @__errno_location() #12
  store i32 %1738, ptr %1739, align 4, !tbaa !5
  %1740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1741 = load i32, ptr @test_count, align 4, !tbaa !5
  %1742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1743 = load i32, ptr %1742, align 4, !tbaa !5
  %1744 = call ptr @s2n_strerror(i32 noundef %1743, ptr noundef @.str.25)
  %1745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1746 = load i32, ptr %1745, align 4, !tbaa !5
  %1747 = call ptr @s2n_strerror_debug(i32 noundef %1746, ptr noundef @.str.25)
  %1748 = call ptr @__errno_location() #12
  %1749 = load i32, ptr %1748, align 4, !tbaa !5
  %1750 = call ptr @strerror(i32 noundef %1749) #11
  %1751 = call ptr @__errno_location() #12
  %1752 = load i32, ptr %1751, align 4, !tbaa !5
  %1753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1740, ptr noundef @.str.23, i32 noundef %1741, ptr noundef @.str.40, ptr noundef @.str.22, i32 noundef 164, ptr noundef %1744, ptr noundef %1747, ptr noundef %1750, i32 noundef %1752) #11
  br label %1771

1754:                                             ; preds = %1732, %1725
  %1755 = load i32, ptr %29, align 4, !tbaa !5
  %1756 = call ptr @__errno_location() #12
  store i32 %1755, ptr %1756, align 4, !tbaa !5
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = load i32, ptr @test_count, align 4, !tbaa !5
  %1759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1760 = load i32, ptr %1759, align 4, !tbaa !5
  %1761 = call ptr @s2n_strerror(i32 noundef %1760, ptr noundef @.str.25)
  %1762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1763 = load i32, ptr %1762, align 4, !tbaa !5
  %1764 = call ptr @s2n_strerror_debug(i32 noundef %1763, ptr noundef @.str.25)
  %1765 = call ptr @__errno_location() #12
  %1766 = load i32, ptr %1765, align 4, !tbaa !5
  %1767 = call ptr @strerror(i32 noundef %1766) #11
  %1768 = call ptr @__errno_location() #12
  %1769 = load i32, ptr %1768, align 4, !tbaa !5
  %1770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1757, ptr noundef @.str.26, i32 noundef %1758, ptr noundef @.str.40, ptr noundef @.str.22, i32 noundef 164, ptr noundef %1761, ptr noundef %1764, ptr noundef %1767, i32 noundef %1769) #11
  br label %1771

1771:                                             ; preds = %1754, %1737
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1772

1772:                                             ; preds = %1771
  br label %1773

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

1774:                                             ; No predecessors!
  br label %1775

1775:                                             ; preds = %1774
  br label %1776

1776:                                             ; preds = %1775, %1718
  br label %1777

1777:                                             ; preds = %1776
  br label %1778

1778:                                             ; preds = %1777
  br label %1779

1779:                                             ; preds = %1778
  %1780 = load i32, ptr @test_count, align 4, !tbaa !5
  %1781 = add nsw i32 %1780, 1
  store i32 %1781, ptr @test_count, align 4, !tbaa !5
  %1782 = load i32, ptr %28, align 4, !tbaa !5
  %1783 = zext i32 %1782 to i64
  %1784 = icmp eq i64 %1783, 54000
  br i1 %1784, label %1838, label %1785

1785:                                             ; preds = %1779
  br label %1786

1786:                                             ; preds = %1785
  br label %1787

1787:                                             ; preds = %1786
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #11
  %1788 = call ptr @__errno_location() #12
  %1789 = load i32, ptr %1788, align 4, !tbaa !5
  store i32 %1789, ptr %30, align 4, !tbaa !5
  %1790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1791 = call i32 @s2n_print_stacktrace(ptr noundef %1790)
  %1792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1793 = trunc i8 %1792 to i1
  br i1 %1793, label %1794, label %1816

1794:                                             ; preds = %1787
  %1795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1796 = call i32 @fileno(ptr noundef %1795) #11
  %1797 = call i32 @isatty(i32 noundef %1796) #11
  %1798 = icmp ne i32 %1797, 0
  br i1 %1798, label %1799, label %1816

1799:                                             ; preds = %1794
  %1800 = load i32, ptr %30, align 4, !tbaa !5
  %1801 = call ptr @__errno_location() #12
  store i32 %1800, ptr %1801, align 4, !tbaa !5
  %1802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1803 = load i32, ptr @test_count, align 4, !tbaa !5
  %1804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1805 = load i32, ptr %1804, align 4, !tbaa !5
  %1806 = call ptr @s2n_strerror(i32 noundef %1805, ptr noundef @.str.25)
  %1807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1808 = load i32, ptr %1807, align 4, !tbaa !5
  %1809 = call ptr @s2n_strerror_debug(i32 noundef %1808, ptr noundef @.str.25)
  %1810 = call ptr @__errno_location() #12
  %1811 = load i32, ptr %1810, align 4, !tbaa !5
  %1812 = call ptr @strerror(i32 noundef %1811) #11
  %1813 = call ptr @__errno_location() #12
  %1814 = load i32, ptr %1813, align 4, !tbaa !5
  %1815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1802, ptr noundef @.str.23, i32 noundef %1803, ptr noundef @.str.41, ptr noundef @.str.22, i32 noundef 165, ptr noundef %1806, ptr noundef %1809, ptr noundef %1812, i32 noundef %1814) #11
  br label %1833

1816:                                             ; preds = %1794, %1787
  %1817 = load i32, ptr %30, 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.25)
  %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.25)
  %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.26, i32 noundef %1820, ptr noundef @.str.41, ptr noundef @.str.22, i32 noundef 165, ptr noundef %1823, ptr noundef %1826, ptr noundef %1829, i32 noundef %1831) #11
  br label %1833

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

1834:                                             ; preds = %1833
  br label %1835

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

1836:                                             ; No predecessors!
  br label %1837

1837:                                             ; preds = %1836
  br label %1838

1838:                                             ; preds = %1837, %1779
  br label %1839

1839:                                             ; preds = %1838
  br label %1840

1840:                                             ; preds = %1839
  br label %1841

1841:                                             ; preds = %1840
  %1842 = load i32, ptr @test_count, align 4, !tbaa !5
  %1843 = add nsw i32 %1842, 1
  store i32 %1843, ptr @test_count, align 4, !tbaa !5
  %1844 = call i32 @s2n_stuffer_skip_read(ptr noundef %18, i32 noundef 4)
  %1845 = icmp eq i32 %1844, -1
  br i1 %1845, label %1846, label %1899

1846:                                             ; preds = %1841
  br label %1847

1847:                                             ; preds = %1846
  br label %1848

1848:                                             ; preds = %1847
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #11
  %1849 = call ptr @__errno_location() #12
  %1850 = load i32, ptr %1849, align 4, !tbaa !5
  store i32 %1850, ptr %31, align 4, !tbaa !5
  %1851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1852 = call i32 @s2n_print_stacktrace(ptr noundef %1851)
  %1853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1854 = trunc i8 %1853 to i1
  br i1 %1854, label %1855, label %1877

1855:                                             ; preds = %1848
  %1856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1857 = call i32 @fileno(ptr noundef %1856) #11
  %1858 = call i32 @isatty(i32 noundef %1857) #11
  %1859 = icmp ne i32 %1858, 0
  br i1 %1859, label %1860, label %1877

1860:                                             ; preds = %1855
  %1861 = load i32, ptr %31, align 4, !tbaa !5
  %1862 = call ptr @__errno_location() #12
  store i32 %1861, ptr %1862, align 4, !tbaa !5
  %1863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1864 = load i32, ptr @test_count, align 4, !tbaa !5
  %1865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1866 = load i32, ptr %1865, align 4, !tbaa !5
  %1867 = call ptr @s2n_strerror(i32 noundef %1866, ptr noundef @.str.25)
  %1868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1869 = load i32, ptr %1868, align 4, !tbaa !5
  %1870 = call ptr @s2n_strerror_debug(i32 noundef %1869, ptr noundef @.str.25)
  %1871 = call ptr @__errno_location() #12
  %1872 = load i32, ptr %1871, align 4, !tbaa !5
  %1873 = call ptr @strerror(i32 noundef %1872) #11
  %1874 = call ptr @__errno_location() #12
  %1875 = load i32, ptr %1874, align 4, !tbaa !5
  %1876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1863, ptr noundef @.str.23, i32 noundef %1864, ptr noundef @.str.42, ptr noundef @.str.22, i32 noundef 168, ptr noundef %1867, ptr noundef %1870, ptr noundef %1873, i32 noundef %1875) #11
  br label %1894

1877:                                             ; preds = %1855, %1848
  %1878 = load i32, ptr %31, align 4, !tbaa !5
  %1879 = call ptr @__errno_location() #12
  store i32 %1878, ptr %1879, align 4, !tbaa !5
  %1880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1881 = load i32, ptr @test_count, align 4, !tbaa !5
  %1882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1883 = load i32, ptr %1882, align 4, !tbaa !5
  %1884 = call ptr @s2n_strerror(i32 noundef %1883, ptr noundef @.str.25)
  %1885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1886 = load i32, ptr %1885, align 4, !tbaa !5
  %1887 = call ptr @s2n_strerror_debug(i32 noundef %1886, ptr noundef @.str.25)
  %1888 = call ptr @__errno_location() #12
  %1889 = load i32, ptr %1888, align 4, !tbaa !5
  %1890 = call ptr @strerror(i32 noundef %1889) #11
  %1891 = call ptr @__errno_location() #12
  %1892 = load i32, ptr %1891, align 4, !tbaa !5
  %1893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1880, ptr noundef @.str.26, i32 noundef %1881, ptr noundef @.str.42, ptr noundef @.str.22, i32 noundef 168, ptr noundef %1884, ptr noundef %1887, ptr noundef %1890, i32 noundef %1892) #11
  br label %1894

1894:                                             ; preds = %1877, %1860
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1895

1895:                                             ; preds = %1894
  br label %1896

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

1897:                                             ; No predecessors!
  br label %1898

1898:                                             ; preds = %1897
  br label %1899

1899:                                             ; preds = %1898, %1841
  br label %1900

1900:                                             ; preds = %1899
  br label %1901

1901:                                             ; preds = %1900
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #11
  store i8 0, ptr %32, align 1, !tbaa !51
  br label %1902

1902:                                             ; preds = %1901
  %1903 = load i32, ptr @test_count, align 4, !tbaa !5
  %1904 = add nsw i32 %1903, 1
  store i32 %1904, ptr @test_count, align 4, !tbaa !5
  %1905 = call i32 @s2n_stuffer_read_uint8(ptr noundef %18, ptr noundef %32)
  %1906 = icmp eq i32 %1905, -1
  br i1 %1906, label %1907, label %1960

1907:                                             ; preds = %1902
  br label %1908

1908:                                             ; preds = %1907
  br label %1909

1909:                                             ; preds = %1908
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1910 = call ptr @__errno_location() #12
  %1911 = load i32, ptr %1910, align 4, !tbaa !5
  store i32 %1911, ptr %33, align 4, !tbaa !5
  %1912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1913 = call i32 @s2n_print_stacktrace(ptr noundef %1912)
  %1914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1915 = trunc i8 %1914 to i1
  br i1 %1915, label %1916, label %1938

1916:                                             ; preds = %1909
  %1917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1918 = call i32 @fileno(ptr noundef %1917) #11
  %1919 = call i32 @isatty(i32 noundef %1918) #11
  %1920 = icmp ne i32 %1919, 0
  br i1 %1920, label %1921, label %1938

1921:                                             ; preds = %1916
  %1922 = load i32, ptr %33, align 4, !tbaa !5
  %1923 = call ptr @__errno_location() #12
  store i32 %1922, ptr %1923, align 4, !tbaa !5
  %1924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1925 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %1927, ptr noundef @.str.25)
  %1929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1930 = load i32, ptr %1929, align 4, !tbaa !5
  %1931 = call ptr @s2n_strerror_debug(i32 noundef %1930, ptr noundef @.str.25)
  %1932 = call ptr @__errno_location() #12
  %1933 = load i32, ptr %1932, align 4, !tbaa !5
  %1934 = call ptr @strerror(i32 noundef %1933) #11
  %1935 = call ptr @__errno_location() #12
  %1936 = load i32, ptr %1935, align 4, !tbaa !5
  %1937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1924, ptr noundef @.str.23, i32 noundef %1925, ptr noundef @.str.43, ptr noundef @.str.22, i32 noundef 171, ptr noundef %1928, ptr noundef %1931, ptr noundef %1934, i32 noundef %1936) #11
  br label %1955

1938:                                             ; preds = %1916, %1909
  %1939 = load i32, ptr %33, align 4, !tbaa !5
  %1940 = call ptr @__errno_location() #12
  store i32 %1939, ptr %1940, align 4, !tbaa !5
  %1941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1942 = load i32, ptr @test_count, align 4, !tbaa !5
  %1943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1944 = load i32, ptr %1943, align 4, !tbaa !5
  %1945 = call ptr @s2n_strerror(i32 noundef %1944, ptr noundef @.str.25)
  %1946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1947 = load i32, ptr %1946, align 4, !tbaa !5
  %1948 = call ptr @s2n_strerror_debug(i32 noundef %1947, ptr noundef @.str.25)
  %1949 = call ptr @__errno_location() #12
  %1950 = load i32, ptr %1949, align 4, !tbaa !5
  %1951 = call ptr @strerror(i32 noundef %1950) #11
  %1952 = call ptr @__errno_location() #12
  %1953 = load i32, ptr %1952, align 4, !tbaa !5
  %1954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1941, ptr noundef @.str.26, i32 noundef %1942, ptr noundef @.str.43, ptr noundef @.str.22, i32 noundef 171, ptr noundef %1945, ptr noundef %1948, ptr noundef %1951, i32 noundef %1953) #11
  br label %1955

1955:                                             ; preds = %1938, %1921
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1956

1956:                                             ; preds = %1955
  br label %1957

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

1958:                                             ; No predecessors!
  br label %1959

1959:                                             ; preds = %1958
  br label %1960

1960:                                             ; preds = %1959, %1902
  br label %1961

1961:                                             ; preds = %1960
  br label %1962

1962:                                             ; preds = %1961
  br label %1963

1963:                                             ; preds = %1962
  %1964 = load i32, ptr @test_count, align 4, !tbaa !5
  %1965 = add nsw i32 %1964, 1
  store i32 %1965, ptr @test_count, align 4, !tbaa !5
  %1966 = load i8, ptr %32, align 1, !tbaa !51
  %1967 = zext i8 %1966 to i64
  %1968 = icmp eq i64 2, %1967
  br i1 %1968, label %2022, label %1969

1969:                                             ; preds = %1963
  br label %1970

1970:                                             ; preds = %1969
  br label %1971

1971:                                             ; preds = %1970
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #11
  %1972 = call ptr @__errno_location() #12
  %1973 = load i32, ptr %1972, align 4, !tbaa !5
  store i32 %1973, ptr %34, align 4, !tbaa !5
  %1974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1975 = call i32 @s2n_print_stacktrace(ptr noundef %1974)
  %1976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1977 = trunc i8 %1976 to i1
  br i1 %1977, label %1978, label %2000

1978:                                             ; preds = %1971
  %1979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1980 = call i32 @fileno(ptr noundef %1979) #11
  %1981 = call i32 @isatty(i32 noundef %1980) #11
  %1982 = icmp ne i32 %1981, 0
  br i1 %1982, label %1983, label %2000

1983:                                             ; preds = %1978
  %1984 = load i32, ptr %34, align 4, !tbaa !5
  %1985 = call ptr @__errno_location() #12
  store i32 %1984, ptr %1985, align 4, !tbaa !5
  %1986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1987 = load i32, 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(i32 noundef %1989, ptr noundef @.str.25)
  %1991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1992 = load i32, ptr %1991, align 4, !tbaa !5
  %1993 = call ptr @s2n_strerror_debug(i32 noundef %1992, ptr noundef @.str.25)
  %1994 = call ptr @__errno_location() #12
  %1995 = load i32, ptr %1994, align 4, !tbaa !5
  %1996 = call ptr @strerror(i32 noundef %1995) #11
  %1997 = call ptr @__errno_location() #12
  %1998 = load i32, ptr %1997, align 4, !tbaa !5
  %1999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1986, ptr noundef @.str.23, i32 noundef %1987, ptr noundef @.str.44, ptr noundef @.str.22, i32 noundef 172, ptr noundef %1990, ptr noundef %1993, ptr noundef %1996, i32 noundef %1998) #11
  br label %2017

2000:                                             ; preds = %1978, %1971
  %2001 = load i32, ptr %34, align 4, !tbaa !5
  %2002 = call ptr @__errno_location() #12
  store i32 %2001, ptr %2002, align 4, !tbaa !5
  %2003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2004 = load i32, ptr @test_count, align 4, !tbaa !5
  %2005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2006 = load i32, ptr %2005, align 4, !tbaa !5
  %2007 = call ptr @s2n_strerror(i32 noundef %2006, ptr noundef @.str.25)
  %2008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2009 = load i32, ptr %2008, align 4, !tbaa !5
  %2010 = call ptr @s2n_strerror_debug(i32 noundef %2009, ptr noundef @.str.25)
  %2011 = call ptr @__errno_location() #12
  %2012 = load i32, ptr %2011, align 4, !tbaa !5
  %2013 = call ptr @strerror(i32 noundef %2012) #11
  %2014 = call ptr @__errno_location() #12
  %2015 = load i32, ptr %2014, align 4, !tbaa !5
  %2016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2003, ptr noundef @.str.26, i32 noundef %2004, ptr noundef @.str.44, ptr noundef @.str.22, i32 noundef 172, ptr noundef %2007, ptr noundef %2010, ptr noundef %2013, i32 noundef %2015) #11
  br label %2017

2017:                                             ; preds = %2000, %1983
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  br label %2018

2018:                                             ; preds = %2017
  br label %2019

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

2020:                                             ; No predecessors!
  br label %2021

2021:                                             ; preds = %2020
  br label %2022

2022:                                             ; preds = %2021, %1963
  br label %2023

2023:                                             ; preds = %2022
  br label %2024

2024:                                             ; preds = %2023
  call void @llvm.lifetime.start.p0(i64 2, ptr %35) #11
  call void @llvm.memset.p0.i64(ptr align 1 %35, i8 0, i64 2, i1 false)
  br label %2025

2025:                                             ; preds = %2024
  %2026 = load i32, ptr @test_count, align 4, !tbaa !5
  %2027 = add nsw i32 %2026, 1
  store i32 %2027, ptr @test_count, align 4, !tbaa !5
  %2028 = getelementptr inbounds [2 x i8], ptr %35, i64 0, i64 0
  %2029 = load i8, ptr %32, align 1, !tbaa !51
  %2030 = zext i8 %2029 to i32
  %2031 = call i32 @s2n_stuffer_read_bytes(ptr noundef %18, ptr noundef %2028, i32 noundef %2030)
  %2032 = icmp eq i32 %2031, -1
  br i1 %2032, label %2033, label %2086

2033:                                             ; preds = %2025
  br label %2034

2034:                                             ; preds = %2033
  br label %2035

2035:                                             ; preds = %2034
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  %2036 = call ptr @__errno_location() #12
  %2037 = load i32, ptr %2036, align 4, !tbaa !5
  store i32 %2037, ptr %36, align 4, !tbaa !5
  %2038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2039 = call i32 @s2n_print_stacktrace(ptr noundef %2038)
  %2040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2041 = trunc i8 %2040 to i1
  br i1 %2041, label %2042, label %2064

2042:                                             ; preds = %2035
  %2043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2044 = call i32 @fileno(ptr noundef %2043) #11
  %2045 = call i32 @isatty(i32 noundef %2044) #11
  %2046 = icmp ne i32 %2045, 0
  br i1 %2046, label %2047, label %2064

2047:                                             ; preds = %2042
  %2048 = load i32, ptr %36, align 4, !tbaa !5
  %2049 = call ptr @__errno_location() #12
  store i32 %2048, ptr %2049, align 4, !tbaa !5
  %2050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2051 = load i32, ptr @test_count, align 4, !tbaa !5
  %2052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2053 = load i32, ptr %2052, align 4, !tbaa !5
  %2054 = call ptr @s2n_strerror(i32 noundef %2053, ptr noundef @.str.25)
  %2055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2056 = load i32, ptr %2055, align 4, !tbaa !5
  %2057 = call ptr @s2n_strerror_debug(i32 noundef %2056, ptr noundef @.str.25)
  %2058 = call ptr @__errno_location() #12
  %2059 = load i32, ptr %2058, align 4, !tbaa !5
  %2060 = call ptr @strerror(i32 noundef %2059) #11
  %2061 = call ptr @__errno_location() #12
  %2062 = load i32, ptr %2061, align 4, !tbaa !5
  %2063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2050, ptr noundef @.str.23, i32 noundef %2051, ptr noundef @.str.45, ptr noundef @.str.22, i32 noundef 175, ptr noundef %2054, ptr noundef %2057, ptr noundef %2060, i32 noundef %2062) #11
  br label %2081

2064:                                             ; preds = %2042, %2035
  %2065 = load i32, ptr %36, align 4, !tbaa !5
  %2066 = call ptr @__errno_location() #12
  store i32 %2065, ptr %2066, align 4, !tbaa !5
  %2067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2068 = load i32, ptr @test_count, align 4, !tbaa !5
  %2069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2070 = load i32, ptr %2069, align 4, !tbaa !5
  %2071 = call ptr @s2n_strerror(i32 noundef %2070, ptr noundef @.str.25)
  %2072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2073 = load i32, ptr %2072, align 4, !tbaa !5
  %2074 = call ptr @s2n_strerror_debug(i32 noundef %2073, ptr noundef @.str.25)
  %2075 = call ptr @__errno_location() #12
  %2076 = load i32, ptr %2075, align 4, !tbaa !5
  %2077 = call ptr @strerror(i32 noundef %2076) #11
  %2078 = call ptr @__errno_location() #12
  %2079 = load i32, ptr %2078, align 4, !tbaa !5
  %2080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2067, ptr noundef @.str.26, i32 noundef %2068, ptr noundef @.str.45, ptr noundef @.str.22, i32 noundef 175, ptr noundef %2071, ptr noundef %2074, ptr noundef %2077, i32 noundef %2079) #11
  br label %2081

2081:                                             ; preds = %2064, %2047
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %2082

2082:                                             ; preds = %2081
  br label %2083

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

2084:                                             ; No predecessors!
  br label %2085

2085:                                             ; preds = %2084
  br label %2086

2086:                                             ; preds = %2085, %2025
  br label %2087

2087:                                             ; preds = %2086
  br label %2088

2088:                                             ; preds = %2087
  call void @llvm.lifetime.start.p0(i64 2, ptr %37) #11
  call void @llvm.memset.p0.i64(ptr align 1 %37, i8 0, i64 2, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #11
  call void @llvm.memset.p0.i64(ptr align 8 %38, i8 0, i64 24, i1 false)
  br label %2089

2089:                                             ; preds = %2088
  %2090 = load i32, ptr @test_count, align 4, !tbaa !5
  %2091 = add nsw i32 %2090, 1
  store i32 %2091, ptr @test_count, align 4, !tbaa !5
  %2092 = getelementptr inbounds [2 x i8], ptr %37, i64 0, i64 0
  %2093 = call i32 @s2n_blob_init(ptr noundef %38, ptr noundef %2092, i32 noundef 2)
  %2094 = icmp eq i32 %2093, -1
  br i1 %2094, label %2095, label %2148

2095:                                             ; preds = %2089
  br label %2096

2096:                                             ; preds = %2095
  br label %2097

2097:                                             ; preds = %2096
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #11
  %2098 = call ptr @__errno_location() #12
  %2099 = load i32, ptr %2098, align 4, !tbaa !5
  store i32 %2099, ptr %39, align 4, !tbaa !5
  %2100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2101 = call i32 @s2n_print_stacktrace(ptr noundef %2100)
  %2102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2103 = trunc i8 %2102 to i1
  br i1 %2103, label %2104, label %2126

2104:                                             ; preds = %2097
  %2105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2106 = call i32 @fileno(ptr noundef %2105) #11
  %2107 = call i32 @isatty(i32 noundef %2106) #11
  %2108 = icmp ne i32 %2107, 0
  br i1 %2108, label %2109, label %2126

2109:                                             ; preds = %2104
  %2110 = load i32, ptr %39, align 4, !tbaa !5
  %2111 = call ptr @__errno_location() #12
  store i32 %2110, ptr %2111, align 4, !tbaa !5
  %2112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2113 = load i32, ptr @test_count, align 4, !tbaa !5
  %2114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call ptr @s2n_strerror(i32 noundef %2115, ptr noundef @.str.25)
  %2117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2118 = load i32, ptr %2117, align 4, !tbaa !5
  %2119 = call ptr @s2n_strerror_debug(i32 noundef %2118, ptr noundef @.str.25)
  %2120 = call ptr @__errno_location() #12
  %2121 = load i32, ptr %2120, align 4, !tbaa !5
  %2122 = call ptr @strerror(i32 noundef %2121) #11
  %2123 = call ptr @__errno_location() #12
  %2124 = load i32, ptr %2123, align 4, !tbaa !5
  %2125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2112, ptr noundef @.str.23, i32 noundef %2113, ptr noundef @.str.46, ptr noundef @.str.22, i32 noundef 179, ptr noundef %2116, ptr noundef %2119, ptr noundef %2122, i32 noundef %2124) #11
  br label %2143

2126:                                             ; preds = %2104, %2097
  %2127 = load i32, ptr %39, align 4, !tbaa !5
  %2128 = call ptr @__errno_location() #12
  store i32 %2127, ptr %2128, align 4, !tbaa !5
  %2129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2130 = load i32, ptr @test_count, align 4, !tbaa !5
  %2131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2132 = load i32, ptr %2131, align 4, !tbaa !5
  %2133 = call ptr @s2n_strerror(i32 noundef %2132, ptr noundef @.str.25)
  %2134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2135 = load i32, ptr %2134, align 4, !tbaa !5
  %2136 = call ptr @s2n_strerror_debug(i32 noundef %2135, ptr noundef @.str.25)
  %2137 = call ptr @__errno_location() #12
  %2138 = load i32, ptr %2137, align 4, !tbaa !5
  %2139 = call ptr @strerror(i32 noundef %2138) #11
  %2140 = call ptr @__errno_location() #12
  %2141 = load i32, ptr %2140, align 4, !tbaa !5
  %2142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2129, ptr noundef @.str.26, i32 noundef %2130, ptr noundef @.str.46, ptr noundef @.str.22, i32 noundef 179, ptr noundef %2133, ptr noundef %2136, ptr noundef %2139, i32 noundef %2141) #11
  br label %2143

2143:                                             ; preds = %2126, %2109
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %2144

2144:                                             ; preds = %2143
  br label %2145

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

2146:                                             ; No predecessors!
  br label %2147

2147:                                             ; preds = %2146
  br label %2148

2148:                                             ; preds = %2147, %2089
  br label %2149

2149:                                             ; preds = %2148
  br label %2150

2150:                                             ; preds = %2149
  br label %2151

2151:                                             ; preds = %2150
  %2152 = load i32, ptr @test_count, align 4, !tbaa !5
  %2153 = add nsw i32 %2152, 1
  store i32 %2153, ptr @test_count, align 4, !tbaa !5
  %2154 = load i16, ptr %17, align 2, !tbaa !49
  %2155 = call i32 @s2n_generate_ticket_nonce(i16 noundef zeroext %2154, ptr noundef %38)
  %2156 = getelementptr inbounds %struct.s2n_result, ptr %40, i32 0, i32 0
  store i32 %2155, ptr %2156, align 4
  %2157 = getelementptr inbounds %struct.s2n_result, ptr %40, i32 0, i32 0
  %2158 = load i32, ptr %2157, align 4
  %2159 = call zeroext i1 @s2n_result_is_ok(i32 %2158)
  br i1 %2159, label %2213, label %2160

2160:                                             ; preds = %2151
  br label %2161

2161:                                             ; preds = %2160
  br label %2162

2162:                                             ; preds = %2161
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #11
  %2163 = call ptr @__errno_location() #12
  %2164 = load i32, ptr %2163, align 4, !tbaa !5
  store i32 %2164, ptr %41, align 4, !tbaa !5
  %2165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2166 = call i32 @s2n_print_stacktrace(ptr noundef %2165)
  %2167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2168 = trunc i8 %2167 to i1
  br i1 %2168, label %2169, label %2191

2169:                                             ; preds = %2162
  %2170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2171 = call i32 @fileno(ptr noundef %2170) #11
  %2172 = call i32 @isatty(i32 noundef %2171) #11
  %2173 = icmp ne i32 %2172, 0
  br i1 %2173, label %2174, label %2191

2174:                                             ; preds = %2169
  %2175 = load i32, ptr %41, align 4, !tbaa !5
  %2176 = call ptr @__errno_location() #12
  store i32 %2175, ptr %2176, align 4, !tbaa !5
  %2177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2178 = load i32, ptr @test_count, align 4, !tbaa !5
  %2179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2180 = load i32, ptr %2179, align 4, !tbaa !5
  %2181 = call ptr @s2n_strerror(i32 noundef %2180, ptr noundef @.str.25)
  %2182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2183 = load i32, ptr %2182, align 4, !tbaa !5
  %2184 = call ptr @s2n_strerror_debug(i32 noundef %2183, ptr noundef @.str.25)
  %2185 = call ptr @__errno_location() #12
  %2186 = load i32, ptr %2185, align 4, !tbaa !5
  %2187 = call ptr @strerror(i32 noundef %2186) #11
  %2188 = call ptr @__errno_location() #12
  %2189 = load i32, ptr %2188, align 4, !tbaa !5
  %2190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2177, ptr noundef @.str.23, i32 noundef %2178, ptr noundef @.str.47, ptr noundef @.str.22, i32 noundef 180, ptr noundef %2181, ptr noundef %2184, ptr noundef %2187, i32 noundef %2189) #11
  br label %2208

2191:                                             ; preds = %2169, %2162
  %2192 = load i32, ptr %41, align 4, !tbaa !5
  %2193 = call ptr @__errno_location() #12
  store i32 %2192, ptr %2193, align 4, !tbaa !5
  %2194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2195 = load i32, ptr @test_count, align 4, !tbaa !5
  %2196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2197 = load i32, ptr %2196, align 4, !tbaa !5
  %2198 = call ptr @s2n_strerror(i32 noundef %2197, ptr noundef @.str.25)
  %2199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2200 = load i32, ptr %2199, align 4, !tbaa !5
  %2201 = call ptr @s2n_strerror_debug(i32 noundef %2200, ptr noundef @.str.25)
  %2202 = call ptr @__errno_location() #12
  %2203 = load i32, ptr %2202, align 4, !tbaa !5
  %2204 = call ptr @strerror(i32 noundef %2203) #11
  %2205 = call ptr @__errno_location() #12
  %2206 = load i32, ptr %2205, align 4, !tbaa !5
  %2207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2194, ptr noundef @.str.26, i32 noundef %2195, ptr noundef @.str.47, ptr noundef @.str.22, i32 noundef 180, ptr noundef %2198, ptr noundef %2201, ptr noundef %2204, i32 noundef %2206) #11
  br label %2208

2208:                                             ; preds = %2191, %2174
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %2209

2209:                                             ; preds = %2208
  br label %2210

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

2211:                                             ; No predecessors!
  br label %2212

2212:                                             ; preds = %2211
  br label %2213

2213:                                             ; preds = %2212, %2151
  br label %2214

2214:                                             ; preds = %2213
  br label %2215

2215:                                             ; preds = %2214
  br label %2216

2216:                                             ; preds = %2215
  %2217 = load i8, ptr %32, align 1, !tbaa !51
  %2218 = zext i8 %2217 to i32
  %2219 = icmp ne i32 %2218, 0
  br i1 %2219, label %2220, label %2287

2220:                                             ; preds = %2216
  br label %2221

2221:                                             ; preds = %2220
  %2222 = load i32, ptr @test_count, align 4, !tbaa !5
  %2223 = add nsw i32 %2222, 1
  store i32 %2223, ptr @test_count, align 4, !tbaa !5
  %2224 = getelementptr inbounds [2 x i8], ptr %35, i64 0, i64 0
  %2225 = getelementptr inbounds %struct.s2n_blob, ptr %38, i32 0, i32 0
  %2226 = load ptr, ptr %2225, align 8, !tbaa !54
  %2227 = load i8, ptr %32, align 1, !tbaa !51
  %2228 = zext i8 %2227 to i64
  %2229 = call i32 @memcmp(ptr noundef %2224, ptr noundef %2226, i64 noundef %2228) #14
  %2230 = icmp eq i32 %2229, 0
  br i1 %2230, label %2284, label %2231

2231:                                             ; preds = %2221
  br label %2232

2232:                                             ; preds = %2231
  br label %2233

2233:                                             ; preds = %2232
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #11
  %2234 = call ptr @__errno_location() #12
  %2235 = load i32, ptr %2234, align 4, !tbaa !5
  store i32 %2235, ptr %42, align 4, !tbaa !5
  %2236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2237 = call i32 @s2n_print_stacktrace(ptr noundef %2236)
  %2238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2239 = trunc i8 %2238 to i1
  br i1 %2239, label %2240, label %2262

2240:                                             ; preds = %2233
  %2241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2242 = call i32 @fileno(ptr noundef %2241) #11
  %2243 = call i32 @isatty(i32 noundef %2242) #11
  %2244 = icmp ne i32 %2243, 0
  br i1 %2244, label %2245, label %2262

2245:                                             ; preds = %2240
  %2246 = load i32, ptr %42, align 4, !tbaa !5
  %2247 = call ptr @__errno_location() #12
  store i32 %2246, ptr %2247, align 4, !tbaa !5
  %2248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2249 = load i32, ptr @test_count, align 4, !tbaa !5
  %2250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2251 = load i32, ptr %2250, align 4, !tbaa !5
  %2252 = call ptr @s2n_strerror(i32 noundef %2251, ptr noundef @.str.25)
  %2253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2254 = load i32, ptr %2253, align 4, !tbaa !5
  %2255 = call ptr @s2n_strerror_debug(i32 noundef %2254, ptr noundef @.str.25)
  %2256 = call ptr @__errno_location() #12
  %2257 = load i32, ptr %2256, align 4, !tbaa !5
  %2258 = call ptr @strerror(i32 noundef %2257) #11
  %2259 = call ptr @__errno_location() #12
  %2260 = load i32, ptr %2259, align 4, !tbaa !5
  %2261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2248, ptr noundef @.str.23, i32 noundef %2249, ptr noundef @.str.48, ptr noundef @.str.22, i32 noundef 181, ptr noundef %2252, ptr noundef %2255, ptr noundef %2258, i32 noundef %2260) #11
  br label %2279

2262:                                             ; preds = %2240, %2233
  %2263 = load i32, ptr %42, align 4, !tbaa !5
  %2264 = call ptr @__errno_location() #12
  store i32 %2263, ptr %2264, align 4, !tbaa !5
  %2265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2266 = load i32, ptr @test_count, align 4, !tbaa !5
  %2267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2268 = load i32, ptr %2267, align 4, !tbaa !5
  %2269 = call ptr @s2n_strerror(i32 noundef %2268, ptr noundef @.str.25)
  %2270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2271 = load i32, ptr %2270, align 4, !tbaa !5
  %2272 = call ptr @s2n_strerror_debug(i32 noundef %2271, ptr noundef @.str.25)
  %2273 = call ptr @__errno_location() #12
  %2274 = load i32, ptr %2273, align 4, !tbaa !5
  %2275 = call ptr @strerror(i32 noundef %2274) #11
  %2276 = call ptr @__errno_location() #12
  %2277 = load i32, ptr %2276, align 4, !tbaa !5
  %2278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2265, ptr noundef @.str.26, i32 noundef %2266, ptr noundef @.str.48, ptr noundef @.str.22, i32 noundef 181, ptr noundef %2269, ptr noundef %2272, ptr noundef %2275, i32 noundef %2277) #11
  br label %2279

2279:                                             ; preds = %2262, %2245
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %2280

2280:                                             ; preds = %2279
  br label %2281

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

2282:                                             ; No predecessors!
  br label %2283

2283:                                             ; preds = %2282
  br label %2284

2284:                                             ; preds = %2283, %2221
  br label %2285

2285:                                             ; preds = %2284
  br label %2286

2286:                                             ; preds = %2285
  br label %2287

2287:                                             ; preds = %2286, %2216
  br label %2288

2288:                                             ; preds = %2287
  br label %2289

2289:                                             ; preds = %2288
  call void @llvm.lifetime.start.p0(i64 2, ptr %43) #11
  store i16 0, ptr %43, align 2, !tbaa !49
  br label %2290

2290:                                             ; preds = %2289
  %2291 = load i32, ptr @test_count, align 4, !tbaa !5
  %2292 = add nsw i32 %2291, 1
  store i32 %2292, ptr @test_count, align 4, !tbaa !5
  %2293 = call i32 @s2n_stuffer_read_uint16(ptr noundef %18, ptr noundef %43)
  %2294 = icmp eq i32 %2293, -1
  br i1 %2294, label %2295, label %2348

2295:                                             ; preds = %2290
  br label %2296

2296:                                             ; preds = %2295
  br label %2297

2297:                                             ; preds = %2296
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #11
  %2298 = call ptr @__errno_location() #12
  %2299 = load i32, ptr %2298, align 4, !tbaa !5
  store i32 %2299, ptr %44, 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 %44, 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.25)
  %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.25)
  %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.23, i32 noundef %2313, ptr noundef @.str.49, ptr noundef @.str.22, i32 noundef 184, ptr noundef %2316, ptr noundef %2319, ptr noundef %2322, i32 noundef %2324) #11
  br label %2343

2326:                                             ; preds = %2304, %2297
  %2327 = load i32, ptr %44, 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.25)
  %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.25)
  %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.26, i32 noundef %2330, ptr noundef @.str.49, ptr noundef @.str.22, i32 noundef 184, 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 %44) #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, %2290
  br label %2349

2349:                                             ; preds = %2348
  br label %2350

2350:                                             ; preds = %2349
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #11
  store i8 2, ptr %45, align 1, !tbaa !51
  br label %2351

2351:                                             ; preds = %2350
  %2352 = load i32, ptr @test_count, align 4, !tbaa !5
  %2353 = add nsw i32 %2352, 1
  store i32 %2353, ptr @test_count, align 4, !tbaa !5
  %2354 = load i16, ptr %43, align 2, !tbaa !49
  %2355 = zext i16 %2354 to i32
  %2356 = getelementptr inbounds %struct.s2n_stuffer, ptr %18, i32 0, i32 2
  %2357 = load i32, ptr %2356, align 4, !tbaa !52
  %2358 = getelementptr inbounds %struct.s2n_stuffer, ptr %18, i32 0, i32 1
  %2359 = load i32, ptr %2358, align 8, !tbaa !53
  %2360 = sub i32 %2357, %2359
  %2361 = load i8, ptr %45, align 1, !tbaa !51
  %2362 = zext i8 %2361 to i32
  %2363 = sub i32 %2360, %2362
  %2364 = icmp eq i32 %2355, %2363
  br i1 %2364, label %2418, label %2365

2365:                                             ; preds = %2351
  br label %2366

2366:                                             ; preds = %2365
  br label %2367

2367:                                             ; preds = %2366
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #11
  %2368 = call ptr @__errno_location() #12
  %2369 = load i32, ptr %2368, align 4, !tbaa !5
  store i32 %2369, ptr %46, align 4, !tbaa !5
  %2370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2371 = call i32 @s2n_print_stacktrace(ptr noundef %2370)
  %2372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2373 = trunc i8 %2372 to i1
  br i1 %2373, label %2374, label %2396

2374:                                             ; preds = %2367
  %2375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2376 = call i32 @fileno(ptr noundef %2375) #11
  %2377 = call i32 @isatty(i32 noundef %2376) #11
  %2378 = icmp ne i32 %2377, 0
  br i1 %2378, label %2379, label %2396

2379:                                             ; preds = %2374
  %2380 = load i32, ptr %46, align 4, !tbaa !5
  %2381 = call ptr @__errno_location() #12
  store i32 %2380, ptr %2381, align 4, !tbaa !5
  %2382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2383 = load i32, ptr @test_count, align 4, !tbaa !5
  %2384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2385 = load i32, ptr %2384, align 4, !tbaa !5
  %2386 = call ptr @s2n_strerror(i32 noundef %2385, ptr noundef @.str.25)
  %2387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2388 = load i32, ptr %2387, align 4, !tbaa !5
  %2389 = call ptr @s2n_strerror_debug(i32 noundef %2388, ptr noundef @.str.25)
  %2390 = call ptr @__errno_location() #12
  %2391 = load i32, ptr %2390, align 4, !tbaa !5
  %2392 = call ptr @strerror(i32 noundef %2391) #11
  %2393 = call ptr @__errno_location() #12
  %2394 = load i32, ptr %2393, align 4, !tbaa !5
  %2395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2382, ptr noundef @.str.23, i32 noundef %2383, ptr noundef @.str.50, ptr noundef @.str.22, i32 noundef 186, ptr noundef %2386, ptr noundef %2389, ptr noundef %2392, i32 noundef %2394) #11
  br label %2413

2396:                                             ; preds = %2374, %2367
  %2397 = load i32, ptr %46, align 4, !tbaa !5
  %2398 = call ptr @__errno_location() #12
  store i32 %2397, ptr %2398, align 4, !tbaa !5
  %2399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2400 = load i32, ptr @test_count, align 4, !tbaa !5
  %2401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2402 = load i32, ptr %2401, align 4, !tbaa !5
  %2403 = call ptr @s2n_strerror(i32 noundef %2402, ptr noundef @.str.25)
  %2404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2405 = load i32, ptr %2404, align 4, !tbaa !5
  %2406 = call ptr @s2n_strerror_debug(i32 noundef %2405, ptr noundef @.str.25)
  %2407 = call ptr @__errno_location() #12
  %2408 = load i32, ptr %2407, align 4, !tbaa !5
  %2409 = call ptr @strerror(i32 noundef %2408) #11
  %2410 = call ptr @__errno_location() #12
  %2411 = load i32, ptr %2410, align 4, !tbaa !5
  %2412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2399, ptr noundef @.str.26, i32 noundef %2400, ptr noundef @.str.50, ptr noundef @.str.22, i32 noundef 186, ptr noundef %2403, ptr noundef %2406, ptr noundef %2409, i32 noundef %2411) #11
  br label %2413

2413:                                             ; preds = %2396, %2379
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %2414

2414:                                             ; preds = %2413
  br label %2415

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

2416:                                             ; No predecessors!
  br label %2417

2417:                                             ; preds = %2416
  br label %2418

2418:                                             ; preds = %2417, %2351
  br label %2419

2419:                                             ; preds = %2418
  br label %2420

2420:                                             ; preds = %2419
  br label %2421

2421:                                             ; preds = %2420
  %2422 = load i32, ptr @test_count, align 4, !tbaa !5
  %2423 = add nsw i32 %2422, 1
  store i32 %2423, ptr @test_count, align 4, !tbaa !5
  %2424 = load i16, ptr %43, align 2, !tbaa !49
  %2425 = zext i16 %2424 to i32
  %2426 = call i32 @s2n_stuffer_skip_read(ptr noundef %18, i32 noundef %2425)
  %2427 = icmp eq i32 %2426, -1
  br i1 %2427, label %2428, label %2481

2428:                                             ; preds = %2421
  br label %2429

2429:                                             ; preds = %2428
  br label %2430

2430:                                             ; preds = %2429
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #11
  %2431 = call ptr @__errno_location() #12
  %2432 = load i32, ptr %2431, align 4, !tbaa !5
  store i32 %2432, ptr %47, align 4, !tbaa !5
  %2433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2434 = call i32 @s2n_print_stacktrace(ptr noundef %2433)
  %2435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2436 = trunc i8 %2435 to i1
  br i1 %2436, label %2437, label %2459

2437:                                             ; preds = %2430
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = call i32 @fileno(ptr noundef %2438) #11
  %2440 = call i32 @isatty(i32 noundef %2439) #11
  %2441 = icmp ne i32 %2440, 0
  br i1 %2441, label %2442, label %2459

2442:                                             ; preds = %2437
  %2443 = load i32, ptr %47, align 4, !tbaa !5
  %2444 = call ptr @__errno_location() #12
  store i32 %2443, ptr %2444, align 4, !tbaa !5
  %2445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2446 = load i32, ptr @test_count, align 4, !tbaa !5
  %2447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2448 = load i32, ptr %2447, align 4, !tbaa !5
  %2449 = call ptr @s2n_strerror(i32 noundef %2448, ptr noundef @.str.25)
  %2450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2451 = load i32, ptr %2450, align 4, !tbaa !5
  %2452 = call ptr @s2n_strerror_debug(i32 noundef %2451, ptr noundef @.str.25)
  %2453 = call ptr @__errno_location() #12
  %2454 = load i32, ptr %2453, align 4, !tbaa !5
  %2455 = call ptr @strerror(i32 noundef %2454) #11
  %2456 = call ptr @__errno_location() #12
  %2457 = load i32, ptr %2456, align 4, !tbaa !5
  %2458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2445, ptr noundef @.str.23, i32 noundef %2446, ptr noundef @.str.51, ptr noundef @.str.22, i32 noundef 189, ptr noundef %2449, ptr noundef %2452, ptr noundef %2455, i32 noundef %2457) #11
  br label %2476

2459:                                             ; preds = %2437, %2430
  %2460 = load i32, ptr %47, align 4, !tbaa !5
  %2461 = call ptr @__errno_location() #12
  store i32 %2460, ptr %2461, align 4, !tbaa !5
  %2462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2463 = load i32, ptr @test_count, align 4, !tbaa !5
  %2464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2465 = load i32, ptr %2464, align 4, !tbaa !5
  %2466 = call ptr @s2n_strerror(i32 noundef %2465, ptr noundef @.str.25)
  %2467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2468 = load i32, ptr %2467, align 4, !tbaa !5
  %2469 = call ptr @s2n_strerror_debug(i32 noundef %2468, ptr noundef @.str.25)
  %2470 = call ptr @__errno_location() #12
  %2471 = load i32, ptr %2470, align 4, !tbaa !5
  %2472 = call ptr @strerror(i32 noundef %2471) #11
  %2473 = call ptr @__errno_location() #12
  %2474 = load i32, ptr %2473, align 4, !tbaa !5
  %2475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2462, ptr noundef @.str.26, i32 noundef %2463, ptr noundef @.str.51, ptr noundef @.str.22, i32 noundef 189, ptr noundef %2466, ptr noundef %2469, ptr noundef %2472, i32 noundef %2474) #11
  br label %2476

2476:                                             ; preds = %2459, %2442
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %2477

2477:                                             ; preds = %2476
  br label %2478

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

2479:                                             ; No predecessors!
  br label %2480

2480:                                             ; preds = %2479
  br label %2481

2481:                                             ; preds = %2480, %2421
  br label %2482

2482:                                             ; preds = %2481
  br label %2483

2483:                                             ; preds = %2482
  call void @llvm.lifetime.start.p0(i64 2, ptr %48) #11
  store i16 0, ptr %48, align 2, !tbaa !49
  br label %2484

2484:                                             ; preds = %2483
  %2485 = load i32, ptr @test_count, align 4, !tbaa !5
  %2486 = add nsw i32 %2485, 1
  store i32 %2486, ptr @test_count, align 4, !tbaa !5
  %2487 = call i32 @s2n_stuffer_read_uint16(ptr noundef %18, ptr noundef %48)
  %2488 = icmp eq i32 %2487, -1
  br i1 %2488, label %2489, label %2542

2489:                                             ; preds = %2484
  br label %2490

2490:                                             ; preds = %2489
  br label %2491

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

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

2503:                                             ; preds = %2498
  %2504 = load i32, ptr %49, align 4, !tbaa !5
  %2505 = call ptr @__errno_location() #12
  store i32 %2504, ptr %2505, align 4, !tbaa !5
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = load i32, ptr @test_count, align 4, !tbaa !5
  %2508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2509 = load i32, ptr %2508, align 4, !tbaa !5
  %2510 = call ptr @s2n_strerror(i32 noundef %2509, ptr noundef @.str.25)
  %2511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2512 = load i32, ptr %2511, align 4, !tbaa !5
  %2513 = call ptr @s2n_strerror_debug(i32 noundef %2512, ptr noundef @.str.25)
  %2514 = call ptr @__errno_location() #12
  %2515 = load i32, ptr %2514, align 4, !tbaa !5
  %2516 = call ptr @strerror(i32 noundef %2515) #11
  %2517 = call ptr @__errno_location() #12
  %2518 = load i32, ptr %2517, align 4, !tbaa !5
  %2519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2506, ptr noundef @.str.23, i32 noundef %2507, ptr noundef @.str.52, ptr noundef @.str.22, i32 noundef 192, ptr noundef %2510, ptr noundef %2513, ptr noundef %2516, i32 noundef %2518) #11
  br label %2537

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

2537:                                             ; preds = %2520, %2503
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2538

2538:                                             ; preds = %2537
  br label %2539

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

2540:                                             ; No predecessors!
  br label %2541

2541:                                             ; preds = %2540
  br label %2542

2542:                                             ; preds = %2541, %2484
  br label %2543

2543:                                             ; preds = %2542
  br label %2544

2544:                                             ; preds = %2543
  br label %2545

2545:                                             ; preds = %2544
  %2546 = load i32, ptr @test_count, align 4, !tbaa !5
  %2547 = add nsw i32 %2546, 1
  store i32 %2547, ptr @test_count, align 4, !tbaa !5
  %2548 = load i16, ptr %48, align 2, !tbaa !49
  %2549 = zext i16 %2548 to i32
  %2550 = icmp eq i32 %2549, 0
  br i1 %2550, label %2604, label %2551

2551:                                             ; preds = %2545
  br label %2552

2552:                                             ; preds = %2551
  br label %2553

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

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

2565:                                             ; preds = %2560
  %2566 = load i32, ptr %50, align 4, !tbaa !5
  %2567 = call ptr @__errno_location() #12
  store i32 %2566, ptr %2567, align 4, !tbaa !5
  %2568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2569 = load i32, ptr @test_count, align 4, !tbaa !5
  %2570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2571 = load i32, ptr %2570, align 4, !tbaa !5
  %2572 = call ptr @s2n_strerror(i32 noundef %2571, ptr noundef @.str.25)
  %2573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2574 = load i32, ptr %2573, align 4, !tbaa !5
  %2575 = call ptr @s2n_strerror_debug(i32 noundef %2574, ptr noundef @.str.25)
  %2576 = call ptr @__errno_location() #12
  %2577 = load i32, ptr %2576, align 4, !tbaa !5
  %2578 = call ptr @strerror(i32 noundef %2577) #11
  %2579 = call ptr @__errno_location() #12
  %2580 = load i32, ptr %2579, align 4, !tbaa !5
  %2581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2568, ptr noundef @.str.23, i32 noundef %2569, ptr noundef @.str.53, ptr noundef @.str.22, i32 noundef 193, ptr noundef %2572, ptr noundef %2575, ptr noundef %2578, i32 noundef %2580) #11
  br label %2599

2582:                                             ; preds = %2560, %2553
  %2583 = load i32, ptr %50, align 4, !tbaa !5
  %2584 = call ptr @__errno_location() #12
  store i32 %2583, ptr %2584, align 4, !tbaa !5
  %2585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2586 = load i32, ptr @test_count, align 4, !tbaa !5
  %2587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2588 = load i32, ptr %2587, align 4, !tbaa !5
  %2589 = call ptr @s2n_strerror(i32 noundef %2588, ptr noundef @.str.25)
  %2590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2591 = load i32, ptr %2590, align 4, !tbaa !5
  %2592 = call ptr @s2n_strerror_debug(i32 noundef %2591, ptr noundef @.str.25)
  %2593 = call ptr @__errno_location() #12
  %2594 = load i32, ptr %2593, align 4, !tbaa !5
  %2595 = call ptr @strerror(i32 noundef %2594) #11
  %2596 = call ptr @__errno_location() #12
  %2597 = load i32, ptr %2596, align 4, !tbaa !5
  %2598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2585, ptr noundef @.str.26, i32 noundef %2586, ptr noundef @.str.53, ptr noundef @.str.22, i32 noundef 193, ptr noundef %2589, ptr noundef %2592, ptr noundef %2595, i32 noundef %2597) #11
  br label %2599

2599:                                             ; preds = %2582, %2565
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2600

2600:                                             ; preds = %2599
  br label %2601

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

2602:                                             ; No predecessors!
  br label %2603

2603:                                             ; preds = %2602
  br label %2604

2604:                                             ; preds = %2603, %2545
  br label %2605

2605:                                             ; preds = %2604
  br label %2606

2606:                                             ; preds = %2605
  br label %2607

2607:                                             ; preds = %2606
  %2608 = load i32, ptr @test_count, align 4, !tbaa !5
  %2609 = add nsw i32 %2608, 1
  store i32 %2609, ptr @test_count, align 4, !tbaa !5
  %2610 = getelementptr inbounds %struct.s2n_stuffer, ptr %18, i32 0, i32 2
  %2611 = load i32, ptr %2610, align 4, !tbaa !52
  %2612 = getelementptr inbounds %struct.s2n_stuffer, ptr %18, i32 0, i32 1
  %2613 = load i32, ptr %2612, align 8, !tbaa !53
  %2614 = sub i32 %2611, %2613
  %2615 = icmp eq i32 %2614, 0
  br i1 %2615, label %2669, label %2616

2616:                                             ; preds = %2607
  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.25)
  %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.25)
  %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.23, i32 noundef %2634, ptr noundef @.str.54, ptr noundef @.str.22, i32 noundef 195, 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.25)
  %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.25)
  %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.26, i32 noundef %2651, ptr noundef @.str.54, ptr noundef @.str.22, i32 noundef 195, 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, %2607
  br label %2670

2670:                                             ; preds = %2669
  br label %2671

2671:                                             ; preds = %2670
  br label %2672

2672:                                             ; preds = %2671
  %2673 = load i32, ptr @test_count, align 4, !tbaa !5
  %2674 = add nsw i32 %2673, 1
  store i32 %2674, ptr @test_count, align 4, !tbaa !5
  %2675 = load ptr, ptr %10, align 8, !tbaa !9
  %2676 = getelementptr inbounds %struct.s2n_connection, ptr %2675, i32 0, i32 88
  %2677 = load i16, ptr %2676, align 2, !tbaa !50
  %2678 = zext i16 %2677 to i32
  %2679 = load i16, ptr %17, align 2, !tbaa !49
  %2680 = zext i16 %2679 to i32
  %2681 = add nsw i32 %2680, 1
  %2682 = icmp eq i32 %2678, %2681
  br i1 %2682, label %2736, label %2683

2683:                                             ; preds = %2672
  br label %2684

2684:                                             ; preds = %2683
  br label %2685

2685:                                             ; preds = %2684
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #11
  %2686 = call ptr @__errno_location() #12
  %2687 = load i32, ptr %2686, align 4, !tbaa !5
  store i32 %2687, ptr %52, align 4, !tbaa !5
  %2688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2689 = call i32 @s2n_print_stacktrace(ptr noundef %2688)
  %2690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2691 = trunc i8 %2690 to i1
  br i1 %2691, label %2692, label %2714

2692:                                             ; preds = %2685
  %2693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2694 = call i32 @fileno(ptr noundef %2693) #11
  %2695 = call i32 @isatty(i32 noundef %2694) #11
  %2696 = icmp ne i32 %2695, 0
  br i1 %2696, label %2697, label %2714

2697:                                             ; preds = %2692
  %2698 = load i32, ptr %52, align 4, !tbaa !5
  %2699 = call ptr @__errno_location() #12
  store i32 %2698, ptr %2699, align 4, !tbaa !5
  %2700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2701 = load i32, ptr @test_count, align 4, !tbaa !5
  %2702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2703 = load i32, ptr %2702, align 4, !tbaa !5
  %2704 = call ptr @s2n_strerror(i32 noundef %2703, ptr noundef @.str.25)
  %2705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2706 = load i32, ptr %2705, align 4, !tbaa !5
  %2707 = call ptr @s2n_strerror_debug(i32 noundef %2706, ptr noundef @.str.25)
  %2708 = call ptr @__errno_location() #12
  %2709 = load i32, ptr %2708, align 4, !tbaa !5
  %2710 = call ptr @strerror(i32 noundef %2709) #11
  %2711 = call ptr @__errno_location() #12
  %2712 = load i32, ptr %2711, align 4, !tbaa !5
  %2713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2700, ptr noundef @.str.23, i32 noundef %2701, ptr noundef @.str.55, ptr noundef @.str.22, i32 noundef 197, ptr noundef %2704, ptr noundef %2707, ptr noundef %2710, i32 noundef %2712) #11
  br label %2731

2714:                                             ; preds = %2692, %2685
  %2715 = load i32, ptr %52, align 4, !tbaa !5
  %2716 = call ptr @__errno_location() #12
  store i32 %2715, ptr %2716, align 4, !tbaa !5
  %2717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2718 = load i32, ptr @test_count, align 4, !tbaa !5
  %2719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2720 = load i32, ptr %2719, align 4, !tbaa !5
  %2721 = call ptr @s2n_strerror(i32 noundef %2720, ptr noundef @.str.25)
  %2722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2723 = load i32, ptr %2722, align 4, !tbaa !5
  %2724 = call ptr @s2n_strerror_debug(i32 noundef %2723, ptr noundef @.str.25)
  %2725 = call ptr @__errno_location() #12
  %2726 = load i32, ptr %2725, align 4, !tbaa !5
  %2727 = call ptr @strerror(i32 noundef %2726) #11
  %2728 = call ptr @__errno_location() #12
  %2729 = load i32, ptr %2728, align 4, !tbaa !5
  %2730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2717, ptr noundef @.str.26, i32 noundef %2718, ptr noundef @.str.55, ptr noundef @.str.22, i32 noundef 197, ptr noundef %2721, ptr noundef %2724, ptr noundef %2727, i32 noundef %2729) #11
  br label %2731

2731:                                             ; preds = %2714, %2697
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #11
  br label %2732

2732:                                             ; preds = %2731
  br label %2733

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

2734:                                             ; No predecessors!
  br label %2735

2735:                                             ; preds = %2734
  br label %2736

2736:                                             ; preds = %2735, %2672
  br label %2737

2737:                                             ; preds = %2736
  br label %2738

2738:                                             ; preds = %2737
  br label %2739

2739:                                             ; preds = %2738
  %2740 = load i32, ptr @test_count, align 4, !tbaa !5
  %2741 = add nsw i32 %2740, 1
  store i32 %2741, ptr @test_count, align 4, !tbaa !5
  %2742 = load ptr, ptr %10, align 8, !tbaa !9
  %2743 = call i32 @s2n_connection_free(ptr noundef %2742)
  %2744 = icmp eq i32 %2743, -1
  br i1 %2744, label %2745, label %2798

2745:                                             ; preds = %2739
  br label %2746

2746:                                             ; preds = %2745
  br label %2747

2747:                                             ; preds = %2746
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #11
  %2748 = call ptr @__errno_location() #12
  %2749 = load i32, ptr %2748, align 4, !tbaa !5
  store i32 %2749, ptr %53, align 4, !tbaa !5
  %2750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2751 = call i32 @s2n_print_stacktrace(ptr noundef %2750)
  %2752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2753 = trunc i8 %2752 to i1
  br i1 %2753, label %2754, label %2776

2754:                                             ; preds = %2747
  %2755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2756 = call i32 @fileno(ptr noundef %2755) #11
  %2757 = call i32 @isatty(i32 noundef %2756) #11
  %2758 = icmp ne i32 %2757, 0
  br i1 %2758, label %2759, label %2776

2759:                                             ; preds = %2754
  %2760 = load i32, ptr %53, align 4, !tbaa !5
  %2761 = call ptr @__errno_location() #12
  store i32 %2760, ptr %2761, align 4, !tbaa !5
  %2762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2763 = load i32, ptr @test_count, align 4, !tbaa !5
  %2764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2765 = load i32, ptr %2764, align 4, !tbaa !5
  %2766 = call ptr @s2n_strerror(i32 noundef %2765, ptr noundef @.str.25)
  %2767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2768 = load i32, ptr %2767, align 4, !tbaa !5
  %2769 = call ptr @s2n_strerror_debug(i32 noundef %2768, ptr noundef @.str.25)
  %2770 = call ptr @__errno_location() #12
  %2771 = load i32, ptr %2770, align 4, !tbaa !5
  %2772 = call ptr @strerror(i32 noundef %2771) #11
  %2773 = call ptr @__errno_location() #12
  %2774 = load i32, ptr %2773, align 4, !tbaa !5
  %2775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2762, ptr noundef @.str.23, i32 noundef %2763, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 199, ptr noundef %2766, ptr noundef %2769, ptr noundef %2772, i32 noundef %2774) #11
  br label %2793

2776:                                             ; preds = %2754, %2747
  %2777 = load i32, ptr %53, align 4, !tbaa !5
  %2778 = call ptr @__errno_location() #12
  store i32 %2777, ptr %2778, align 4, !tbaa !5
  %2779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2780 = load i32, ptr @test_count, align 4, !tbaa !5
  %2781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2782 = load i32, ptr %2781, align 4, !tbaa !5
  %2783 = call ptr @s2n_strerror(i32 noundef %2782, ptr noundef @.str.25)
  %2784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2785 = load i32, ptr %2784, align 4, !tbaa !5
  %2786 = call ptr @s2n_strerror_debug(i32 noundef %2785, ptr noundef @.str.25)
  %2787 = call ptr @__errno_location() #12
  %2788 = load i32, ptr %2787, align 4, !tbaa !5
  %2789 = call ptr @strerror(i32 noundef %2788) #11
  %2790 = call ptr @__errno_location() #12
  %2791 = load i32, ptr %2790, align 4, !tbaa !5
  %2792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2779, ptr noundef @.str.26, i32 noundef %2780, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 199, ptr noundef %2783, ptr noundef %2786, ptr noundef %2789, i32 noundef %2791) #11
  br label %2793

2793:                                             ; preds = %2776, %2759
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2794

2794:                                             ; preds = %2793
  br label %2795

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

2796:                                             ; No predecessors!
  br label %2797

2797:                                             ; preds = %2796
  br label %2798

2798:                                             ; preds = %2797, %2739
  br label %2799

2799:                                             ; preds = %2798
  br label %2800

2800:                                             ; preds = %2799
  br label %2801

2801:                                             ; preds = %2800
  %2802 = load i32, ptr @test_count, align 4, !tbaa !5
  %2803 = add nsw i32 %2802, 1
  store i32 %2803, ptr @test_count, align 4, !tbaa !5
  %2804 = call i32 @s2n_stuffer_free(ptr noundef %18)
  %2805 = icmp eq i32 %2804, -1
  br i1 %2805, label %2806, label %2859

2806:                                             ; preds = %2801
  br label %2807

2807:                                             ; preds = %2806
  br label %2808

2808:                                             ; preds = %2807
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #11
  %2809 = call ptr @__errno_location() #12
  %2810 = load i32, ptr %2809, align 4, !tbaa !5
  store i32 %2810, ptr %54, align 4, !tbaa !5
  %2811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2812 = call i32 @s2n_print_stacktrace(ptr noundef %2811)
  %2813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2814 = trunc i8 %2813 to i1
  br i1 %2814, label %2815, label %2837

2815:                                             ; preds = %2808
  %2816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2817 = call i32 @fileno(ptr noundef %2816) #11
  %2818 = call i32 @isatty(i32 noundef %2817) #11
  %2819 = icmp ne i32 %2818, 0
  br i1 %2819, label %2820, label %2837

2820:                                             ; preds = %2815
  %2821 = load i32, ptr %54, align 4, !tbaa !5
  %2822 = call ptr @__errno_location() #12
  store i32 %2821, ptr %2822, align 4, !tbaa !5
  %2823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2824 = load i32, ptr @test_count, align 4, !tbaa !5
  %2825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2826 = load i32, ptr %2825, align 4, !tbaa !5
  %2827 = call ptr @s2n_strerror(i32 noundef %2826, ptr noundef @.str.25)
  %2828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2829 = load i32, ptr %2828, align 4, !tbaa !5
  %2830 = call ptr @s2n_strerror_debug(i32 noundef %2829, ptr noundef @.str.25)
  %2831 = call ptr @__errno_location() #12
  %2832 = load i32, ptr %2831, align 4, !tbaa !5
  %2833 = call ptr @strerror(i32 noundef %2832) #11
  %2834 = call ptr @__errno_location() #12
  %2835 = load i32, ptr %2834, align 4, !tbaa !5
  %2836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2823, ptr noundef @.str.23, i32 noundef %2824, ptr noundef @.str.57, ptr noundef @.str.22, i32 noundef 200, ptr noundef %2827, ptr noundef %2830, ptr noundef %2833, i32 noundef %2835) #11
  br label %2854

2837:                                             ; preds = %2815, %2808
  %2838 = load i32, ptr %54, align 4, !tbaa !5
  %2839 = call ptr @__errno_location() #12
  store i32 %2838, ptr %2839, align 4, !tbaa !5
  %2840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2841 = load i32, ptr @test_count, align 4, !tbaa !5
  %2842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2843 = load i32, ptr %2842, align 4, !tbaa !5
  %2844 = call ptr @s2n_strerror(i32 noundef %2843, ptr noundef @.str.25)
  %2845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2846 = load i32, ptr %2845, align 4, !tbaa !5
  %2847 = call ptr @s2n_strerror_debug(i32 noundef %2846, ptr noundef @.str.25)
  %2848 = call ptr @__errno_location() #12
  %2849 = load i32, ptr %2848, align 4, !tbaa !5
  %2850 = call ptr @strerror(i32 noundef %2849) #11
  %2851 = call ptr @__errno_location() #12
  %2852 = load i32, ptr %2851, align 4, !tbaa !5
  %2853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2840, ptr noundef @.str.26, i32 noundef %2841, ptr noundef @.str.57, ptr noundef @.str.22, i32 noundef 200, ptr noundef %2844, ptr noundef %2847, ptr noundef %2850, i32 noundef %2852) #11
  br label %2854

2854:                                             ; preds = %2837, %2820
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2855

2855:                                             ; preds = %2854
  br label %2856

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

2857:                                             ; No predecessors!
  br label %2858

2858:                                             ; preds = %2857
  br label %2859

2859:                                             ; preds = %2858, %2801
  br label %2860

2860:                                             ; preds = %2859
  br label %2861

2861:                                             ; preds = %2860
  br label %2862

2862:                                             ; preds = %2861
  %2863 = load i32, ptr @test_count, align 4, !tbaa !5
  %2864 = add nsw i32 %2863, 1
  store i32 %2864, ptr @test_count, align 4, !tbaa !5
  %2865 = load ptr, ptr %9, align 8, !tbaa !9
  %2866 = call i32 @s2n_config_free(ptr noundef %2865)
  %2867 = icmp eq i32 %2866, -1
  br i1 %2867, label %2868, label %2921

2868:                                             ; preds = %2862
  br label %2869

2869:                                             ; preds = %2868
  br label %2870

2870:                                             ; preds = %2869
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #11
  %2871 = call ptr @__errno_location() #12
  %2872 = load i32, ptr %2871, align 4, !tbaa !5
  store i32 %2872, ptr %55, align 4, !tbaa !5
  %2873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2874 = call i32 @s2n_print_stacktrace(ptr noundef %2873)
  %2875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2876 = trunc i8 %2875 to i1
  br i1 %2876, label %2877, label %2899

2877:                                             ; preds = %2870
  %2878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2879 = call i32 @fileno(ptr noundef %2878) #11
  %2880 = call i32 @isatty(i32 noundef %2879) #11
  %2881 = icmp ne i32 %2880, 0
  br i1 %2881, label %2882, label %2899

2882:                                             ; preds = %2877
  %2883 = load i32, ptr %55, align 4, !tbaa !5
  %2884 = call ptr @__errno_location() #12
  store i32 %2883, ptr %2884, align 4, !tbaa !5
  %2885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2886 = load i32, ptr @test_count, align 4, !tbaa !5
  %2887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2888 = load i32, ptr %2887, align 4, !tbaa !5
  %2889 = call ptr @s2n_strerror(i32 noundef %2888, ptr noundef @.str.25)
  %2890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2891 = load i32, ptr %2890, align 4, !tbaa !5
  %2892 = call ptr @s2n_strerror_debug(i32 noundef %2891, ptr noundef @.str.25)
  %2893 = call ptr @__errno_location() #12
  %2894 = load i32, ptr %2893, align 4, !tbaa !5
  %2895 = call ptr @strerror(i32 noundef %2894) #11
  %2896 = call ptr @__errno_location() #12
  %2897 = load i32, ptr %2896, align 4, !tbaa !5
  %2898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2885, ptr noundef @.str.23, i32 noundef %2886, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 201, ptr noundef %2889, ptr noundef %2892, ptr noundef %2895, i32 noundef %2897) #11
  br label %2916

2899:                                             ; preds = %2877, %2870
  %2900 = load i32, ptr %55, align 4, !tbaa !5
  %2901 = call ptr @__errno_location() #12
  store i32 %2900, ptr %2901, align 4, !tbaa !5
  %2902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2903 = load i32, ptr @test_count, align 4, !tbaa !5
  %2904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2905 = load i32, ptr %2904, align 4, !tbaa !5
  %2906 = call ptr @s2n_strerror(i32 noundef %2905, ptr noundef @.str.25)
  %2907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2908 = load i32, ptr %2907, align 4, !tbaa !5
  %2909 = call ptr @s2n_strerror_debug(i32 noundef %2908, ptr noundef @.str.25)
  %2910 = call ptr @__errno_location() #12
  %2911 = load i32, ptr %2910, align 4, !tbaa !5
  %2912 = call ptr @strerror(i32 noundef %2911) #11
  %2913 = call ptr @__errno_location() #12
  %2914 = load i32, ptr %2913, align 4, !tbaa !5
  %2915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2902, ptr noundef @.str.26, i32 noundef %2903, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 201, ptr noundef %2906, ptr noundef %2909, ptr noundef %2912, i32 noundef %2914) #11
  br label %2916

2916:                                             ; preds = %2899, %2882
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2917

2917:                                             ; preds = %2916
  br label %2918

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

2919:                                             ; No predecessors!
  br label %2920

2920:                                             ; preds = %2919
  br label %2921

2921:                                             ; preds = %2920, %2862
  br label %2922

2922:                                             ; preds = %2921
  br label %2923

2923:                                             ; preds = %2922
  call void @llvm.lifetime.end.p0(i64 2, ptr %48) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %43) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %37) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %35) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %18) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %17) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #11
  store ptr null, ptr %56, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #11
  store ptr null, ptr %57, align 8, !tbaa !9
  br label %2924

2924:                                             ; preds = %2923
  %2925 = load i32, ptr @test_count, align 4, !tbaa !5
  %2926 = add nsw i32 %2925, 1
  store i32 %2926, ptr @test_count, align 4, !tbaa !5
  %2927 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2927, ptr %57, align 8, !tbaa !9
  %2928 = icmp eq ptr %2927, null
  br i1 %2928, label %2929, label %2982

2929:                                             ; preds = %2924
  br label %2930

2930:                                             ; preds = %2929
  br label %2931

2931:                                             ; preds = %2930
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #11
  %2932 = call ptr @__errno_location() #12
  %2933 = load i32, ptr %2932, align 4, !tbaa !5
  store i32 %2933, ptr %58, align 4, !tbaa !5
  %2934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2935 = call i32 @s2n_print_stacktrace(ptr noundef %2934)
  %2936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2937 = trunc i8 %2936 to i1
  br i1 %2937, label %2938, label %2960

2938:                                             ; preds = %2931
  %2939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2940 = call i32 @fileno(ptr noundef %2939) #11
  %2941 = call i32 @isatty(i32 noundef %2940) #11
  %2942 = icmp ne i32 %2941, 0
  br i1 %2942, label %2943, label %2960

2943:                                             ; preds = %2938
  %2944 = load i32, ptr %58, align 4, !tbaa !5
  %2945 = call ptr @__errno_location() #12
  store i32 %2944, ptr %2945, align 4, !tbaa !5
  %2946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2947 = load i32, ptr @test_count, align 4, !tbaa !5
  %2948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2949 = load i32, ptr %2948, align 4, !tbaa !5
  %2950 = call ptr @s2n_strerror(i32 noundef %2949, ptr noundef @.str.25)
  %2951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2952 = load i32, ptr %2951, align 4, !tbaa !5
  %2953 = call ptr @s2n_strerror_debug(i32 noundef %2952, ptr noundef @.str.25)
  %2954 = call ptr @__errno_location() #12
  %2955 = load i32, ptr %2954, align 4, !tbaa !5
  %2956 = call ptr @strerror(i32 noundef %2955) #11
  %2957 = call ptr @__errno_location() #12
  %2958 = load i32, ptr %2957, align 4, !tbaa !5
  %2959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2946, ptr noundef @.str.23, i32 noundef %2947, ptr noundef @.str.29, ptr noundef @.str.22, i32 noundef 208, ptr noundef %2950, ptr noundef %2953, ptr noundef %2956, i32 noundef %2958) #11
  br label %2977

2960:                                             ; preds = %2938, %2931
  %2961 = load i32, ptr %58, align 4, !tbaa !5
  %2962 = call ptr @__errno_location() #12
  store i32 %2961, ptr %2962, align 4, !tbaa !5
  %2963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2964 = load i32, ptr @test_count, align 4, !tbaa !5
  %2965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2966 = load i32, ptr %2965, align 4, !tbaa !5
  %2967 = call ptr @s2n_strerror(i32 noundef %2966, ptr noundef @.str.25)
  %2968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2969 = load i32, ptr %2968, align 4, !tbaa !5
  %2970 = call ptr @s2n_strerror_debug(i32 noundef %2969, ptr noundef @.str.25)
  %2971 = call ptr @__errno_location() #12
  %2972 = load i32, ptr %2971, align 4, !tbaa !5
  %2973 = call ptr @strerror(i32 noundef %2972) #11
  %2974 = call ptr @__errno_location() #12
  %2975 = load i32, ptr %2974, align 4, !tbaa !5
  %2976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2963, ptr noundef @.str.26, i32 noundef %2964, ptr noundef @.str.29, ptr noundef @.str.22, i32 noundef 208, ptr noundef %2967, ptr noundef %2970, ptr noundef %2973, i32 noundef %2975) #11
  br label %2977

2977:                                             ; preds = %2960, %2943
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %2978

2978:                                             ; preds = %2977
  br label %2979

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

2980:                                             ; No predecessors!
  br label %2981

2981:                                             ; preds = %2980
  br label %2982

2982:                                             ; preds = %2981, %2924
  br label %2983

2983:                                             ; preds = %2982
  br label %2984

2984:                                             ; preds = %2983
  br label %2985

2985:                                             ; preds = %2984
  %2986 = load i32, ptr @test_count, align 4, !tbaa !5
  %2987 = add nsw i32 %2986, 1
  store i32 %2987, ptr @test_count, align 4, !tbaa !5
  %2988 = call ptr @s2n_config_new()
  store ptr %2988, ptr %56, align 8, !tbaa !9
  %2989 = icmp eq ptr %2988, null
  br i1 %2989, label %2990, label %3043

2990:                                             ; preds = %2985
  br label %2991

2991:                                             ; preds = %2990
  br label %2992

2992:                                             ; preds = %2991
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #11
  %2993 = call ptr @__errno_location() #12
  %2994 = load i32, ptr %2993, align 4, !tbaa !5
  store i32 %2994, ptr %59, align 4, !tbaa !5
  %2995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2996 = call i32 @s2n_print_stacktrace(ptr noundef %2995)
  %2997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2998 = trunc i8 %2997 to i1
  br i1 %2998, label %2999, label %3021

2999:                                             ; preds = %2992
  %3000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3001 = call i32 @fileno(ptr noundef %3000) #11
  %3002 = call i32 @isatty(i32 noundef %3001) #11
  %3003 = icmp ne i32 %3002, 0
  br i1 %3003, label %3004, label %3021

3004:                                             ; preds = %2999
  %3005 = load i32, ptr %59, align 4, !tbaa !5
  %3006 = call ptr @__errno_location() #12
  store i32 %3005, ptr %3006, align 4, !tbaa !5
  %3007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3008 = load i32, ptr @test_count, align 4, !tbaa !5
  %3009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3010 = load i32, ptr %3009, align 4, !tbaa !5
  %3011 = call ptr @s2n_strerror(i32 noundef %3010, ptr noundef @.str.25)
  %3012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3013 = load i32, ptr %3012, align 4, !tbaa !5
  %3014 = call ptr @s2n_strerror_debug(i32 noundef %3013, ptr noundef @.str.25)
  %3015 = call ptr @__errno_location() #12
  %3016 = load i32, ptr %3015, align 4, !tbaa !5
  %3017 = call ptr @strerror(i32 noundef %3016) #11
  %3018 = call ptr @__errno_location() #12
  %3019 = load i32, ptr %3018, align 4, !tbaa !5
  %3020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3007, ptr noundef @.str.23, i32 noundef %3008, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 209, ptr noundef %3011, ptr noundef %3014, ptr noundef %3017, i32 noundef %3019) #11
  br label %3038

3021:                                             ; preds = %2999, %2992
  %3022 = load i32, ptr %59, align 4, !tbaa !5
  %3023 = call ptr @__errno_location() #12
  store i32 %3022, ptr %3023, align 4, !tbaa !5
  %3024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3025 = load i32, ptr @test_count, align 4, !tbaa !5
  %3026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3027 = load i32, ptr %3026, align 4, !tbaa !5
  %3028 = call ptr @s2n_strerror(i32 noundef %3027, ptr noundef @.str.25)
  %3029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3030 = load i32, ptr %3029, align 4, !tbaa !5
  %3031 = call ptr @s2n_strerror_debug(i32 noundef %3030, ptr noundef @.str.25)
  %3032 = call ptr @__errno_location() #12
  %3033 = load i32, ptr %3032, align 4, !tbaa !5
  %3034 = call ptr @strerror(i32 noundef %3033) #11
  %3035 = call ptr @__errno_location() #12
  %3036 = load i32, ptr %3035, align 4, !tbaa !5
  %3037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3024, ptr noundef @.str.26, i32 noundef %3025, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 209, ptr noundef %3028, ptr noundef %3031, ptr noundef %3034, i32 noundef %3036) #11
  br label %3038

3038:                                             ; preds = %3021, %3004
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %3039

3039:                                             ; preds = %3038
  br label %3040

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

3041:                                             ; No predecessors!
  br label %3042

3042:                                             ; preds = %3041
  br label %3043

3043:                                             ; preds = %3042, %2985
  br label %3044

3044:                                             ; preds = %3043
  br label %3045

3045:                                             ; preds = %3044
  br label %3046

3046:                                             ; preds = %3045
  %3047 = load i32, ptr @test_count, align 4, !tbaa !5
  %3048 = add nsw i32 %3047, 1
  store i32 %3048, ptr @test_count, align 4, !tbaa !5
  %3049 = load ptr, ptr %56, align 8, !tbaa !9
  %3050 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %3049)
  %3051 = getelementptr inbounds %struct.s2n_result, ptr %60, i32 0, i32 0
  store i32 %3050, ptr %3051, align 4
  %3052 = getelementptr inbounds %struct.s2n_result, ptr %60, i32 0, i32 0
  %3053 = load i32, ptr %3052, align 4
  %3054 = call zeroext i1 @s2n_result_is_ok(i32 %3053)
  br i1 %3054, label %3108, label %3055

3055:                                             ; preds = %3046
  br label %3056

3056:                                             ; preds = %3055
  br label %3057

3057:                                             ; preds = %3056
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #11
  %3058 = call ptr @__errno_location() #12
  %3059 = load i32, ptr %3058, align 4, !tbaa !5
  store i32 %3059, ptr %61, align 4, !tbaa !5
  %3060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3061 = call i32 @s2n_print_stacktrace(ptr noundef %3060)
  %3062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3063 = trunc i8 %3062 to i1
  br i1 %3063, label %3064, label %3086

3064:                                             ; preds = %3057
  %3065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3066 = call i32 @fileno(ptr noundef %3065) #11
  %3067 = call i32 @isatty(i32 noundef %3066) #11
  %3068 = icmp ne i32 %3067, 0
  br i1 %3068, label %3069, label %3086

3069:                                             ; preds = %3064
  %3070 = load i32, ptr %61, align 4, !tbaa !5
  %3071 = call ptr @__errno_location() #12
  store i32 %3070, ptr %3071, align 4, !tbaa !5
  %3072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3073 = load i32, ptr @test_count, align 4, !tbaa !5
  %3074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3075 = load i32, ptr %3074, align 4, !tbaa !5
  %3076 = call ptr @s2n_strerror(i32 noundef %3075, ptr noundef @.str.25)
  %3077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3078 = load i32, ptr %3077, align 4, !tbaa !5
  %3079 = call ptr @s2n_strerror_debug(i32 noundef %3078, ptr noundef @.str.25)
  %3080 = call ptr @__errno_location() #12
  %3081 = load i32, ptr %3080, align 4, !tbaa !5
  %3082 = call ptr @strerror(i32 noundef %3081) #11
  %3083 = call ptr @__errno_location() #12
  %3084 = load i32, ptr %3083, align 4, !tbaa !5
  %3085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3072, ptr noundef @.str.23, i32 noundef %3073, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 211, ptr noundef %3076, ptr noundef %3079, ptr noundef %3082, i32 noundef %3084) #11
  br label %3103

3086:                                             ; preds = %3064, %3057
  %3087 = load i32, ptr %61, align 4, !tbaa !5
  %3088 = call ptr @__errno_location() #12
  store i32 %3087, ptr %3088, align 4, !tbaa !5
  %3089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3090 = load i32, ptr @test_count, align 4, !tbaa !5
  %3091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3092 = load i32, ptr %3091, align 4, !tbaa !5
  %3093 = call ptr @s2n_strerror(i32 noundef %3092, ptr noundef @.str.25)
  %3094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3095 = load i32, ptr %3094, align 4, !tbaa !5
  %3096 = call ptr @s2n_strerror_debug(i32 noundef %3095, ptr noundef @.str.25)
  %3097 = call ptr @__errno_location() #12
  %3098 = load i32, ptr %3097, align 4, !tbaa !5
  %3099 = call ptr @strerror(i32 noundef %3098) #11
  %3100 = call ptr @__errno_location() #12
  %3101 = load i32, ptr %3100, align 4, !tbaa !5
  %3102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3089, ptr noundef @.str.26, i32 noundef %3090, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 211, ptr noundef %3093, ptr noundef %3096, ptr noundef %3099, i32 noundef %3101) #11
  br label %3103

3103:                                             ; preds = %3086, %3069
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %3104

3104:                                             ; preds = %3103
  br label %3105

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

3106:                                             ; No predecessors!
  br label %3107

3107:                                             ; preds = %3106
  br label %3108

3108:                                             ; preds = %3107, %3046
  br label %3109

3109:                                             ; preds = %3108
  br label %3110

3110:                                             ; preds = %3109
  br label %3111

3111:                                             ; preds = %3110
  %3112 = load i32, ptr @test_count, align 4, !tbaa !5
  %3113 = add nsw i32 %3112, 1
  store i32 %3113, ptr @test_count, align 4, !tbaa !5
  %3114 = load ptr, ptr %57, align 8, !tbaa !9
  %3115 = load ptr, ptr %56, align 8, !tbaa !9
  %3116 = call i32 @s2n_connection_set_config(ptr noundef %3114, ptr noundef %3115)
  %3117 = icmp eq i32 %3116, -1
  br i1 %3117, label %3118, label %3171

3118:                                             ; preds = %3111
  br label %3119

3119:                                             ; preds = %3118
  br label %3120

3120:                                             ; preds = %3119
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  %3121 = call ptr @__errno_location() #12
  %3122 = load i32, ptr %3121, align 4, !tbaa !5
  store i32 %3122, ptr %62, align 4, !tbaa !5
  %3123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3124 = call i32 @s2n_print_stacktrace(ptr noundef %3123)
  %3125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3126 = trunc i8 %3125 to i1
  br i1 %3126, label %3127, label %3149

3127:                                             ; preds = %3120
  %3128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3129 = call i32 @fileno(ptr noundef %3128) #11
  %3130 = call i32 @isatty(i32 noundef %3129) #11
  %3131 = icmp ne i32 %3130, 0
  br i1 %3131, label %3132, label %3149

3132:                                             ; preds = %3127
  %3133 = load i32, ptr %62, align 4, !tbaa !5
  %3134 = call ptr @__errno_location() #12
  store i32 %3133, ptr %3134, align 4, !tbaa !5
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = load i32, ptr @test_count, align 4, !tbaa !5
  %3137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3138 = load i32, ptr %3137, align 4, !tbaa !5
  %3139 = call ptr @s2n_strerror(i32 noundef %3138, ptr noundef @.str.25)
  %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_debug(i32 noundef %3141, ptr noundef @.str.25)
  %3143 = call ptr @__errno_location() #12
  %3144 = load i32, ptr %3143, align 4, !tbaa !5
  %3145 = call ptr @strerror(i32 noundef %3144) #11
  %3146 = call ptr @__errno_location() #12
  %3147 = load i32, ptr %3146, align 4, !tbaa !5
  %3148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3135, ptr noundef @.str.23, i32 noundef %3136, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 212, ptr noundef %3139, ptr noundef %3142, ptr noundef %3145, i32 noundef %3147) #11
  br label %3166

3149:                                             ; preds = %3127, %3120
  %3150 = load i32, ptr %62, align 4, !tbaa !5
  %3151 = call ptr @__errno_location() #12
  store i32 %3150, ptr %3151, align 4, !tbaa !5
  %3152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3153 = load i32, ptr @test_count, align 4, !tbaa !5
  %3154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3155 = load i32, ptr %3154, align 4, !tbaa !5
  %3156 = call ptr @s2n_strerror(i32 noundef %3155, ptr noundef @.str.25)
  %3157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3158 = load i32, ptr %3157, align 4, !tbaa !5
  %3159 = call ptr @s2n_strerror_debug(i32 noundef %3158, ptr noundef @.str.25)
  %3160 = call ptr @__errno_location() #12
  %3161 = load i32, ptr %3160, align 4, !tbaa !5
  %3162 = call ptr @strerror(i32 noundef %3161) #11
  %3163 = call ptr @__errno_location() #12
  %3164 = load i32, ptr %3163, align 4, !tbaa !5
  %3165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3152, ptr noundef @.str.26, i32 noundef %3153, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 212, ptr noundef %3156, ptr noundef %3159, ptr noundef %3162, i32 noundef %3164) #11
  br label %3166

3166:                                             ; preds = %3149, %3132
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %3167

3167:                                             ; preds = %3166
  br label %3168

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

3169:                                             ; No predecessors!
  br label %3170

3170:                                             ; preds = %3169
  br label %3171

3171:                                             ; preds = %3170, %3111
  br label %3172

3172:                                             ; preds = %3171
  br label %3173

3173:                                             ; preds = %3172
  %3174 = load ptr, ptr %57, align 8, !tbaa !9
  %3175 = getelementptr inbounds %struct.s2n_connection, ptr %3174, i32 0, i32 23
  store i8 34, ptr %3175, align 4, !tbaa !17
  %3176 = load ptr, ptr %57, align 8, !tbaa !9
  %3177 = getelementptr inbounds %struct.s2n_connection, ptr %3176, i32 0, i32 27
  %3178 = load ptr, ptr %3177, align 8, !tbaa !43
  %3179 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %3178, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %3179, align 8, !tbaa !44
  %3180 = load ptr, ptr %57, align 8, !tbaa !9
  %3181 = getelementptr inbounds %struct.s2n_connection, ptr %3180, i32 0, i32 88
  store i16 -1, ptr %3181, align 2, !tbaa !50
  call void @llvm.lifetime.start.p0(i64 40, ptr %63) #11
  call void @llvm.memset.p0.i64(ptr align 8 %63, i8 0, i64 40, i1 false)
  br label %3182

3182:                                             ; preds = %3173
  %3183 = load i32, ptr @test_count, align 4, !tbaa !5
  %3184 = add nsw i32 %3183, 1
  store i32 %3184, ptr @test_count, align 4, !tbaa !5
  %3185 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %63, i32 noundef 0)
  %3186 = icmp eq i32 %3185, -1
  br i1 %3186, label %3187, label %3240

3187:                                             ; preds = %3182
  br label %3188

3188:                                             ; preds = %3187
  br label %3189

3189:                                             ; preds = %3188
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %3190 = call ptr @__errno_location() #12
  %3191 = load i32, ptr %3190, align 4, !tbaa !5
  store i32 %3191, ptr %64, align 4, !tbaa !5
  %3192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3193 = call i32 @s2n_print_stacktrace(ptr noundef %3192)
  %3194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3195 = trunc i8 %3194 to i1
  br i1 %3195, label %3196, label %3218

3196:                                             ; preds = %3189
  %3197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3198 = call i32 @fileno(ptr noundef %3197) #11
  %3199 = call i32 @isatty(i32 noundef %3198) #11
  %3200 = icmp ne i32 %3199, 0
  br i1 %3200, label %3201, label %3218

3201:                                             ; preds = %3196
  %3202 = load i32, ptr %64, align 4, !tbaa !5
  %3203 = call ptr @__errno_location() #12
  store i32 %3202, ptr %3203, align 4, !tbaa !5
  %3204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3205 = load i32, ptr @test_count, align 4, !tbaa !5
  %3206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3207 = load i32, ptr %3206, align 4, !tbaa !5
  %3208 = call ptr @s2n_strerror(i32 noundef %3207, ptr noundef @.str.25)
  %3209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3210 = load i32, ptr %3209, align 4, !tbaa !5
  %3211 = call ptr @s2n_strerror_debug(i32 noundef %3210, ptr noundef @.str.25)
  %3212 = call ptr @__errno_location() #12
  %3213 = load i32, ptr %3212, align 4, !tbaa !5
  %3214 = call ptr @strerror(i32 noundef %3213) #11
  %3215 = call ptr @__errno_location() #12
  %3216 = load i32, ptr %3215, align 4, !tbaa !5
  %3217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3204, ptr noundef @.str.23, i32 noundef %3205, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 220, ptr noundef %3208, ptr noundef %3211, ptr noundef %3214, i32 noundef %3216) #11
  br label %3235

3218:                                             ; preds = %3196, %3189
  %3219 = load i32, ptr %64, align 4, !tbaa !5
  %3220 = call ptr @__errno_location() #12
  store i32 %3219, ptr %3220, align 4, !tbaa !5
  %3221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3222 = load i32, ptr @test_count, align 4, !tbaa !5
  %3223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3224 = load i32, ptr %3223, align 4, !tbaa !5
  %3225 = call ptr @s2n_strerror(i32 noundef %3224, ptr noundef @.str.25)
  %3226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3227 = load i32, ptr %3226, align 4, !tbaa !5
  %3228 = call ptr @s2n_strerror_debug(i32 noundef %3227, ptr noundef @.str.25)
  %3229 = call ptr @__errno_location() #12
  %3230 = load i32, ptr %3229, align 4, !tbaa !5
  %3231 = call ptr @strerror(i32 noundef %3230) #11
  %3232 = call ptr @__errno_location() #12
  %3233 = load i32, ptr %3232, align 4, !tbaa !5
  %3234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3221, ptr noundef @.str.26, i32 noundef %3222, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 220, ptr noundef %3225, ptr noundef %3228, ptr noundef %3231, i32 noundef %3233) #11
  br label %3235

3235:                                             ; preds = %3218, %3201
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %3236

3236:                                             ; preds = %3235
  br label %3237

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

3238:                                             ; No predecessors!
  br label %3239

3239:                                             ; preds = %3238
  br label %3240

3240:                                             ; preds = %3239, %3182
  br label %3241

3241:                                             ; preds = %3240
  br label %3242

3242:                                             ; preds = %3241
  br label %3243

3243:                                             ; preds = %3242
  br label %3244

3244:                                             ; preds = %3243
  br label %3245

3245:                                             ; preds = %3244
  %3246 = load i32, ptr @test_count, align 4, !tbaa !5
  %3247 = add nsw i32 %3246, 1
  store i32 %3247, ptr @test_count, align 4, !tbaa !5
  %3248 = load ptr, ptr %57, align 8, !tbaa !9
  %3249 = call i32 @s2n_tls13_server_nst_write(ptr noundef %3248, ptr noundef %63)
  %3250 = getelementptr inbounds %struct.s2n_result, ptr %65, i32 0, i32 0
  store i32 %3249, ptr %3250, align 4
  %3251 = getelementptr inbounds %struct.s2n_result, ptr %65, i32 0, i32 0
  %3252 = load i32, ptr %3251, align 4
  %3253 = call zeroext i1 @s2n_result_is_error(i32 %3252)
  br i1 %3253, label %3307, label %3254

3254:                                             ; preds = %3245
  br label %3255

3255:                                             ; preds = %3254
  br label %3256

3256:                                             ; preds = %3255
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #11
  %3257 = call ptr @__errno_location() #12
  %3258 = load i32, ptr %3257, align 4, !tbaa !5
  store i32 %3258, ptr %66, align 4, !tbaa !5
  %3259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3260 = call i32 @s2n_print_stacktrace(ptr noundef %3259)
  %3261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3262 = trunc i8 %3261 to i1
  br i1 %3262, label %3263, label %3285

3263:                                             ; preds = %3256
  %3264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3265 = call i32 @fileno(ptr noundef %3264) #11
  %3266 = call i32 @isatty(i32 noundef %3265) #11
  %3267 = icmp ne i32 %3266, 0
  br i1 %3267, label %3268, label %3285

3268:                                             ; preds = %3263
  %3269 = load i32, ptr %66, align 4, !tbaa !5
  %3270 = call ptr @__errno_location() #12
  store i32 %3269, ptr %3270, align 4, !tbaa !5
  %3271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3272 = load i32, ptr @test_count, align 4, !tbaa !5
  %3273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3274 = load i32, ptr %3273, align 4, !tbaa !5
  %3275 = call ptr @s2n_strerror(i32 noundef %3274, ptr noundef @.str.25)
  %3276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3277 = load i32, ptr %3276, align 4, !tbaa !5
  %3278 = call ptr @s2n_strerror_debug(i32 noundef %3277, ptr noundef @.str.25)
  %3279 = call ptr @__errno_location() #12
  %3280 = load i32, ptr %3279, align 4, !tbaa !5
  %3281 = call ptr @strerror(i32 noundef %3280) #11
  %3282 = call ptr @__errno_location() #12
  %3283 = load i32, ptr %3282, align 4, !tbaa !5
  %3284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3271, ptr noundef @.str.23, i32 noundef %3272, ptr noundef @.str.59, ptr noundef @.str.22, i32 noundef 222, ptr noundef %3275, ptr noundef %3278, ptr noundef %3281, i32 noundef %3283) #11
  br label %3302

3285:                                             ; preds = %3263, %3256
  %3286 = load i32, ptr %66, align 4, !tbaa !5
  %3287 = call ptr @__errno_location() #12
  store i32 %3286, ptr %3287, align 4, !tbaa !5
  %3288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3289 = load i32, ptr @test_count, align 4, !tbaa !5
  %3290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3291 = load i32, ptr %3290, align 4, !tbaa !5
  %3292 = call ptr @s2n_strerror(i32 noundef %3291, ptr noundef @.str.25)
  %3293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3294 = load i32, ptr %3293, align 4, !tbaa !5
  %3295 = call ptr @s2n_strerror_debug(i32 noundef %3294, ptr noundef @.str.25)
  %3296 = call ptr @__errno_location() #12
  %3297 = load i32, ptr %3296, align 4, !tbaa !5
  %3298 = call ptr @strerror(i32 noundef %3297) #11
  %3299 = call ptr @__errno_location() #12
  %3300 = load i32, ptr %3299, align 4, !tbaa !5
  %3301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3288, ptr noundef @.str.26, i32 noundef %3289, ptr noundef @.str.59, ptr noundef @.str.22, i32 noundef 222, ptr noundef %3292, ptr noundef %3295, ptr noundef %3298, i32 noundef %3300) #11
  br label %3302

3302:                                             ; preds = %3285, %3268
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  br label %3303

3303:                                             ; preds = %3302
  br label %3304

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

3305:                                             ; No predecessors!
  br label %3306

3306:                                             ; preds = %3305
  br label %3307

3307:                                             ; preds = %3306, %3245
  br label %3308

3308:                                             ; preds = %3307
  br label %3309

3309:                                             ; preds = %3308
  br label %3310

3310:                                             ; preds = %3309
  %3311 = load i32, ptr @test_count, align 4, !tbaa !5
  %3312 = add nsw i32 %3311, 1
  store i32 %3312, ptr @test_count, align 4, !tbaa !5
  %3313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3314 = load i32, ptr %3313, align 4, !tbaa !5
  %3315 = icmp eq i32 %3314, 402653251
  br i1 %3315, label %3369, label %3316

3316:                                             ; preds = %3310
  br label %3317

3317:                                             ; preds = %3316
  br label %3318

3318:                                             ; preds = %3317
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %3319 = call ptr @__errno_location() #12
  %3320 = load i32, ptr %3319, align 4, !tbaa !5
  store i32 %3320, ptr %67, align 4, !tbaa !5
  %3321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3322 = call i32 @s2n_print_stacktrace(ptr noundef %3321)
  %3323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3324 = trunc i8 %3323 to i1
  br i1 %3324, label %3325, label %3347

3325:                                             ; preds = %3318
  %3326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3327 = call i32 @fileno(ptr noundef %3326) #11
  %3328 = call i32 @isatty(i32 noundef %3327) #11
  %3329 = icmp ne i32 %3328, 0
  br i1 %3329, label %3330, label %3347

3330:                                             ; preds = %3325
  %3331 = load i32, ptr %67, align 4, !tbaa !5
  %3332 = call ptr @__errno_location() #12
  store i32 %3331, ptr %3332, align 4, !tbaa !5
  %3333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3334 = load i32, ptr @test_count, align 4, !tbaa !5
  %3335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3336 = load i32, ptr %3335, align 4, !tbaa !5
  %3337 = call ptr @s2n_strerror(i32 noundef %3336, ptr noundef @.str.25)
  %3338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3339 = load i32, ptr %3338, align 4, !tbaa !5
  %3340 = call ptr @s2n_strerror_debug(i32 noundef %3339, ptr noundef @.str.25)
  %3341 = call ptr @__errno_location() #12
  %3342 = load i32, ptr %3341, align 4, !tbaa !5
  %3343 = call ptr @strerror(i32 noundef %3342) #11
  %3344 = call ptr @__errno_location() #12
  %3345 = load i32, ptr %3344, align 4, !tbaa !5
  %3346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3333, ptr noundef @.str.23, i32 noundef %3334, ptr noundef @.str.60, ptr noundef @.str.22, i32 noundef 222, ptr noundef %3337, ptr noundef %3340, ptr noundef %3343, i32 noundef %3345) #11
  br label %3364

3347:                                             ; preds = %3325, %3318
  %3348 = load i32, ptr %67, align 4, !tbaa !5
  %3349 = call ptr @__errno_location() #12
  store i32 %3348, ptr %3349, align 4, !tbaa !5
  %3350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3351 = load i32, ptr @test_count, align 4, !tbaa !5
  %3352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3353 = load i32, ptr %3352, align 4, !tbaa !5
  %3354 = call ptr @s2n_strerror(i32 noundef %3353, ptr noundef @.str.25)
  %3355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3356 = load i32, ptr %3355, align 4, !tbaa !5
  %3357 = call ptr @s2n_strerror_debug(i32 noundef %3356, ptr noundef @.str.25)
  %3358 = call ptr @__errno_location() #12
  %3359 = load i32, ptr %3358, align 4, !tbaa !5
  %3360 = call ptr @strerror(i32 noundef %3359) #11
  %3361 = call ptr @__errno_location() #12
  %3362 = load i32, ptr %3361, align 4, !tbaa !5
  %3363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3350, ptr noundef @.str.26, i32 noundef %3351, ptr noundef @.str.60, ptr noundef @.str.22, i32 noundef 222, ptr noundef %3354, ptr noundef %3357, ptr noundef %3360, i32 noundef %3362) #11
  br label %3364

3364:                                             ; preds = %3347, %3330
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3365

3365:                                             ; preds = %3364
  br label %3366

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

3367:                                             ; No predecessors!
  br label %3368

3368:                                             ; preds = %3367
  br label %3369

3369:                                             ; preds = %3368, %3310
  br label %3370

3370:                                             ; preds = %3369
  br label %3371

3371:                                             ; preds = %3370
  br label %3372

3372:                                             ; preds = %3371
  %3373 = load i32, ptr @test_count, align 4, !tbaa !5
  %3374 = add nsw i32 %3373, 1
  store i32 %3374, ptr @test_count, align 4, !tbaa !5
  %3375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3376 = load i32, ptr %3375, align 4, !tbaa !5
  %3377 = call ptr @s2n_strerror_debug(i32 noundef %3376, ptr noundef @.str.25)
  %3378 = icmp eq ptr %3377, null
  br i1 %3378, label %3379, label %3432

3379:                                             ; preds = %3372
  br label %3380

3380:                                             ; preds = %3379
  br label %3381

3381:                                             ; preds = %3380
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #11
  %3382 = call ptr @__errno_location() #12
  %3383 = load i32, ptr %3382, align 4, !tbaa !5
  store i32 %3383, ptr %68, align 4, !tbaa !5
  %3384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3385 = call i32 @s2n_print_stacktrace(ptr noundef %3384)
  %3386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3387 = trunc i8 %3386 to i1
  br i1 %3387, label %3388, label %3410

3388:                                             ; preds = %3381
  %3389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3390 = call i32 @fileno(ptr noundef %3389) #11
  %3391 = call i32 @isatty(i32 noundef %3390) #11
  %3392 = icmp ne i32 %3391, 0
  br i1 %3392, label %3393, label %3410

3393:                                             ; preds = %3388
  %3394 = load i32, ptr %68, 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.25)
  %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.25)
  %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.23, i32 noundef %3397, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 222, ptr noundef %3400, ptr noundef %3403, ptr noundef %3406, i32 noundef %3408) #11
  br label %3427

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

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

3428:                                             ; preds = %3427
  br label %3429

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

3430:                                             ; No predecessors!
  br label %3431

3431:                                             ; preds = %3430
  br label %3432

3432:                                             ; preds = %3431, %3372
  br label %3433

3433:                                             ; preds = %3432
  br label %3434

3434:                                             ; preds = %3433
  br label %3435

3435:                                             ; preds = %3434
  br label %3436

3436:                                             ; preds = %3435
  br label %3437

3437:                                             ; preds = %3436
  %3438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3438, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3439 = call ptr @__errno_location() #12
  store i32 0, ptr %3439, align 4, !tbaa !5
  br label %3440

3440:                                             ; preds = %3437
  br label %3441

3441:                                             ; preds = %3440
  br label %3442

3442:                                             ; preds = %3441
  br label %3443

3443:                                             ; preds = %3442
  br label %3444

3444:                                             ; preds = %3443
  %3445 = load i32, ptr @test_count, align 4, !tbaa !5
  %3446 = add nsw i32 %3445, 1
  store i32 %3446, ptr @test_count, align 4, !tbaa !5
  %3447 = load ptr, ptr %57, align 8, !tbaa !9
  %3448 = call i32 @s2n_connection_free(ptr noundef %3447)
  %3449 = icmp eq i32 %3448, -1
  br i1 %3449, label %3450, label %3503

3450:                                             ; preds = %3444
  br label %3451

3451:                                             ; preds = %3450
  br label %3452

3452:                                             ; preds = %3451
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  %3453 = call ptr @__errno_location() #12
  %3454 = load i32, ptr %3453, align 4, !tbaa !5
  store i32 %3454, ptr %69, align 4, !tbaa !5
  %3455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3456 = call i32 @s2n_print_stacktrace(ptr noundef %3455)
  %3457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3458 = trunc i8 %3457 to i1
  br i1 %3458, label %3459, label %3481

3459:                                             ; preds = %3452
  %3460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3461 = call i32 @fileno(ptr noundef %3460) #11
  %3462 = call i32 @isatty(i32 noundef %3461) #11
  %3463 = icmp ne i32 %3462, 0
  br i1 %3463, label %3464, label %3481

3464:                                             ; preds = %3459
  %3465 = load i32, ptr %69, align 4, !tbaa !5
  %3466 = call ptr @__errno_location() #12
  store i32 %3465, ptr %3466, align 4, !tbaa !5
  %3467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3468 = load i32, ptr @test_count, align 4, !tbaa !5
  %3469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3470 = load i32, ptr %3469, align 4, !tbaa !5
  %3471 = call ptr @s2n_strerror(i32 noundef %3470, ptr noundef @.str.25)
  %3472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3473 = load i32, ptr %3472, align 4, !tbaa !5
  %3474 = call ptr @s2n_strerror_debug(i32 noundef %3473, ptr noundef @.str.25)
  %3475 = call ptr @__errno_location() #12
  %3476 = load i32, ptr %3475, align 4, !tbaa !5
  %3477 = call ptr @strerror(i32 noundef %3476) #11
  %3478 = call ptr @__errno_location() #12
  %3479 = load i32, ptr %3478, align 4, !tbaa !5
  %3480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3467, ptr noundef @.str.23, i32 noundef %3468, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 224, ptr noundef %3471, ptr noundef %3474, ptr noundef %3477, i32 noundef %3479) #11
  br label %3498

3481:                                             ; preds = %3459, %3452
  %3482 = load i32, ptr %69, align 4, !tbaa !5
  %3483 = call ptr @__errno_location() #12
  store i32 %3482, ptr %3483, align 4, !tbaa !5
  %3484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3485 = load i32, ptr @test_count, align 4, !tbaa !5
  %3486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3487 = load i32, ptr %3486, align 4, !tbaa !5
  %3488 = call ptr @s2n_strerror(i32 noundef %3487, ptr noundef @.str.25)
  %3489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3490 = load i32, ptr %3489, align 4, !tbaa !5
  %3491 = call ptr @s2n_strerror_debug(i32 noundef %3490, ptr noundef @.str.25)
  %3492 = call ptr @__errno_location() #12
  %3493 = load i32, ptr %3492, align 4, !tbaa !5
  %3494 = call ptr @strerror(i32 noundef %3493) #11
  %3495 = call ptr @__errno_location() #12
  %3496 = load i32, ptr %3495, align 4, !tbaa !5
  %3497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3484, ptr noundef @.str.26, i32 noundef %3485, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 224, ptr noundef %3488, ptr noundef %3491, ptr noundef %3494, i32 noundef %3496) #11
  br label %3498

3498:                                             ; preds = %3481, %3464
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %3499

3499:                                             ; preds = %3498
  br label %3500

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

3501:                                             ; No predecessors!
  br label %3502

3502:                                             ; preds = %3501
  br label %3503

3503:                                             ; preds = %3502, %3444
  br label %3504

3504:                                             ; preds = %3503
  br label %3505

3505:                                             ; preds = %3504
  br label %3506

3506:                                             ; preds = %3505
  %3507 = load i32, ptr @test_count, align 4, !tbaa !5
  %3508 = add nsw i32 %3507, 1
  store i32 %3508, ptr @test_count, align 4, !tbaa !5
  %3509 = call i32 @s2n_stuffer_free(ptr noundef %63)
  %3510 = icmp eq i32 %3509, -1
  br i1 %3510, label %3511, label %3564

3511:                                             ; preds = %3506
  br label %3512

3512:                                             ; preds = %3511
  br label %3513

3513:                                             ; preds = %3512
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3514 = call ptr @__errno_location() #12
  %3515 = load i32, ptr %3514, align 4, !tbaa !5
  store i32 %3515, ptr %70, align 4, !tbaa !5
  %3516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3517 = call i32 @s2n_print_stacktrace(ptr noundef %3516)
  %3518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3519 = trunc i8 %3518 to i1
  br i1 %3519, label %3520, label %3542

3520:                                             ; preds = %3513
  %3521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3522 = call i32 @fileno(ptr noundef %3521) #11
  %3523 = call i32 @isatty(i32 noundef %3522) #11
  %3524 = icmp ne i32 %3523, 0
  br i1 %3524, label %3525, label %3542

3525:                                             ; preds = %3520
  %3526 = load i32, ptr %70, align 4, !tbaa !5
  %3527 = call ptr @__errno_location() #12
  store i32 %3526, ptr %3527, align 4, !tbaa !5
  %3528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3529 = load i32, ptr @test_count, align 4, !tbaa !5
  %3530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3531 = load i32, ptr %3530, align 4, !tbaa !5
  %3532 = call ptr @s2n_strerror(i32 noundef %3531, ptr noundef @.str.25)
  %3533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3534 = load i32, ptr %3533, align 4, !tbaa !5
  %3535 = call ptr @s2n_strerror_debug(i32 noundef %3534, ptr noundef @.str.25)
  %3536 = call ptr @__errno_location() #12
  %3537 = load i32, ptr %3536, align 4, !tbaa !5
  %3538 = call ptr @strerror(i32 noundef %3537) #11
  %3539 = call ptr @__errno_location() #12
  %3540 = load i32, ptr %3539, align 4, !tbaa !5
  %3541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3528, ptr noundef @.str.23, i32 noundef %3529, ptr noundef @.str.57, ptr noundef @.str.22, i32 noundef 225, ptr noundef %3532, ptr noundef %3535, ptr noundef %3538, i32 noundef %3540) #11
  br label %3559

3542:                                             ; preds = %3520, %3513
  %3543 = load i32, ptr %70, align 4, !tbaa !5
  %3544 = call ptr @__errno_location() #12
  store i32 %3543, ptr %3544, align 4, !tbaa !5
  %3545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3546 = load i32, ptr @test_count, align 4, !tbaa !5
  %3547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3548 = load i32, ptr %3547, align 4, !tbaa !5
  %3549 = call ptr @s2n_strerror(i32 noundef %3548, ptr noundef @.str.25)
  %3550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3551 = load i32, ptr %3550, align 4, !tbaa !5
  %3552 = call ptr @s2n_strerror_debug(i32 noundef %3551, ptr noundef @.str.25)
  %3553 = call ptr @__errno_location() #12
  %3554 = load i32, ptr %3553, align 4, !tbaa !5
  %3555 = call ptr @strerror(i32 noundef %3554) #11
  %3556 = call ptr @__errno_location() #12
  %3557 = load i32, ptr %3556, align 4, !tbaa !5
  %3558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3545, ptr noundef @.str.26, i32 noundef %3546, ptr noundef @.str.57, ptr noundef @.str.22, i32 noundef 225, ptr noundef %3549, ptr noundef %3552, ptr noundef %3555, i32 noundef %3557) #11
  br label %3559

3559:                                             ; preds = %3542, %3525
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3560

3560:                                             ; preds = %3559
  br label %3561

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

3562:                                             ; No predecessors!
  br label %3563

3563:                                             ; preds = %3562
  br label %3564

3564:                                             ; preds = %3563, %3506
  br label %3565

3565:                                             ; preds = %3564
  br label %3566

3566:                                             ; preds = %3565
  br label %3567

3567:                                             ; preds = %3566
  %3568 = load i32, ptr @test_count, align 4, !tbaa !5
  %3569 = add nsw i32 %3568, 1
  store i32 %3569, ptr @test_count, align 4, !tbaa !5
  %3570 = load ptr, ptr %56, align 8, !tbaa !9
  %3571 = call i32 @s2n_config_free(ptr noundef %3570)
  %3572 = icmp eq i32 %3571, -1
  br i1 %3572, label %3573, label %3626

3573:                                             ; preds = %3567
  br label %3574

3574:                                             ; preds = %3573
  br label %3575

3575:                                             ; preds = %3574
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %3576 = call ptr @__errno_location() #12
  %3577 = load i32, ptr %3576, align 4, !tbaa !5
  store i32 %3577, ptr %71, align 4, !tbaa !5
  %3578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3579 = call i32 @s2n_print_stacktrace(ptr noundef %3578)
  %3580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3581 = trunc i8 %3580 to i1
  br i1 %3581, label %3582, label %3604

3582:                                             ; preds = %3575
  %3583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3584 = call i32 @fileno(ptr noundef %3583) #11
  %3585 = call i32 @isatty(i32 noundef %3584) #11
  %3586 = icmp ne i32 %3585, 0
  br i1 %3586, label %3587, label %3604

3587:                                             ; preds = %3582
  %3588 = load i32, ptr %71, 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.25)
  %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.25)
  %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.23, i32 noundef %3591, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 226, ptr noundef %3594, ptr noundef %3597, ptr noundef %3600, i32 noundef %3602) #11
  br label %3621

3604:                                             ; preds = %3582, %3575
  %3605 = load i32, ptr %71, align 4, !tbaa !5
  %3606 = call ptr @__errno_location() #12
  store i32 %3605, ptr %3606, align 4, !tbaa !5
  %3607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3608 = load i32, ptr @test_count, align 4, !tbaa !5
  %3609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3610 = load i32, ptr %3609, align 4, !tbaa !5
  %3611 = call ptr @s2n_strerror(i32 noundef %3610, ptr noundef @.str.25)
  %3612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3613 = load i32, ptr %3612, align 4, !tbaa !5
  %3614 = call ptr @s2n_strerror_debug(i32 noundef %3613, ptr noundef @.str.25)
  %3615 = call ptr @__errno_location() #12
  %3616 = load i32, ptr %3615, align 4, !tbaa !5
  %3617 = call ptr @strerror(i32 noundef %3616) #11
  %3618 = call ptr @__errno_location() #12
  %3619 = load i32, ptr %3618, align 4, !tbaa !5
  %3620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3607, ptr noundef @.str.26, i32 noundef %3608, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 226, ptr noundef %3611, ptr noundef %3614, ptr noundef %3617, i32 noundef %3619) #11
  br label %3621

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

3622:                                             ; preds = %3621
  br label %3623

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

3624:                                             ; No predecessors!
  br label %3625

3625:                                             ; preds = %3624
  br label %3626

3626:                                             ; preds = %3625, %3567
  br label %3627

3627:                                             ; preds = %3626
  br label %3628

3628:                                             ; preds = %3627
  call void @llvm.lifetime.end.p0(i64 40, ptr %63) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #11
  %3629 = call ptr @s2n_config_new()
  store ptr %3629, ptr %72, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #11
  %3630 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3630, ptr %73, align 8, !tbaa !9
  br label %3631

3631:                                             ; preds = %3628
  %3632 = load i32, ptr @test_count, align 4, !tbaa !5
  %3633 = add nsw i32 %3632, 1
  store i32 %3633, ptr @test_count, align 4, !tbaa !5
  %3634 = load ptr, ptr %72, align 8, !tbaa !9
  %3635 = icmp eq ptr %3634, null
  br i1 %3635, label %3636, label %3689

3636:                                             ; preds = %3631
  br label %3637

3637:                                             ; preds = %3636
  br label %3638

3638:                                             ; preds = %3637
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #11
  %3639 = call ptr @__errno_location() #12
  %3640 = load i32, ptr %3639, align 4, !tbaa !5
  store i32 %3640, ptr %74, align 4, !tbaa !5
  %3641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3642 = call i32 @s2n_print_stacktrace(ptr noundef %3641)
  %3643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3644 = trunc i8 %3643 to i1
  br i1 %3644, label %3645, label %3667

3645:                                             ; preds = %3638
  %3646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3647 = call i32 @fileno(ptr noundef %3646) #11
  %3648 = call i32 @isatty(i32 noundef %3647) #11
  %3649 = icmp ne i32 %3648, 0
  br i1 %3649, label %3650, label %3667

3650:                                             ; preds = %3645
  %3651 = load i32, ptr %74, align 4, !tbaa !5
  %3652 = call ptr @__errno_location() #12
  store i32 %3651, ptr %3652, align 4, !tbaa !5
  %3653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3654 = load i32, ptr @test_count, align 4, !tbaa !5
  %3655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3656 = load i32, ptr %3655, align 4, !tbaa !5
  %3657 = call ptr @s2n_strerror(i32 noundef %3656, ptr noundef @.str.25)
  %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_debug(i32 noundef %3659, ptr noundef @.str.25)
  %3661 = call ptr @__errno_location() #12
  %3662 = load i32, ptr %3661, align 4, !tbaa !5
  %3663 = call ptr @strerror(i32 noundef %3662) #11
  %3664 = call ptr @__errno_location() #12
  %3665 = load i32, ptr %3664, align 4, !tbaa !5
  %3666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3653, ptr noundef @.str.23, i32 noundef %3654, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 234, ptr noundef %3657, ptr noundef %3660, ptr noundef %3663, i32 noundef %3665) #11
  br label %3684

3667:                                             ; preds = %3645, %3638
  %3668 = load i32, ptr %74, align 4, !tbaa !5
  %3669 = call ptr @__errno_location() #12
  store i32 %3668, ptr %3669, align 4, !tbaa !5
  %3670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3671 = load i32, ptr @test_count, align 4, !tbaa !5
  %3672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3673 = load i32, ptr %3672, align 4, !tbaa !5
  %3674 = call ptr @s2n_strerror(i32 noundef %3673, ptr noundef @.str.25)
  %3675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3676 = load i32, ptr %3675, align 4, !tbaa !5
  %3677 = call ptr @s2n_strerror_debug(i32 noundef %3676, ptr noundef @.str.25)
  %3678 = call ptr @__errno_location() #12
  %3679 = load i32, ptr %3678, align 4, !tbaa !5
  %3680 = call ptr @strerror(i32 noundef %3679) #11
  %3681 = call ptr @__errno_location() #12
  %3682 = load i32, ptr %3681, align 4, !tbaa !5
  %3683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3670, ptr noundef @.str.26, i32 noundef %3671, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 234, ptr noundef %3674, ptr noundef %3677, ptr noundef %3680, i32 noundef %3682) #11
  br label %3684

3684:                                             ; preds = %3667, %3650
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %3685

3685:                                             ; preds = %3684
  br label %3686

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

3687:                                             ; No predecessors!
  br label %3688

3688:                                             ; preds = %3687
  br label %3689

3689:                                             ; preds = %3688, %3631
  br label %3690

3690:                                             ; preds = %3689
  br label %3691

3691:                                             ; preds = %3690
  br label %3692

3692:                                             ; preds = %3691
  %3693 = load i32, ptr @test_count, align 4, !tbaa !5
  %3694 = add nsw i32 %3693, 1
  store i32 %3694, ptr @test_count, align 4, !tbaa !5
  %3695 = load ptr, ptr %73, align 8, !tbaa !9
  %3696 = icmp eq ptr %3695, null
  br i1 %3696, label %3697, label %3750

3697:                                             ; preds = %3692
  br label %3698

3698:                                             ; preds = %3697
  br label %3699

3699:                                             ; preds = %3698
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #11
  %3700 = call ptr @__errno_location() #12
  %3701 = load i32, ptr %3700, align 4, !tbaa !5
  store i32 %3701, ptr %75, align 4, !tbaa !5
  %3702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3703 = call i32 @s2n_print_stacktrace(ptr noundef %3702)
  %3704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3705 = trunc i8 %3704 to i1
  br i1 %3705, label %3706, label %3728

3706:                                             ; preds = %3699
  %3707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3708 = call i32 @fileno(ptr noundef %3707) #11
  %3709 = call i32 @isatty(i32 noundef %3708) #11
  %3710 = icmp ne i32 %3709, 0
  br i1 %3710, label %3711, label %3728

3711:                                             ; preds = %3706
  %3712 = load i32, ptr %75, align 4, !tbaa !5
  %3713 = call ptr @__errno_location() #12
  store i32 %3712, ptr %3713, align 4, !tbaa !5
  %3714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3715 = load i32, ptr @test_count, align 4, !tbaa !5
  %3716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3717 = load i32, ptr %3716, align 4, !tbaa !5
  %3718 = call ptr @s2n_strerror(i32 noundef %3717, ptr noundef @.str.25)
  %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_debug(i32 noundef %3720, ptr noundef @.str.25)
  %3722 = call ptr @__errno_location() #12
  %3723 = load i32, ptr %3722, align 4, !tbaa !5
  %3724 = call ptr @strerror(i32 noundef %3723) #11
  %3725 = call ptr @__errno_location() #12
  %3726 = load i32, ptr %3725, align 4, !tbaa !5
  %3727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3714, ptr noundef @.str.23, i32 noundef %3715, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 235, ptr noundef %3718, ptr noundef %3721, ptr noundef %3724, i32 noundef %3726) #11
  br label %3745

3728:                                             ; preds = %3706, %3699
  %3729 = load i32, ptr %75, align 4, !tbaa !5
  %3730 = call ptr @__errno_location() #12
  store i32 %3729, ptr %3730, align 4, !tbaa !5
  %3731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3732 = load i32, ptr @test_count, align 4, !tbaa !5
  %3733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3734 = load i32, ptr %3733, align 4, !tbaa !5
  %3735 = call ptr @s2n_strerror(i32 noundef %3734, ptr noundef @.str.25)
  %3736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3737 = load i32, ptr %3736, align 4, !tbaa !5
  %3738 = call ptr @s2n_strerror_debug(i32 noundef %3737, ptr noundef @.str.25)
  %3739 = call ptr @__errno_location() #12
  %3740 = load i32, ptr %3739, align 4, !tbaa !5
  %3741 = call ptr @strerror(i32 noundef %3740) #11
  %3742 = call ptr @__errno_location() #12
  %3743 = load i32, ptr %3742, align 4, !tbaa !5
  %3744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3731, ptr noundef @.str.26, i32 noundef %3732, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 235, ptr noundef %3735, ptr noundef %3738, ptr noundef %3741, i32 noundef %3743) #11
  br label %3745

3745:                                             ; preds = %3728, %3711
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %3746

3746:                                             ; preds = %3745
  br label %3747

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

3748:                                             ; No predecessors!
  br label %3749

3749:                                             ; preds = %3748
  br label %3750

3750:                                             ; preds = %3749, %3692
  br label %3751

3751:                                             ; preds = %3750
  br label %3752

3752:                                             ; preds = %3751
  br label %3753

3753:                                             ; preds = %3752
  %3754 = load i32, ptr @test_count, align 4, !tbaa !5
  %3755 = add nsw i32 %3754, 1
  store i32 %3755, ptr @test_count, align 4, !tbaa !5
  %3756 = load ptr, ptr %73, align 8, !tbaa !9
  %3757 = load ptr, ptr %72, align 8, !tbaa !9
  %3758 = call i32 @s2n_connection_set_config(ptr noundef %3756, ptr noundef %3757)
  %3759 = icmp eq i32 %3758, -1
  br i1 %3759, label %3760, label %3813

3760:                                             ; preds = %3753
  br label %3761

3761:                                             ; preds = %3760
  br label %3762

3762:                                             ; preds = %3761
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %3763 = call ptr @__errno_location() #12
  %3764 = load i32, ptr %3763, align 4, !tbaa !5
  store i32 %3764, ptr %76, align 4, !tbaa !5
  %3765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3766 = call i32 @s2n_print_stacktrace(ptr noundef %3765)
  %3767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3768 = trunc i8 %3767 to i1
  br i1 %3768, label %3769, label %3791

3769:                                             ; preds = %3762
  %3770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3771 = call i32 @fileno(ptr noundef %3770) #11
  %3772 = call i32 @isatty(i32 noundef %3771) #11
  %3773 = icmp ne i32 %3772, 0
  br i1 %3773, label %3774, label %3791

3774:                                             ; preds = %3769
  %3775 = load i32, ptr %76, align 4, !tbaa !5
  %3776 = call ptr @__errno_location() #12
  store i32 %3775, ptr %3776, align 4, !tbaa !5
  %3777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3778 = load i32, ptr @test_count, align 4, !tbaa !5
  %3779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3780 = load i32, ptr %3779, align 4, !tbaa !5
  %3781 = call ptr @s2n_strerror(i32 noundef %3780, ptr noundef @.str.25)
  %3782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3783 = load i32, ptr %3782, align 4, !tbaa !5
  %3784 = call ptr @s2n_strerror_debug(i32 noundef %3783, ptr noundef @.str.25)
  %3785 = call ptr @__errno_location() #12
  %3786 = load i32, ptr %3785, align 4, !tbaa !5
  %3787 = call ptr @strerror(i32 noundef %3786) #11
  %3788 = call ptr @__errno_location() #12
  %3789 = load i32, ptr %3788, align 4, !tbaa !5
  %3790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3777, ptr noundef @.str.23, i32 noundef %3778, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 236, ptr noundef %3781, ptr noundef %3784, ptr noundef %3787, i32 noundef %3789) #11
  br label %3808

3791:                                             ; preds = %3769, %3762
  %3792 = load i32, ptr %76, align 4, !tbaa !5
  %3793 = call ptr @__errno_location() #12
  store i32 %3792, ptr %3793, align 4, !tbaa !5
  %3794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3795 = load i32, ptr @test_count, align 4, !tbaa !5
  %3796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3797 = load i32, ptr %3796, align 4, !tbaa !5
  %3798 = call ptr @s2n_strerror(i32 noundef %3797, ptr noundef @.str.25)
  %3799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3800 = load i32, ptr %3799, align 4, !tbaa !5
  %3801 = call ptr @s2n_strerror_debug(i32 noundef %3800, ptr noundef @.str.25)
  %3802 = call ptr @__errno_location() #12
  %3803 = load i32, ptr %3802, align 4, !tbaa !5
  %3804 = call ptr @strerror(i32 noundef %3803) #11
  %3805 = call ptr @__errno_location() #12
  %3806 = load i32, ptr %3805, align 4, !tbaa !5
  %3807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3794, ptr noundef @.str.26, i32 noundef %3795, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 236, ptr noundef %3798, ptr noundef %3801, ptr noundef %3804, i32 noundef %3806) #11
  br label %3808

3808:                                             ; preds = %3791, %3774
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3809

3809:                                             ; preds = %3808
  br label %3810

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

3811:                                             ; No predecessors!
  br label %3812

3812:                                             ; preds = %3811
  br label %3813

3813:                                             ; preds = %3812, %3753
  br label %3814

3814:                                             ; preds = %3813
  br label %3815

3815:                                             ; preds = %3814
  %3816 = load ptr, ptr %73, align 8, !tbaa !9
  %3817 = getelementptr inbounds %struct.s2n_connection, ptr %3816, i32 0, i32 23
  store i8 34, ptr %3817, align 4, !tbaa !17
  %3818 = load ptr, ptr %73, align 8, !tbaa !9
  %3819 = getelementptr inbounds %struct.s2n_connection, ptr %3818, i32 0, i32 27
  %3820 = load ptr, ptr %3819, align 8, !tbaa !43
  %3821 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %3820, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %3821, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr %77) #11
  call void @llvm.memset.p0.i64(ptr align 8 %77, i8 0, i64 40, i1 false)
  br label %3822

3822:                                             ; preds = %3815
  %3823 = load i32, ptr @test_count, align 4, !tbaa !5
  %3824 = add nsw i32 %3823, 1
  store i32 %3824, ptr @test_count, align 4, !tbaa !5
  %3825 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %77, i32 noundef 0)
  %3826 = icmp eq i32 %3825, -1
  br i1 %3826, label %3827, label %3880

3827:                                             ; preds = %3822
  br label %3828

3828:                                             ; preds = %3827
  br label %3829

3829:                                             ; preds = %3828
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  %3830 = call ptr @__errno_location() #12
  %3831 = load i32, ptr %3830, align 4, !tbaa !5
  store i32 %3831, ptr %78, align 4, !tbaa !5
  %3832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3833 = call i32 @s2n_print_stacktrace(ptr noundef %3832)
  %3834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3835 = trunc i8 %3834 to i1
  br i1 %3835, label %3836, label %3858

3836:                                             ; preds = %3829
  %3837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3838 = call i32 @fileno(ptr noundef %3837) #11
  %3839 = call i32 @isatty(i32 noundef %3838) #11
  %3840 = icmp ne i32 %3839, 0
  br i1 %3840, label %3841, label %3858

3841:                                             ; preds = %3836
  %3842 = load i32, ptr %78, align 4, !tbaa !5
  %3843 = call ptr @__errno_location() #12
  store i32 %3842, ptr %3843, align 4, !tbaa !5
  %3844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3845 = load i32, ptr @test_count, align 4, !tbaa !5
  %3846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3847 = load i32, ptr %3846, align 4, !tbaa !5
  %3848 = call ptr @s2n_strerror(i32 noundef %3847, ptr noundef @.str.25)
  %3849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3850 = load i32, ptr %3849, align 4, !tbaa !5
  %3851 = call ptr @s2n_strerror_debug(i32 noundef %3850, ptr noundef @.str.25)
  %3852 = call ptr @__errno_location() #12
  %3853 = load i32, ptr %3852, align 4, !tbaa !5
  %3854 = call ptr @strerror(i32 noundef %3853) #11
  %3855 = call ptr @__errno_location() #12
  %3856 = load i32, ptr %3855, align 4, !tbaa !5
  %3857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3844, ptr noundef @.str.23, i32 noundef %3845, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 242, ptr noundef %3848, ptr noundef %3851, ptr noundef %3854, i32 noundef %3856) #11
  br label %3875

3858:                                             ; preds = %3836, %3829
  %3859 = load i32, ptr %78, align 4, !tbaa !5
  %3860 = call ptr @__errno_location() #12
  store i32 %3859, ptr %3860, align 4, !tbaa !5
  %3861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3862 = load i32, ptr @test_count, align 4, !tbaa !5
  %3863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3864 = load i32, ptr %3863, align 4, !tbaa !5
  %3865 = call ptr @s2n_strerror(i32 noundef %3864, ptr noundef @.str.25)
  %3866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3867 = load i32, ptr %3866, align 4, !tbaa !5
  %3868 = call ptr @s2n_strerror_debug(i32 noundef %3867, ptr noundef @.str.25)
  %3869 = call ptr @__errno_location() #12
  %3870 = load i32, ptr %3869, align 4, !tbaa !5
  %3871 = call ptr @strerror(i32 noundef %3870) #11
  %3872 = call ptr @__errno_location() #12
  %3873 = load i32, ptr %3872, align 4, !tbaa !5
  %3874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3861, ptr noundef @.str.26, i32 noundef %3862, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 242, ptr noundef %3865, ptr noundef %3868, ptr noundef %3871, i32 noundef %3873) #11
  br label %3875

3875:                                             ; preds = %3858, %3841
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %3876

3876:                                             ; preds = %3875
  br label %3877

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

3878:                                             ; No predecessors!
  br label %3879

3879:                                             ; preds = %3878
  br label %3880

3880:                                             ; preds = %3879, %3822
  br label %3881

3881:                                             ; preds = %3880
  br label %3882

3882:                                             ; preds = %3881
  br label %3883

3883:                                             ; preds = %3882
  br label %3884

3884:                                             ; preds = %3883
  br label %3885

3885:                                             ; preds = %3884
  %3886 = load i32, ptr @test_count, align 4, !tbaa !5
  %3887 = add nsw i32 %3886, 1
  store i32 %3887, ptr @test_count, align 4, !tbaa !5
  %3888 = load ptr, ptr %73, align 8, !tbaa !9
  %3889 = call i32 @s2n_tls13_server_nst_write(ptr noundef %3888, ptr noundef %77)
  %3890 = getelementptr inbounds %struct.s2n_result, ptr %79, i32 0, i32 0
  store i32 %3889, ptr %3890, align 4
  %3891 = getelementptr inbounds %struct.s2n_result, ptr %79, i32 0, i32 0
  %3892 = load i32, ptr %3891, align 4
  %3893 = call zeroext i1 @s2n_result_is_error(i32 %3892)
  br i1 %3893, label %3947, label %3894

3894:                                             ; preds = %3885
  br label %3895

3895:                                             ; preds = %3894
  br label %3896

3896:                                             ; preds = %3895
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #11
  %3897 = call ptr @__errno_location() #12
  %3898 = load i32, ptr %3897, align 4, !tbaa !5
  store i32 %3898, ptr %80, align 4, !tbaa !5
  %3899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3900 = call i32 @s2n_print_stacktrace(ptr noundef %3899)
  %3901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3902 = trunc i8 %3901 to i1
  br i1 %3902, label %3903, label %3925

3903:                                             ; preds = %3896
  %3904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3905 = call i32 @fileno(ptr noundef %3904) #11
  %3906 = call i32 @isatty(i32 noundef %3905) #11
  %3907 = icmp ne i32 %3906, 0
  br i1 %3907, label %3908, label %3925

3908:                                             ; preds = %3903
  %3909 = load i32, ptr %80, align 4, !tbaa !5
  %3910 = call ptr @__errno_location() #12
  store i32 %3909, ptr %3910, align 4, !tbaa !5
  %3911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3912 = load i32, ptr @test_count, align 4, !tbaa !5
  %3913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3914 = load i32, ptr %3913, align 4, !tbaa !5
  %3915 = call ptr @s2n_strerror(i32 noundef %3914, ptr noundef @.str.25)
  %3916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3917 = load i32, ptr %3916, align 4, !tbaa !5
  %3918 = call ptr @s2n_strerror_debug(i32 noundef %3917, ptr noundef @.str.25)
  %3919 = call ptr @__errno_location() #12
  %3920 = load i32, ptr %3919, align 4, !tbaa !5
  %3921 = call ptr @strerror(i32 noundef %3920) #11
  %3922 = call ptr @__errno_location() #12
  %3923 = load i32, ptr %3922, align 4, !tbaa !5
  %3924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3911, ptr noundef @.str.23, i32 noundef %3912, ptr noundef @.str.59, ptr noundef @.str.22, i32 noundef 243, ptr noundef %3915, ptr noundef %3918, ptr noundef %3921, i32 noundef %3923) #11
  br label %3942

3925:                                             ; preds = %3903, %3896
  %3926 = load i32, ptr %80, align 4, !tbaa !5
  %3927 = call ptr @__errno_location() #12
  store i32 %3926, ptr %3927, align 4, !tbaa !5
  %3928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3929 = load i32, ptr @test_count, align 4, !tbaa !5
  %3930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3931 = load i32, ptr %3930, align 4, !tbaa !5
  %3932 = call ptr @s2n_strerror(i32 noundef %3931, ptr noundef @.str.25)
  %3933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3934 = load i32, ptr %3933, align 4, !tbaa !5
  %3935 = call ptr @s2n_strerror_debug(i32 noundef %3934, ptr noundef @.str.25)
  %3936 = call ptr @__errno_location() #12
  %3937 = load i32, ptr %3936, align 4, !tbaa !5
  %3938 = call ptr @strerror(i32 noundef %3937) #11
  %3939 = call ptr @__errno_location() #12
  %3940 = load i32, ptr %3939, align 4, !tbaa !5
  %3941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3928, ptr noundef @.str.26, i32 noundef %3929, ptr noundef @.str.59, ptr noundef @.str.22, i32 noundef 243, ptr noundef %3932, ptr noundef %3935, ptr noundef %3938, i32 noundef %3940) #11
  br label %3942

3942:                                             ; preds = %3925, %3908
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %3943

3943:                                             ; preds = %3942
  br label %3944

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

3945:                                             ; No predecessors!
  br label %3946

3946:                                             ; preds = %3945
  br label %3947

3947:                                             ; preds = %3946, %3885
  br label %3948

3948:                                             ; preds = %3947
  br label %3949

3949:                                             ; preds = %3948
  br label %3950

3950:                                             ; preds = %3949
  %3951 = load i32, ptr @test_count, align 4, !tbaa !5
  %3952 = add nsw i32 %3951, 1
  store i32 %3952, ptr @test_count, align 4, !tbaa !5
  %3953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3954 = load i32, ptr %3953, align 4, !tbaa !5
  %3955 = icmp eq i32 %3954, 469762084
  br i1 %3955, label %4009, label %3956

3956:                                             ; preds = %3950
  br label %3957

3957:                                             ; preds = %3956
  br label %3958

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

3965:                                             ; preds = %3958
  %3966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3967 = call i32 @fileno(ptr noundef %3966) #11
  %3968 = call i32 @isatty(i32 noundef %3967) #11
  %3969 = icmp ne i32 %3968, 0
  br i1 %3969, label %3970, label %3987

3970:                                             ; preds = %3965
  %3971 = load i32, ptr %81, align 4, !tbaa !5
  %3972 = call ptr @__errno_location() #12
  store i32 %3971, ptr %3972, align 4, !tbaa !5
  %3973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3974 = load i32, ptr @test_count, align 4, !tbaa !5
  %3975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3976 = load i32, ptr %3975, align 4, !tbaa !5
  %3977 = call ptr @s2n_strerror(i32 noundef %3976, ptr noundef @.str.25)
  %3978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3979 = load i32, ptr %3978, align 4, !tbaa !5
  %3980 = call ptr @s2n_strerror_debug(i32 noundef %3979, ptr noundef @.str.25)
  %3981 = call ptr @__errno_location() #12
  %3982 = load i32, ptr %3981, align 4, !tbaa !5
  %3983 = call ptr @strerror(i32 noundef %3982) #11
  %3984 = call ptr @__errno_location() #12
  %3985 = load i32, ptr %3984, align 4, !tbaa !5
  %3986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3973, ptr noundef @.str.23, i32 noundef %3974, ptr noundef @.str.64, ptr noundef @.str.22, i32 noundef 243, ptr noundef %3977, ptr noundef %3980, ptr noundef %3983, i32 noundef %3985) #11
  br label %4004

3987:                                             ; preds = %3965, %3958
  %3988 = load i32, ptr %81, align 4, !tbaa !5
  %3989 = call ptr @__errno_location() #12
  store i32 %3988, ptr %3989, align 4, !tbaa !5
  %3990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3991 = load i32, ptr @test_count, align 4, !tbaa !5
  %3992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3993 = load i32, ptr %3992, align 4, !tbaa !5
  %3994 = call ptr @s2n_strerror(i32 noundef %3993, ptr noundef @.str.25)
  %3995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3996 = load i32, ptr %3995, align 4, !tbaa !5
  %3997 = call ptr @s2n_strerror_debug(i32 noundef %3996, ptr noundef @.str.25)
  %3998 = call ptr @__errno_location() #12
  %3999 = load i32, ptr %3998, align 4, !tbaa !5
  %4000 = call ptr @strerror(i32 noundef %3999) #11
  %4001 = call ptr @__errno_location() #12
  %4002 = load i32, ptr %4001, align 4, !tbaa !5
  %4003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3990, ptr noundef @.str.26, i32 noundef %3991, ptr noundef @.str.64, ptr noundef @.str.22, i32 noundef 243, ptr noundef %3994, ptr noundef %3997, ptr noundef %4000, i32 noundef %4002) #11
  br label %4004

4004:                                             ; preds = %3987, %3970
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %4005

4005:                                             ; preds = %4004
  br label %4006

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

4007:                                             ; No predecessors!
  br label %4008

4008:                                             ; preds = %4007
  br label %4009

4009:                                             ; preds = %4008, %3950
  br label %4010

4010:                                             ; preds = %4009
  br label %4011

4011:                                             ; preds = %4010
  br label %4012

4012:                                             ; preds = %4011
  %4013 = load i32, ptr @test_count, align 4, !tbaa !5
  %4014 = add nsw i32 %4013, 1
  store i32 %4014, 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_debug(i32 noundef %4016, ptr noundef @.str.25)
  %4018 = icmp eq ptr %4017, null
  br i1 %4018, label %4019, label %4072

4019:                                             ; preds = %4012
  br label %4020

4020:                                             ; preds = %4019
  br label %4021

4021:                                             ; preds = %4020
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #11
  %4022 = call ptr @__errno_location() #12
  %4023 = load i32, ptr %4022, align 4, !tbaa !5
  store i32 %4023, ptr %82, align 4, !tbaa !5
  %4024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4025 = call i32 @s2n_print_stacktrace(ptr noundef %4024)
  %4026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4027 = trunc i8 %4026 to i1
  br i1 %4027, label %4028, label %4050

4028:                                             ; preds = %4021
  %4029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4030 = call i32 @fileno(ptr noundef %4029) #11
  %4031 = call i32 @isatty(i32 noundef %4030) #11
  %4032 = icmp ne i32 %4031, 0
  br i1 %4032, label %4033, label %4050

4033:                                             ; preds = %4028
  %4034 = load i32, ptr %82, align 4, !tbaa !5
  %4035 = call ptr @__errno_location() #12
  store i32 %4034, ptr %4035, align 4, !tbaa !5
  %4036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4037 = load i32, ptr @test_count, align 4, !tbaa !5
  %4038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4039 = load i32, ptr %4038, align 4, !tbaa !5
  %4040 = call ptr @s2n_strerror(i32 noundef %4039, ptr noundef @.str.25)
  %4041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4042 = load i32, ptr %4041, align 4, !tbaa !5
  %4043 = call ptr @s2n_strerror_debug(i32 noundef %4042, ptr noundef @.str.25)
  %4044 = call ptr @__errno_location() #12
  %4045 = load i32, ptr %4044, align 4, !tbaa !5
  %4046 = call ptr @strerror(i32 noundef %4045) #11
  %4047 = call ptr @__errno_location() #12
  %4048 = load i32, ptr %4047, align 4, !tbaa !5
  %4049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4036, ptr noundef @.str.23, i32 noundef %4037, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 243, ptr noundef %4040, ptr noundef %4043, ptr noundef %4046, i32 noundef %4048) #11
  br label %4067

4050:                                             ; preds = %4028, %4021
  %4051 = load i32, ptr %82, align 4, !tbaa !5
  %4052 = call ptr @__errno_location() #12
  store i32 %4051, ptr %4052, align 4, !tbaa !5
  %4053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4054 = load i32, ptr @test_count, align 4, !tbaa !5
  %4055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4056 = load i32, ptr %4055, align 4, !tbaa !5
  %4057 = call ptr @s2n_strerror(i32 noundef %4056, ptr noundef @.str.25)
  %4058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4059 = load i32, ptr %4058, align 4, !tbaa !5
  %4060 = call ptr @s2n_strerror_debug(i32 noundef %4059, ptr noundef @.str.25)
  %4061 = call ptr @__errno_location() #12
  %4062 = load i32, ptr %4061, align 4, !tbaa !5
  %4063 = call ptr @strerror(i32 noundef %4062) #11
  %4064 = call ptr @__errno_location() #12
  %4065 = load i32, ptr %4064, align 4, !tbaa !5
  %4066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4053, ptr noundef @.str.26, i32 noundef %4054, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 243, ptr noundef %4057, ptr noundef %4060, ptr noundef %4063, i32 noundef %4065) #11
  br label %4067

4067:                                             ; preds = %4050, %4033
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %4068

4068:                                             ; preds = %4067
  br label %4069

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

4070:                                             ; No predecessors!
  br label %4071

4071:                                             ; preds = %4070
  br label %4072

4072:                                             ; preds = %4071, %4012
  br label %4073

4073:                                             ; preds = %4072
  br label %4074

4074:                                             ; preds = %4073
  br label %4075

4075:                                             ; preds = %4074
  br label %4076

4076:                                             ; preds = %4075
  br label %4077

4077:                                             ; preds = %4076
  %4078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4078, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4079 = call ptr @__errno_location() #12
  store i32 0, ptr %4079, align 4, !tbaa !5
  br label %4080

4080:                                             ; preds = %4077
  br label %4081

4081:                                             ; preds = %4080
  br label %4082

4082:                                             ; preds = %4081
  br label %4083

4083:                                             ; preds = %4082
  %4084 = call i32 @s2n_stuffer_free(ptr noundef %77)
  call void @llvm.lifetime.end.p0(i64 40, ptr %77) #11
  %4085 = call i32 @s2n_connection_ptr_free(ptr noundef %73)
  %4086 = getelementptr inbounds %struct.s2n_result, ptr %83, i32 0, i32 0
  store i32 %4085, ptr %4086, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #11
  %4087 = call i32 @s2n_config_ptr_free(ptr noundef %72)
  %4088 = getelementptr inbounds %struct.s2n_result, ptr %84, i32 0, i32 0
  store i32 %4087, ptr %4088, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #11
  store ptr null, ptr %85, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #11
  store ptr null, ptr %86, align 8, !tbaa !9
  br label %4089

4089:                                             ; preds = %4083
  %4090 = load i32, ptr @test_count, align 4, !tbaa !5
  %4091 = add nsw i32 %4090, 1
  store i32 %4091, ptr @test_count, align 4, !tbaa !5
  %4092 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4092, ptr %86, align 8, !tbaa !9
  %4093 = icmp eq ptr %4092, null
  br i1 %4093, label %4094, label %4147

4094:                                             ; preds = %4089
  br label %4095

4095:                                             ; preds = %4094
  br label %4096

4096:                                             ; preds = %4095
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #11
  %4097 = call ptr @__errno_location() #12
  %4098 = load i32, ptr %4097, align 4, !tbaa !5
  store i32 %4098, ptr %87, align 4, !tbaa !5
  %4099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4100 = call i32 @s2n_print_stacktrace(ptr noundef %4099)
  %4101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4102 = trunc i8 %4101 to i1
  br i1 %4102, label %4103, label %4125

4103:                                             ; preds = %4096
  %4104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4105 = call i32 @fileno(ptr noundef %4104) #11
  %4106 = call i32 @isatty(i32 noundef %4105) #11
  %4107 = icmp ne i32 %4106, 0
  br i1 %4107, label %4108, label %4125

4108:                                             ; preds = %4103
  %4109 = load i32, ptr %87, align 4, !tbaa !5
  %4110 = call ptr @__errno_location() #12
  store i32 %4109, ptr %4110, align 4, !tbaa !5
  %4111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4112 = load i32, ptr @test_count, align 4, !tbaa !5
  %4113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4114 = load i32, ptr %4113, align 4, !tbaa !5
  %4115 = call ptr @s2n_strerror(i32 noundef %4114, ptr noundef @.str.25)
  %4116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4117 = load i32, ptr %4116, align 4, !tbaa !5
  %4118 = call ptr @s2n_strerror_debug(i32 noundef %4117, ptr noundef @.str.25)
  %4119 = call ptr @__errno_location() #12
  %4120 = load i32, ptr %4119, align 4, !tbaa !5
  %4121 = call ptr @strerror(i32 noundef %4120) #11
  %4122 = call ptr @__errno_location() #12
  %4123 = load i32, ptr %4122, align 4, !tbaa !5
  %4124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4111, ptr noundef @.str.23, i32 noundef %4112, ptr noundef @.str.29, ptr noundef @.str.22, i32 noundef 255, ptr noundef %4115, ptr noundef %4118, ptr noundef %4121, i32 noundef %4123) #11
  br label %4142

4125:                                             ; preds = %4103, %4096
  %4126 = load i32, ptr %87, align 4, !tbaa !5
  %4127 = call ptr @__errno_location() #12
  store i32 %4126, ptr %4127, align 4, !tbaa !5
  %4128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4129 = load i32, ptr @test_count, align 4, !tbaa !5
  %4130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4131 = load i32, ptr %4130, align 4, !tbaa !5
  %4132 = call ptr @s2n_strerror(i32 noundef %4131, ptr noundef @.str.25)
  %4133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4134 = load i32, ptr %4133, align 4, !tbaa !5
  %4135 = call ptr @s2n_strerror_debug(i32 noundef %4134, ptr noundef @.str.25)
  %4136 = call ptr @__errno_location() #12
  %4137 = load i32, ptr %4136, align 4, !tbaa !5
  %4138 = call ptr @strerror(i32 noundef %4137) #11
  %4139 = call ptr @__errno_location() #12
  %4140 = load i32, ptr %4139, align 4, !tbaa !5
  %4141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4128, ptr noundef @.str.26, i32 noundef %4129, ptr noundef @.str.29, ptr noundef @.str.22, i32 noundef 255, ptr noundef %4132, ptr noundef %4135, ptr noundef %4138, i32 noundef %4140) #11
  br label %4142

4142:                                             ; preds = %4125, %4108
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  br label %4143

4143:                                             ; preds = %4142
  br label %4144

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

4145:                                             ; No predecessors!
  br label %4146

4146:                                             ; preds = %4145
  br label %4147

4147:                                             ; preds = %4146, %4089
  br label %4148

4148:                                             ; preds = %4147
  br label %4149

4149:                                             ; preds = %4148
  br label %4150

4150:                                             ; preds = %4149
  %4151 = load i32, ptr @test_count, align 4, !tbaa !5
  %4152 = add nsw i32 %4151, 1
  store i32 %4152, ptr @test_count, align 4, !tbaa !5
  %4153 = call ptr @s2n_config_new()
  store ptr %4153, ptr %85, align 8, !tbaa !9
  %4154 = icmp eq ptr %4153, null
  br i1 %4154, label %4155, label %4208

4155:                                             ; preds = %4150
  br label %4156

4156:                                             ; preds = %4155
  br label %4157

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

4164:                                             ; preds = %4157
  %4165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4166 = call i32 @fileno(ptr noundef %4165) #11
  %4167 = call i32 @isatty(i32 noundef %4166) #11
  %4168 = icmp ne i32 %4167, 0
  br i1 %4168, label %4169, label %4186

4169:                                             ; preds = %4164
  %4170 = load i32, ptr %88, align 4, !tbaa !5
  %4171 = call ptr @__errno_location() #12
  store i32 %4170, ptr %4171, align 4, !tbaa !5
  %4172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4173 = load i32, ptr @test_count, align 4, !tbaa !5
  %4174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4175 = load i32, ptr %4174, align 4, !tbaa !5
  %4176 = call ptr @s2n_strerror(i32 noundef %4175, ptr noundef @.str.25)
  %4177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4178 = load i32, ptr %4177, align 4, !tbaa !5
  %4179 = call ptr @s2n_strerror_debug(i32 noundef %4178, ptr noundef @.str.25)
  %4180 = call ptr @__errno_location() #12
  %4181 = load i32, ptr %4180, align 4, !tbaa !5
  %4182 = call ptr @strerror(i32 noundef %4181) #11
  %4183 = call ptr @__errno_location() #12
  %4184 = load i32, ptr %4183, align 4, !tbaa !5
  %4185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4172, ptr noundef @.str.23, i32 noundef %4173, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 256, ptr noundef %4176, ptr noundef %4179, ptr noundef %4182, i32 noundef %4184) #11
  br label %4203

4186:                                             ; preds = %4164, %4157
  %4187 = load i32, ptr %88, align 4, !tbaa !5
  %4188 = call ptr @__errno_location() #12
  store i32 %4187, ptr %4188, align 4, !tbaa !5
  %4189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4190 = load i32, ptr @test_count, align 4, !tbaa !5
  %4191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4192 = load i32, ptr %4191, align 4, !tbaa !5
  %4193 = call ptr @s2n_strerror(i32 noundef %4192, ptr noundef @.str.25)
  %4194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4195 = load i32, ptr %4194, align 4, !tbaa !5
  %4196 = call ptr @s2n_strerror_debug(i32 noundef %4195, ptr noundef @.str.25)
  %4197 = call ptr @__errno_location() #12
  %4198 = load i32, ptr %4197, align 4, !tbaa !5
  %4199 = call ptr @strerror(i32 noundef %4198) #11
  %4200 = call ptr @__errno_location() #12
  %4201 = load i32, ptr %4200, align 4, !tbaa !5
  %4202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4189, ptr noundef @.str.26, i32 noundef %4190, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 256, ptr noundef %4193, ptr noundef %4196, ptr noundef %4199, i32 noundef %4201) #11
  br label %4203

4203:                                             ; preds = %4186, %4169
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  br label %4204

4204:                                             ; preds = %4203
  br label %4205

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

4206:                                             ; No predecessors!
  br label %4207

4207:                                             ; preds = %4206
  br label %4208

4208:                                             ; preds = %4207, %4150
  br label %4209

4209:                                             ; preds = %4208
  br label %4210

4210:                                             ; preds = %4209
  br label %4211

4211:                                             ; preds = %4210
  %4212 = load i32, ptr @test_count, align 4, !tbaa !5
  %4213 = add nsw i32 %4212, 1
  store i32 %4213, ptr @test_count, align 4, !tbaa !5
  %4214 = load ptr, ptr %85, align 8, !tbaa !9
  %4215 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %4214)
  %4216 = getelementptr inbounds %struct.s2n_result, ptr %89, i32 0, i32 0
  store i32 %4215, ptr %4216, align 4
  %4217 = getelementptr inbounds %struct.s2n_result, ptr %89, i32 0, i32 0
  %4218 = load i32, ptr %4217, align 4
  %4219 = call zeroext i1 @s2n_result_is_ok(i32 %4218)
  br i1 %4219, label %4273, label %4220

4220:                                             ; preds = %4211
  br label %4221

4221:                                             ; preds = %4220
  br label %4222

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

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

4234:                                             ; preds = %4229
  %4235 = load i32, ptr %90, align 4, !tbaa !5
  %4236 = call ptr @__errno_location() #12
  store i32 %4235, ptr %4236, align 4, !tbaa !5
  %4237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4238 = load i32, ptr @test_count, align 4, !tbaa !5
  %4239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4240 = load i32, ptr %4239, align 4, !tbaa !5
  %4241 = call ptr @s2n_strerror(i32 noundef %4240, ptr noundef @.str.25)
  %4242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4243 = load i32, ptr %4242, align 4, !tbaa !5
  %4244 = call ptr @s2n_strerror_debug(i32 noundef %4243, ptr noundef @.str.25)
  %4245 = call ptr @__errno_location() #12
  %4246 = load i32, ptr %4245, align 4, !tbaa !5
  %4247 = call ptr @strerror(i32 noundef %4246) #11
  %4248 = call ptr @__errno_location() #12
  %4249 = load i32, ptr %4248, align 4, !tbaa !5
  %4250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4237, ptr noundef @.str.23, i32 noundef %4238, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 258, ptr noundef %4241, ptr noundef %4244, ptr noundef %4247, i32 noundef %4249) #11
  br label %4268

4251:                                             ; preds = %4229, %4222
  %4252 = load i32, ptr %90, align 4, !tbaa !5
  %4253 = call ptr @__errno_location() #12
  store i32 %4252, ptr %4253, align 4, !tbaa !5
  %4254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4255 = load i32, ptr @test_count, align 4, !tbaa !5
  %4256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4257 = load i32, ptr %4256, align 4, !tbaa !5
  %4258 = call ptr @s2n_strerror(i32 noundef %4257, ptr noundef @.str.25)
  %4259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4260 = load i32, ptr %4259, align 4, !tbaa !5
  %4261 = call ptr @s2n_strerror_debug(i32 noundef %4260, ptr noundef @.str.25)
  %4262 = call ptr @__errno_location() #12
  %4263 = load i32, ptr %4262, align 4, !tbaa !5
  %4264 = call ptr @strerror(i32 noundef %4263) #11
  %4265 = call ptr @__errno_location() #12
  %4266 = load i32, ptr %4265, align 4, !tbaa !5
  %4267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4254, ptr noundef @.str.26, i32 noundef %4255, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 258, ptr noundef %4258, ptr noundef %4261, ptr noundef %4264, i32 noundef %4266) #11
  br label %4268

4268:                                             ; preds = %4251, %4234
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %4269

4269:                                             ; preds = %4268
  br label %4270

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

4271:                                             ; No predecessors!
  br label %4272

4272:                                             ; preds = %4271
  br label %4273

4273:                                             ; preds = %4272, %4211
  br label %4274

4274:                                             ; preds = %4273
  br label %4275

4275:                                             ; preds = %4274
  br label %4276

4276:                                             ; preds = %4275
  %4277 = load i32, ptr @test_count, align 4, !tbaa !5
  %4278 = add nsw i32 %4277, 1
  store i32 %4278, ptr @test_count, align 4, !tbaa !5
  %4279 = load ptr, ptr %86, align 8, !tbaa !9
  %4280 = load ptr, ptr %85, align 8, !tbaa !9
  %4281 = call i32 @s2n_connection_set_config(ptr noundef %4279, ptr noundef %4280)
  %4282 = icmp eq i32 %4281, -1
  br i1 %4282, label %4283, label %4336

4283:                                             ; preds = %4276
  br label %4284

4284:                                             ; preds = %4283
  br label %4285

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

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

4297:                                             ; preds = %4292
  %4298 = load i32, ptr %91, align 4, !tbaa !5
  %4299 = call ptr @__errno_location() #12
  store i32 %4298, ptr %4299, align 4, !tbaa !5
  %4300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4301 = load i32, ptr @test_count, align 4, !tbaa !5
  %4302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4303 = load i32, ptr %4302, align 4, !tbaa !5
  %4304 = call ptr @s2n_strerror(i32 noundef %4303, ptr noundef @.str.25)
  %4305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4306 = load i32, ptr %4305, align 4, !tbaa !5
  %4307 = call ptr @s2n_strerror_debug(i32 noundef %4306, ptr noundef @.str.25)
  %4308 = call ptr @__errno_location() #12
  %4309 = load i32, ptr %4308, align 4, !tbaa !5
  %4310 = call ptr @strerror(i32 noundef %4309) #11
  %4311 = call ptr @__errno_location() #12
  %4312 = load i32, ptr %4311, align 4, !tbaa !5
  %4313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4300, ptr noundef @.str.23, i32 noundef %4301, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 259, ptr noundef %4304, ptr noundef %4307, ptr noundef %4310, i32 noundef %4312) #11
  br label %4331

4314:                                             ; preds = %4292, %4285
  %4315 = load i32, ptr %91, align 4, !tbaa !5
  %4316 = call ptr @__errno_location() #12
  store i32 %4315, ptr %4316, align 4, !tbaa !5
  %4317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4318 = load i32, ptr @test_count, align 4, !tbaa !5
  %4319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4320 = load i32, ptr %4319, align 4, !tbaa !5
  %4321 = call ptr @s2n_strerror(i32 noundef %4320, ptr noundef @.str.25)
  %4322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4323 = load i32, ptr %4322, align 4, !tbaa !5
  %4324 = call ptr @s2n_strerror_debug(i32 noundef %4323, ptr noundef @.str.25)
  %4325 = call ptr @__errno_location() #12
  %4326 = load i32, ptr %4325, align 4, !tbaa !5
  %4327 = call ptr @strerror(i32 noundef %4326) #11
  %4328 = call ptr @__errno_location() #12
  %4329 = load i32, ptr %4328, align 4, !tbaa !5
  %4330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4317, ptr noundef @.str.26, i32 noundef %4318, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 259, ptr noundef %4321, ptr noundef %4324, ptr noundef %4327, i32 noundef %4329) #11
  br label %4331

4331:                                             ; preds = %4314, %4297
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %4332

4332:                                             ; preds = %4331
  br label %4333

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

4334:                                             ; No predecessors!
  br label %4335

4335:                                             ; preds = %4334
  br label %4336

4336:                                             ; preds = %4335, %4276
  br label %4337

4337:                                             ; preds = %4336
  br label %4338

4338:                                             ; preds = %4337
  %4339 = load ptr, ptr %86, align 8, !tbaa !9
  %4340 = getelementptr inbounds %struct.s2n_connection, ptr %4339, i32 0, i32 23
  store i8 34, ptr %4340, align 4, !tbaa !17
  %4341 = load ptr, ptr %86, align 8, !tbaa !9
  %4342 = getelementptr inbounds %struct.s2n_connection, ptr %4341, i32 0, i32 27
  %4343 = load ptr, ptr %4342, align 8, !tbaa !43
  %4344 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %4343, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %4344, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr %92) #11
  call void @llvm.memset.p0.i64(ptr align 8 %92, i8 0, i64 40, i1 false)
  br label %4345

4345:                                             ; preds = %4338
  %4346 = load i32, ptr @test_count, align 4, !tbaa !5
  %4347 = add nsw i32 %4346, 1
  store i32 %4347, ptr @test_count, align 4, !tbaa !5
  %4348 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %92, i32 noundef 0)
  %4349 = icmp eq i32 %4348, -1
  br i1 %4349, label %4350, label %4403

4350:                                             ; preds = %4345
  br label %4351

4351:                                             ; preds = %4350
  br label %4352

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

4359:                                             ; preds = %4352
  %4360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4361 = call i32 @fileno(ptr noundef %4360) #11
  %4362 = call i32 @isatty(i32 noundef %4361) #11
  %4363 = icmp ne i32 %4362, 0
  br i1 %4363, label %4364, label %4381

4364:                                             ; preds = %4359
  %4365 = load i32, ptr %93, align 4, !tbaa !5
  %4366 = call ptr @__errno_location() #12
  store i32 %4365, ptr %4366, align 4, !tbaa !5
  %4367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4368 = load i32, ptr @test_count, align 4, !tbaa !5
  %4369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4370 = load i32, ptr %4369, align 4, !tbaa !5
  %4371 = call ptr @s2n_strerror(i32 noundef %4370, ptr noundef @.str.25)
  %4372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4373 = load i32, ptr %4372, align 4, !tbaa !5
  %4374 = call ptr @s2n_strerror_debug(i32 noundef %4373, ptr noundef @.str.25)
  %4375 = call ptr @__errno_location() #12
  %4376 = load i32, ptr %4375, align 4, !tbaa !5
  %4377 = call ptr @strerror(i32 noundef %4376) #11
  %4378 = call ptr @__errno_location() #12
  %4379 = load i32, ptr %4378, align 4, !tbaa !5
  %4380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4367, ptr noundef @.str.23, i32 noundef %4368, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 266, ptr noundef %4371, ptr noundef %4374, ptr noundef %4377, i32 noundef %4379) #11
  br label %4398

4381:                                             ; preds = %4359, %4352
  %4382 = load i32, ptr %93, align 4, !tbaa !5
  %4383 = call ptr @__errno_location() #12
  store i32 %4382, ptr %4383, align 4, !tbaa !5
  %4384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4385 = load i32, ptr @test_count, align 4, !tbaa !5
  %4386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4387 = load i32, ptr %4386, align 4, !tbaa !5
  %4388 = call ptr @s2n_strerror(i32 noundef %4387, ptr noundef @.str.25)
  %4389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4390 = load i32, ptr %4389, align 4, !tbaa !5
  %4391 = call ptr @s2n_strerror_debug(i32 noundef %4390, ptr noundef @.str.25)
  %4392 = call ptr @__errno_location() #12
  %4393 = load i32, ptr %4392, align 4, !tbaa !5
  %4394 = call ptr @strerror(i32 noundef %4393) #11
  %4395 = call ptr @__errno_location() #12
  %4396 = load i32, ptr %4395, align 4, !tbaa !5
  %4397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4384, ptr noundef @.str.26, i32 noundef %4385, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 266, ptr noundef %4388, ptr noundef %4391, ptr noundef %4394, i32 noundef %4396) #11
  br label %4398

4398:                                             ; preds = %4381, %4364
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4399

4399:                                             ; preds = %4398
  br label %4400

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

4401:                                             ; No predecessors!
  br label %4402

4402:                                             ; preds = %4401
  br label %4403

4403:                                             ; preds = %4402, %4345
  br label %4404

4404:                                             ; preds = %4403
  br label %4405

4405:                                             ; preds = %4404
  br label %4406

4406:                                             ; preds = %4405
  %4407 = load i32, ptr @test_count, align 4, !tbaa !5
  %4408 = add nsw i32 %4407, 1
  store i32 %4408, ptr @test_count, align 4, !tbaa !5
  %4409 = load ptr, ptr %86, align 8, !tbaa !9
  %4410 = call i32 @s2n_tls13_server_nst_write(ptr noundef %4409, ptr noundef %92)
  %4411 = getelementptr inbounds %struct.s2n_result, ptr %94, i32 0, i32 0
  store i32 %4410, ptr %4411, align 4
  %4412 = getelementptr inbounds %struct.s2n_result, ptr %94, i32 0, i32 0
  %4413 = load i32, ptr %4412, align 4
  %4414 = call zeroext i1 @s2n_result_is_ok(i32 %4413)
  br i1 %4414, label %4468, label %4415

4415:                                             ; preds = %4406
  br label %4416

4416:                                             ; preds = %4415
  br label %4417

4417:                                             ; preds = %4416
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #11
  %4418 = call ptr @__errno_location() #12
  %4419 = load i32, ptr %4418, align 4, !tbaa !5
  store i32 %4419, ptr %95, align 4, !tbaa !5
  %4420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4421 = call i32 @s2n_print_stacktrace(ptr noundef %4420)
  %4422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4423 = trunc i8 %4422 to i1
  br i1 %4423, label %4424, label %4446

4424:                                             ; preds = %4417
  %4425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4426 = call i32 @fileno(ptr noundef %4425) #11
  %4427 = call i32 @isatty(i32 noundef %4426) #11
  %4428 = icmp ne i32 %4427, 0
  br i1 %4428, label %4429, label %4446

4429:                                             ; preds = %4424
  %4430 = load i32, ptr %95, align 4, !tbaa !5
  %4431 = call ptr @__errno_location() #12
  store i32 %4430, ptr %4431, align 4, !tbaa !5
  %4432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4433 = load i32, ptr @test_count, align 4, !tbaa !5
  %4434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4435 = load i32, ptr %4434, align 4, !tbaa !5
  %4436 = call ptr @s2n_strerror(i32 noundef %4435, ptr noundef @.str.25)
  %4437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4438 = load i32, ptr %4437, align 4, !tbaa !5
  %4439 = call ptr @s2n_strerror_debug(i32 noundef %4438, ptr noundef @.str.25)
  %4440 = call ptr @__errno_location() #12
  %4441 = load i32, ptr %4440, align 4, !tbaa !5
  %4442 = call ptr @strerror(i32 noundef %4441) #11
  %4443 = call ptr @__errno_location() #12
  %4444 = load i32, ptr %4443, align 4, !tbaa !5
  %4445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4432, ptr noundef @.str.23, i32 noundef %4433, ptr noundef @.str.35, ptr noundef @.str.22, i32 noundef 268, ptr noundef %4436, ptr noundef %4439, ptr noundef %4442, i32 noundef %4444) #11
  br label %4463

4446:                                             ; preds = %4424, %4417
  %4447 = load i32, ptr %95, align 4, !tbaa !5
  %4448 = call ptr @__errno_location() #12
  store i32 %4447, ptr %4448, align 4, !tbaa !5
  %4449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4450 = load i32, ptr @test_count, align 4, !tbaa !5
  %4451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4452 = load i32, ptr %4451, align 4, !tbaa !5
  %4453 = call ptr @s2n_strerror(i32 noundef %4452, ptr noundef @.str.25)
  %4454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4455 = load i32, ptr %4454, align 4, !tbaa !5
  %4456 = call ptr @s2n_strerror_debug(i32 noundef %4455, ptr noundef @.str.25)
  %4457 = call ptr @__errno_location() #12
  %4458 = load i32, ptr %4457, align 4, !tbaa !5
  %4459 = call ptr @strerror(i32 noundef %4458) #11
  %4460 = call ptr @__errno_location() #12
  %4461 = load i32, ptr %4460, align 4, !tbaa !5
  %4462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4449, ptr noundef @.str.26, i32 noundef %4450, ptr noundef @.str.35, ptr noundef @.str.22, i32 noundef 268, ptr noundef %4453, ptr noundef %4456, ptr noundef %4459, i32 noundef %4461) #11
  br label %4463

4463:                                             ; preds = %4446, %4429
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4464

4464:                                             ; preds = %4463
  br label %4465

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

4466:                                             ; No predecessors!
  br label %4467

4467:                                             ; preds = %4466
  br label %4468

4468:                                             ; preds = %4467, %4406
  br label %4469

4469:                                             ; preds = %4468
  br label %4470

4470:                                             ; preds = %4469
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #11
  store i32 0, ptr %96, align 4, !tbaa !5
  br label %4471

4471:                                             ; preds = %4470
  %4472 = load i32, ptr @test_count, align 4, !tbaa !5
  %4473 = add nsw i32 %4472, 1
  store i32 %4473, ptr @test_count, align 4, !tbaa !5
  %4474 = call i32 @s2n_stuffer_skip_read(ptr noundef %92, i32 noundef 8)
  %4475 = icmp eq i32 %4474, -1
  br i1 %4475, label %4476, label %4529

4476:                                             ; preds = %4471
  br label %4477

4477:                                             ; preds = %4476
  br label %4478

4478:                                             ; preds = %4477
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #11
  %4479 = call ptr @__errno_location() #12
  %4480 = load i32, ptr %4479, align 4, !tbaa !5
  store i32 %4480, ptr %97, align 4, !tbaa !5
  %4481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4482 = call i32 @s2n_print_stacktrace(ptr noundef %4481)
  %4483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4484 = trunc i8 %4483 to i1
  br i1 %4484, label %4485, label %4507

4485:                                             ; preds = %4478
  %4486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4487 = call i32 @fileno(ptr noundef %4486) #11
  %4488 = call i32 @isatty(i32 noundef %4487) #11
  %4489 = icmp ne i32 %4488, 0
  br i1 %4489, label %4490, label %4507

4490:                                             ; preds = %4485
  %4491 = load i32, ptr %97, align 4, !tbaa !5
  %4492 = call ptr @__errno_location() #12
  store i32 %4491, ptr %4492, align 4, !tbaa !5
  %4493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4494 = load i32, ptr @test_count, align 4, !tbaa !5
  %4495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4496 = load i32, ptr %4495, align 4, !tbaa !5
  %4497 = call ptr @s2n_strerror(i32 noundef %4496, ptr noundef @.str.25)
  %4498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4499 = load i32, ptr %4498, align 4, !tbaa !5
  %4500 = call ptr @s2n_strerror_debug(i32 noundef %4499, ptr noundef @.str.25)
  %4501 = call ptr @__errno_location() #12
  %4502 = load i32, ptr %4501, align 4, !tbaa !5
  %4503 = call ptr @strerror(i32 noundef %4502) #11
  %4504 = call ptr @__errno_location() #12
  %4505 = load i32, ptr %4504, align 4, !tbaa !5
  %4506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4493, ptr noundef @.str.23, i32 noundef %4494, ptr noundef @.str.65, ptr noundef @.str.22, i32 noundef 271, ptr noundef %4497, ptr noundef %4500, ptr noundef %4503, i32 noundef %4505) #11
  br label %4524

4507:                                             ; preds = %4485, %4478
  %4508 = load i32, ptr %97, align 4, !tbaa !5
  %4509 = call ptr @__errno_location() #12
  store i32 %4508, ptr %4509, align 4, !tbaa !5
  %4510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4511 = load i32, ptr @test_count, align 4, !tbaa !5
  %4512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4513 = load i32, ptr %4512, align 4, !tbaa !5
  %4514 = call ptr @s2n_strerror(i32 noundef %4513, ptr noundef @.str.25)
  %4515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4516 = load i32, ptr %4515, align 4, !tbaa !5
  %4517 = call ptr @s2n_strerror_debug(i32 noundef %4516, ptr noundef @.str.25)
  %4518 = call ptr @__errno_location() #12
  %4519 = load i32, ptr %4518, align 4, !tbaa !5
  %4520 = call ptr @strerror(i32 noundef %4519) #11
  %4521 = call ptr @__errno_location() #12
  %4522 = load i32, ptr %4521, align 4, !tbaa !5
  %4523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4510, ptr noundef @.str.26, i32 noundef %4511, ptr noundef @.str.65, ptr noundef @.str.22, i32 noundef 271, ptr noundef %4514, ptr noundef %4517, ptr noundef %4520, i32 noundef %4522) #11
  br label %4524

4524:                                             ; preds = %4507, %4490
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %4525

4525:                                             ; preds = %4524
  br label %4526

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

4527:                                             ; No predecessors!
  br label %4528

4528:                                             ; preds = %4527
  br label %4529

4529:                                             ; preds = %4528, %4471
  br label %4530

4530:                                             ; preds = %4529
  br label %4531

4531:                                             ; preds = %4530
  br label %4532

4532:                                             ; preds = %4531
  %4533 = load i32, ptr @test_count, align 4, !tbaa !5
  %4534 = add nsw i32 %4533, 1
  store i32 %4534, ptr @test_count, align 4, !tbaa !5
  %4535 = call i32 @s2n_stuffer_read_uint32(ptr noundef %92, ptr noundef %96)
  %4536 = icmp eq i32 %4535, -1
  br i1 %4536, label %4537, label %4590

4537:                                             ; preds = %4532
  br label %4538

4538:                                             ; preds = %4537
  br label %4539

4539:                                             ; preds = %4538
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #11
  %4540 = call ptr @__errno_location() #12
  %4541 = load i32, ptr %4540, align 4, !tbaa !5
  store i32 %4541, ptr %98, align 4, !tbaa !5
  %4542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4543 = call i32 @s2n_print_stacktrace(ptr noundef %4542)
  %4544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4545 = trunc i8 %4544 to i1
  br i1 %4545, label %4546, label %4568

4546:                                             ; preds = %4539
  %4547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4548 = call i32 @fileno(ptr noundef %4547) #11
  %4549 = call i32 @isatty(i32 noundef %4548) #11
  %4550 = icmp ne i32 %4549, 0
  br i1 %4550, label %4551, label %4568

4551:                                             ; preds = %4546
  %4552 = load i32, ptr %98, align 4, !tbaa !5
  %4553 = call ptr @__errno_location() #12
  store i32 %4552, ptr %4553, align 4, !tbaa !5
  %4554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4555 = load i32, ptr @test_count, align 4, !tbaa !5
  %4556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4557 = load i32, ptr %4556, align 4, !tbaa !5
  %4558 = call ptr @s2n_strerror(i32 noundef %4557, ptr noundef @.str.25)
  %4559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4560 = load i32, ptr %4559, align 4, !tbaa !5
  %4561 = call ptr @s2n_strerror_debug(i32 noundef %4560, ptr noundef @.str.25)
  %4562 = call ptr @__errno_location() #12
  %4563 = load i32, ptr %4562, align 4, !tbaa !5
  %4564 = call ptr @strerror(i32 noundef %4563) #11
  %4565 = call ptr @__errno_location() #12
  %4566 = load i32, ptr %4565, align 4, !tbaa !5
  %4567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4554, ptr noundef @.str.23, i32 noundef %4555, ptr noundef @.str.66, ptr noundef @.str.22, i32 noundef 272, ptr noundef %4558, ptr noundef %4561, ptr noundef %4564, i32 noundef %4566) #11
  br label %4585

4568:                                             ; preds = %4546, %4539
  %4569 = load i32, ptr %98, align 4, !tbaa !5
  %4570 = call ptr @__errno_location() #12
  store i32 %4569, ptr %4570, align 4, !tbaa !5
  %4571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4572 = load i32, ptr @test_count, align 4, !tbaa !5
  %4573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4574 = load i32, ptr %4573, align 4, !tbaa !5
  %4575 = call ptr @s2n_strerror(i32 noundef %4574, ptr noundef @.str.25)
  %4576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4577 = load i32, ptr %4576, align 4, !tbaa !5
  %4578 = call ptr @s2n_strerror_debug(i32 noundef %4577, ptr noundef @.str.25)
  %4579 = call ptr @__errno_location() #12
  %4580 = load i32, ptr %4579, align 4, !tbaa !5
  %4581 = call ptr @strerror(i32 noundef %4580) #11
  %4582 = call ptr @__errno_location() #12
  %4583 = load i32, ptr %4582, align 4, !tbaa !5
  %4584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4571, ptr noundef @.str.26, i32 noundef %4572, ptr noundef @.str.66, ptr noundef @.str.22, i32 noundef 272, ptr noundef %4575, ptr noundef %4578, ptr noundef %4581, i32 noundef %4583) #11
  br label %4585

4585:                                             ; preds = %4568, %4551
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %4586

4586:                                             ; preds = %4585
  br label %4587

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

4588:                                             ; No predecessors!
  br label %4589

4589:                                             ; preds = %4588
  br label %4590

4590:                                             ; preds = %4589, %4532
  br label %4591

4591:                                             ; preds = %4590
  br label %4592

4592:                                             ; preds = %4591
  br label %4593

4593:                                             ; preds = %4592
  %4594 = load i32, ptr @test_count, align 4, !tbaa !5
  %4595 = add nsw i32 %4594, 1
  store i32 %4595, ptr @test_count, align 4, !tbaa !5
  %4596 = call i32 @s2n_stuffer_wipe(ptr noundef %92)
  %4597 = icmp eq i32 %4596, -1
  br i1 %4597, label %4598, label %4651

4598:                                             ; preds = %4593
  br label %4599

4599:                                             ; preds = %4598
  br label %4600

4600:                                             ; preds = %4599
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #11
  %4601 = call ptr @__errno_location() #12
  %4602 = load i32, ptr %4601, align 4, !tbaa !5
  store i32 %4602, ptr %99, align 4, !tbaa !5
  %4603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4604 = call i32 @s2n_print_stacktrace(ptr noundef %4603)
  %4605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4606 = trunc i8 %4605 to i1
  br i1 %4606, label %4607, label %4629

4607:                                             ; preds = %4600
  %4608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4609 = call i32 @fileno(ptr noundef %4608) #11
  %4610 = call i32 @isatty(i32 noundef %4609) #11
  %4611 = icmp ne i32 %4610, 0
  br i1 %4611, label %4612, label %4629

4612:                                             ; preds = %4607
  %4613 = load i32, ptr %99, align 4, !tbaa !5
  %4614 = call ptr @__errno_location() #12
  store i32 %4613, ptr %4614, align 4, !tbaa !5
  %4615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4616 = load i32, ptr @test_count, align 4, !tbaa !5
  %4617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4618 = load i32, ptr %4617, align 4, !tbaa !5
  %4619 = call ptr @s2n_strerror(i32 noundef %4618, ptr noundef @.str.25)
  %4620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4621 = load i32, ptr %4620, align 4, !tbaa !5
  %4622 = call ptr @s2n_strerror_debug(i32 noundef %4621, ptr noundef @.str.25)
  %4623 = call ptr @__errno_location() #12
  %4624 = load i32, ptr %4623, align 4, !tbaa !5
  %4625 = call ptr @strerror(i32 noundef %4624) #11
  %4626 = call ptr @__errno_location() #12
  %4627 = load i32, ptr %4626, align 4, !tbaa !5
  %4628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4615, ptr noundef @.str.23, i32 noundef %4616, ptr noundef @.str.67, ptr noundef @.str.22, i32 noundef 274, ptr noundef %4619, ptr noundef %4622, ptr noundef %4625, i32 noundef %4627) #11
  br label %4646

4629:                                             ; preds = %4607, %4600
  %4630 = load i32, ptr %99, align 4, !tbaa !5
  %4631 = call ptr @__errno_location() #12
  store i32 %4630, ptr %4631, align 4, !tbaa !5
  %4632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4633 = load i32, ptr @test_count, align 4, !tbaa !5
  %4634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4635 = load i32, ptr %4634, align 4, !tbaa !5
  %4636 = call ptr @s2n_strerror(i32 noundef %4635, ptr noundef @.str.25)
  %4637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4638 = load i32, ptr %4637, align 4, !tbaa !5
  %4639 = call ptr @s2n_strerror_debug(i32 noundef %4638, ptr noundef @.str.25)
  %4640 = call ptr @__errno_location() #12
  %4641 = load i32, ptr %4640, align 4, !tbaa !5
  %4642 = call ptr @strerror(i32 noundef %4641) #11
  %4643 = call ptr @__errno_location() #12
  %4644 = load i32, ptr %4643, align 4, !tbaa !5
  %4645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4632, ptr noundef @.str.26, i32 noundef %4633, ptr noundef @.str.67, ptr noundef @.str.22, i32 noundef 274, ptr noundef %4636, ptr noundef %4639, ptr noundef %4642, i32 noundef %4644) #11
  br label %4646

4646:                                             ; preds = %4629, %4612
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %4647

4647:                                             ; preds = %4646
  br label %4648

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

4649:                                             ; No predecessors!
  br label %4650

4650:                                             ; preds = %4649
  br label %4651

4651:                                             ; preds = %4650, %4593
  br label %4652

4652:                                             ; preds = %4651
  br label %4653

4653:                                             ; preds = %4652
  br label %4654

4654:                                             ; preds = %4653
  %4655 = load i32, ptr @test_count, align 4, !tbaa !5
  %4656 = add nsw i32 %4655, 1
  store i32 %4656, ptr @test_count, align 4, !tbaa !5
  %4657 = load ptr, ptr %86, align 8, !tbaa !9
  %4658 = call i32 @s2n_tls13_server_nst_write(ptr noundef %4657, ptr noundef %92)
  %4659 = getelementptr inbounds %struct.s2n_result, ptr %100, i32 0, i32 0
  store i32 %4658, ptr %4659, align 4
  %4660 = getelementptr inbounds %struct.s2n_result, ptr %100, i32 0, i32 0
  %4661 = load i32, ptr %4660, align 4
  %4662 = call zeroext i1 @s2n_result_is_ok(i32 %4661)
  br i1 %4662, label %4716, label %4663

4663:                                             ; preds = %4654
  br label %4664

4664:                                             ; preds = %4663
  br label %4665

4665:                                             ; preds = %4664
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %4666 = call ptr @__errno_location() #12
  %4667 = load i32, ptr %4666, align 4, !tbaa !5
  store i32 %4667, ptr %101, align 4, !tbaa !5
  %4668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4669 = call i32 @s2n_print_stacktrace(ptr noundef %4668)
  %4670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4671 = trunc i8 %4670 to i1
  br i1 %4671, label %4672, label %4694

4672:                                             ; preds = %4665
  %4673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4674 = call i32 @fileno(ptr noundef %4673) #11
  %4675 = call i32 @isatty(i32 noundef %4674) #11
  %4676 = icmp ne i32 %4675, 0
  br i1 %4676, label %4677, label %4694

4677:                                             ; preds = %4672
  %4678 = load i32, ptr %101, align 4, !tbaa !5
  %4679 = call ptr @__errno_location() #12
  store i32 %4678, ptr %4679, align 4, !tbaa !5
  %4680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4681 = load i32, ptr @test_count, align 4, !tbaa !5
  %4682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4683 = load i32, ptr %4682, align 4, !tbaa !5
  %4684 = call ptr @s2n_strerror(i32 noundef %4683, ptr noundef @.str.25)
  %4685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4686 = load i32, ptr %4685, align 4, !tbaa !5
  %4687 = call ptr @s2n_strerror_debug(i32 noundef %4686, ptr noundef @.str.25)
  %4688 = call ptr @__errno_location() #12
  %4689 = load i32, ptr %4688, align 4, !tbaa !5
  %4690 = call ptr @strerror(i32 noundef %4689) #11
  %4691 = call ptr @__errno_location() #12
  %4692 = load i32, ptr %4691, align 4, !tbaa !5
  %4693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4680, ptr noundef @.str.23, i32 noundef %4681, ptr noundef @.str.35, ptr noundef @.str.22, i32 noundef 275, ptr noundef %4684, ptr noundef %4687, ptr noundef %4690, i32 noundef %4692) #11
  br label %4711

4694:                                             ; preds = %4672, %4665
  %4695 = load i32, ptr %101, align 4, !tbaa !5
  %4696 = call ptr @__errno_location() #12
  store i32 %4695, ptr %4696, align 4, !tbaa !5
  %4697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4698 = load i32, ptr @test_count, align 4, !tbaa !5
  %4699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4700 = load i32, ptr %4699, align 4, !tbaa !5
  %4701 = call ptr @s2n_strerror(i32 noundef %4700, ptr noundef @.str.25)
  %4702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4703 = load i32, ptr %4702, align 4, !tbaa !5
  %4704 = call ptr @s2n_strerror_debug(i32 noundef %4703, ptr noundef @.str.25)
  %4705 = call ptr @__errno_location() #12
  %4706 = load i32, ptr %4705, align 4, !tbaa !5
  %4707 = call ptr @strerror(i32 noundef %4706) #11
  %4708 = call ptr @__errno_location() #12
  %4709 = load i32, ptr %4708, align 4, !tbaa !5
  %4710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4697, ptr noundef @.str.26, i32 noundef %4698, ptr noundef @.str.35, ptr noundef @.str.22, i32 noundef 275, ptr noundef %4701, ptr noundef %4704, ptr noundef %4707, i32 noundef %4709) #11
  br label %4711

4711:                                             ; preds = %4694, %4677
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %4712

4712:                                             ; preds = %4711
  br label %4713

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

4714:                                             ; No predecessors!
  br label %4715

4715:                                             ; preds = %4714
  br label %4716

4716:                                             ; preds = %4715, %4654
  br label %4717

4717:                                             ; preds = %4716
  br label %4718

4718:                                             ; preds = %4717
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #11
  store i32 0, ptr %102, align 4, !tbaa !5
  br label %4719

4719:                                             ; preds = %4718
  %4720 = load i32, ptr @test_count, align 4, !tbaa !5
  %4721 = add nsw i32 %4720, 1
  store i32 %4721, ptr @test_count, align 4, !tbaa !5
  %4722 = call i32 @s2n_stuffer_skip_read(ptr noundef %92, i32 noundef 8)
  %4723 = icmp eq i32 %4722, -1
  br i1 %4723, label %4724, label %4777

4724:                                             ; preds = %4719
  br label %4725

4725:                                             ; preds = %4724
  br label %4726

4726:                                             ; preds = %4725
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %4727 = call ptr @__errno_location() #12
  %4728 = load i32, ptr %4727, align 4, !tbaa !5
  store i32 %4728, ptr %103, align 4, !tbaa !5
  %4729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4730 = call i32 @s2n_print_stacktrace(ptr noundef %4729)
  %4731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4732 = trunc i8 %4731 to i1
  br i1 %4732, label %4733, label %4755

4733:                                             ; preds = %4726
  %4734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4735 = call i32 @fileno(ptr noundef %4734) #11
  %4736 = call i32 @isatty(i32 noundef %4735) #11
  %4737 = icmp ne i32 %4736, 0
  br i1 %4737, label %4738, label %4755

4738:                                             ; preds = %4733
  %4739 = load i32, ptr %103, align 4, !tbaa !5
  %4740 = call ptr @__errno_location() #12
  store i32 %4739, ptr %4740, align 4, !tbaa !5
  %4741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4742 = load i32, ptr @test_count, align 4, !tbaa !5
  %4743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4744 = load i32, ptr %4743, align 4, !tbaa !5
  %4745 = call ptr @s2n_strerror(i32 noundef %4744, ptr noundef @.str.25)
  %4746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4747 = load i32, ptr %4746, align 4, !tbaa !5
  %4748 = call ptr @s2n_strerror_debug(i32 noundef %4747, ptr noundef @.str.25)
  %4749 = call ptr @__errno_location() #12
  %4750 = load i32, ptr %4749, align 4, !tbaa !5
  %4751 = call ptr @strerror(i32 noundef %4750) #11
  %4752 = call ptr @__errno_location() #12
  %4753 = load i32, ptr %4752, align 4, !tbaa !5
  %4754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4741, ptr noundef @.str.23, i32 noundef %4742, ptr noundef @.str.65, ptr noundef @.str.22, i32 noundef 278, ptr noundef %4745, ptr noundef %4748, ptr noundef %4751, i32 noundef %4753) #11
  br label %4772

4755:                                             ; preds = %4733, %4726
  %4756 = load i32, ptr %103, align 4, !tbaa !5
  %4757 = call ptr @__errno_location() #12
  store i32 %4756, ptr %4757, align 4, !tbaa !5
  %4758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4759 = load i32, ptr @test_count, align 4, !tbaa !5
  %4760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4761 = load i32, ptr %4760, align 4, !tbaa !5
  %4762 = call ptr @s2n_strerror(i32 noundef %4761, ptr noundef @.str.25)
  %4763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4764 = load i32, ptr %4763, align 4, !tbaa !5
  %4765 = call ptr @s2n_strerror_debug(i32 noundef %4764, ptr noundef @.str.25)
  %4766 = call ptr @__errno_location() #12
  %4767 = load i32, ptr %4766, align 4, !tbaa !5
  %4768 = call ptr @strerror(i32 noundef %4767) #11
  %4769 = call ptr @__errno_location() #12
  %4770 = load i32, ptr %4769, align 4, !tbaa !5
  %4771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4758, ptr noundef @.str.26, i32 noundef %4759, ptr noundef @.str.65, ptr noundef @.str.22, i32 noundef 278, ptr noundef %4762, ptr noundef %4765, ptr noundef %4768, i32 noundef %4770) #11
  br label %4772

4772:                                             ; preds = %4755, %4738
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %4773

4773:                                             ; preds = %4772
  br label %4774

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

4775:                                             ; No predecessors!
  br label %4776

4776:                                             ; preds = %4775
  br label %4777

4777:                                             ; preds = %4776, %4719
  br label %4778

4778:                                             ; preds = %4777
  br label %4779

4779:                                             ; preds = %4778
  br label %4780

4780:                                             ; preds = %4779
  %4781 = load i32, ptr @test_count, align 4, !tbaa !5
  %4782 = add nsw i32 %4781, 1
  store i32 %4782, ptr @test_count, align 4, !tbaa !5
  %4783 = call i32 @s2n_stuffer_read_uint32(ptr noundef %92, ptr noundef %102)
  %4784 = icmp eq i32 %4783, -1
  br i1 %4784, label %4785, label %4838

4785:                                             ; preds = %4780
  br label %4786

4786:                                             ; preds = %4785
  br label %4787

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

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

4799:                                             ; preds = %4794
  %4800 = load i32, ptr %104, align 4, !tbaa !5
  %4801 = call ptr @__errno_location() #12
  store i32 %4800, ptr %4801, align 4, !tbaa !5
  %4802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4803 = load i32, ptr @test_count, align 4, !tbaa !5
  %4804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4805 = load i32, ptr %4804, align 4, !tbaa !5
  %4806 = call ptr @s2n_strerror(i32 noundef %4805, ptr noundef @.str.25)
  %4807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4808 = load i32, ptr %4807, align 4, !tbaa !5
  %4809 = call ptr @s2n_strerror_debug(i32 noundef %4808, ptr noundef @.str.25)
  %4810 = call ptr @__errno_location() #12
  %4811 = load i32, ptr %4810, align 4, !tbaa !5
  %4812 = call ptr @strerror(i32 noundef %4811) #11
  %4813 = call ptr @__errno_location() #12
  %4814 = load i32, ptr %4813, align 4, !tbaa !5
  %4815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4802, ptr noundef @.str.23, i32 noundef %4803, ptr noundef @.str.68, ptr noundef @.str.22, i32 noundef 279, ptr noundef %4806, ptr noundef %4809, ptr noundef %4812, i32 noundef %4814) #11
  br label %4833

4816:                                             ; preds = %4794, %4787
  %4817 = load i32, ptr %104, 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.25)
  %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.25)
  %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.26, i32 noundef %4820, ptr noundef @.str.68, ptr noundef @.str.22, i32 noundef 279, ptr noundef %4823, ptr noundef %4826, ptr noundef %4829, i32 noundef %4831) #11
  br label %4833

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

4834:                                             ; preds = %4833
  br label %4835

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

4836:                                             ; No predecessors!
  br label %4837

4837:                                             ; preds = %4836
  br label %4838

4838:                                             ; preds = %4837, %4780
  br label %4839

4839:                                             ; preds = %4838
  br label %4840

4840:                                             ; preds = %4839
  br label %4841

4841:                                             ; preds = %4840
  %4842 = load i32, ptr @test_count, align 4, !tbaa !5
  %4843 = add nsw i32 %4842, 1
  store i32 %4843, ptr @test_count, align 4, !tbaa !5
  %4844 = load i32, ptr %96, align 4, !tbaa !5
  %4845 = load i32, ptr %102, align 4, !tbaa !5
  %4846 = icmp eq i32 %4844, %4845
  br i1 %4846, label %4847, label %4900

4847:                                             ; preds = %4841
  br label %4848

4848:                                             ; preds = %4847
  br label %4849

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

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

4861:                                             ; preds = %4856
  %4862 = load i32, ptr %105, align 4, !tbaa !5
  %4863 = call ptr @__errno_location() #12
  store i32 %4862, ptr %4863, align 4, !tbaa !5
  %4864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4865 = load i32, ptr @test_count, align 4, !tbaa !5
  %4866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4867 = load i32, ptr %4866, align 4, !tbaa !5
  %4868 = call ptr @s2n_strerror(i32 noundef %4867, ptr noundef @.str.25)
  %4869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4870 = load i32, ptr %4869, align 4, !tbaa !5
  %4871 = call ptr @s2n_strerror_debug(i32 noundef %4870, ptr noundef @.str.25)
  %4872 = call ptr @__errno_location() #12
  %4873 = load i32, ptr %4872, align 4, !tbaa !5
  %4874 = call ptr @strerror(i32 noundef %4873) #11
  %4875 = call ptr @__errno_location() #12
  %4876 = load i32, ptr %4875, align 4, !tbaa !5
  %4877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4864, ptr noundef @.str.23, i32 noundef %4865, ptr noundef @.str.69, ptr noundef @.str.22, i32 noundef 281, ptr noundef %4868, ptr noundef %4871, ptr noundef %4874, i32 noundef %4876) #11
  br label %4895

4878:                                             ; preds = %4856, %4849
  %4879 = load i32, ptr %105, align 4, !tbaa !5
  %4880 = call ptr @__errno_location() #12
  store i32 %4879, ptr %4880, align 4, !tbaa !5
  %4881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4882 = load i32, ptr @test_count, align 4, !tbaa !5
  %4883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4884 = load i32, ptr %4883, align 4, !tbaa !5
  %4885 = call ptr @s2n_strerror(i32 noundef %4884, ptr noundef @.str.25)
  %4886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4887 = load i32, ptr %4886, align 4, !tbaa !5
  %4888 = call ptr @s2n_strerror_debug(i32 noundef %4887, ptr noundef @.str.25)
  %4889 = call ptr @__errno_location() #12
  %4890 = load i32, ptr %4889, align 4, !tbaa !5
  %4891 = call ptr @strerror(i32 noundef %4890) #11
  %4892 = call ptr @__errno_location() #12
  %4893 = load i32, ptr %4892, align 4, !tbaa !5
  %4894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4881, ptr noundef @.str.26, i32 noundef %4882, ptr noundef @.str.69, ptr noundef @.str.22, i32 noundef 281, ptr noundef %4885, ptr noundef %4888, ptr noundef %4891, i32 noundef %4893) #11
  br label %4895

4895:                                             ; preds = %4878, %4861
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  br label %4896

4896:                                             ; preds = %4895
  br label %4897

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

4898:                                             ; No predecessors!
  br label %4899

4899:                                             ; preds = %4898
  br label %4900

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

4901:                                             ; preds = %4900
  br label %4902

4902:                                             ; preds = %4901
  br label %4903

4903:                                             ; preds = %4902
  %4904 = load i32, ptr @test_count, align 4, !tbaa !5
  %4905 = add nsw i32 %4904, 1
  store i32 %4905, ptr @test_count, align 4, !tbaa !5
  %4906 = load ptr, ptr %86, align 8, !tbaa !9
  %4907 = call i32 @s2n_connection_free(ptr noundef %4906)
  %4908 = icmp eq i32 %4907, -1
  br i1 %4908, label %4909, label %4962

4909:                                             ; preds = %4903
  br label %4910

4910:                                             ; preds = %4909
  br label %4911

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

4918:                                             ; preds = %4911
  %4919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4920 = call i32 @fileno(ptr noundef %4919) #11
  %4921 = call i32 @isatty(i32 noundef %4920) #11
  %4922 = icmp ne i32 %4921, 0
  br i1 %4922, label %4923, label %4940

4923:                                             ; preds = %4918
  %4924 = load i32, ptr %106, align 4, !tbaa !5
  %4925 = call ptr @__errno_location() #12
  store i32 %4924, ptr %4925, align 4, !tbaa !5
  %4926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4927 = load i32, ptr @test_count, align 4, !tbaa !5
  %4928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4929 = load i32, ptr %4928, align 4, !tbaa !5
  %4930 = call ptr @s2n_strerror(i32 noundef %4929, ptr noundef @.str.25)
  %4931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4932 = load i32, ptr %4931, align 4, !tbaa !5
  %4933 = call ptr @s2n_strerror_debug(i32 noundef %4932, ptr noundef @.str.25)
  %4934 = call ptr @__errno_location() #12
  %4935 = load i32, ptr %4934, align 4, !tbaa !5
  %4936 = call ptr @strerror(i32 noundef %4935) #11
  %4937 = call ptr @__errno_location() #12
  %4938 = load i32, ptr %4937, align 4, !tbaa !5
  %4939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4926, ptr noundef @.str.23, i32 noundef %4927, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 283, ptr noundef %4930, ptr noundef %4933, ptr noundef %4936, i32 noundef %4938) #11
  br label %4957

4940:                                             ; preds = %4918, %4911
  %4941 = load i32, ptr %106, align 4, !tbaa !5
  %4942 = call ptr @__errno_location() #12
  store i32 %4941, ptr %4942, align 4, !tbaa !5
  %4943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4944 = load i32, ptr @test_count, align 4, !tbaa !5
  %4945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4946 = load i32, ptr %4945, align 4, !tbaa !5
  %4947 = call ptr @s2n_strerror(i32 noundef %4946, ptr noundef @.str.25)
  %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_debug(i32 noundef %4949, ptr noundef @.str.25)
  %4951 = call ptr @__errno_location() #12
  %4952 = load i32, ptr %4951, align 4, !tbaa !5
  %4953 = call ptr @strerror(i32 noundef %4952) #11
  %4954 = call ptr @__errno_location() #12
  %4955 = load i32, ptr %4954, align 4, !tbaa !5
  %4956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4943, ptr noundef @.str.26, i32 noundef %4944, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 283, ptr noundef %4947, ptr noundef %4950, ptr noundef %4953, i32 noundef %4955) #11
  br label %4957

4957:                                             ; preds = %4940, %4923
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %4958

4958:                                             ; preds = %4957
  br label %4959

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

4960:                                             ; No predecessors!
  br label %4961

4961:                                             ; preds = %4960
  br label %4962

4962:                                             ; preds = %4961, %4903
  br label %4963

4963:                                             ; preds = %4962
  br label %4964

4964:                                             ; preds = %4963
  br label %4965

4965:                                             ; preds = %4964
  %4966 = load i32, ptr @test_count, align 4, !tbaa !5
  %4967 = add nsw i32 %4966, 1
  store i32 %4967, ptr @test_count, align 4, !tbaa !5
  %4968 = call i32 @s2n_stuffer_free(ptr noundef %92)
  %4969 = icmp eq i32 %4968, -1
  br i1 %4969, label %4970, label %5023

4970:                                             ; preds = %4965
  br label %4971

4971:                                             ; preds = %4970
  br label %4972

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

4979:                                             ; preds = %4972
  %4980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4981 = call i32 @fileno(ptr noundef %4980) #11
  %4982 = call i32 @isatty(i32 noundef %4981) #11
  %4983 = icmp ne i32 %4982, 0
  br i1 %4983, label %4984, label %5001

4984:                                             ; preds = %4979
  %4985 = load i32, ptr %107, align 4, !tbaa !5
  %4986 = call ptr @__errno_location() #12
  store i32 %4985, ptr %4986, align 4, !tbaa !5
  %4987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4988 = load i32, ptr @test_count, align 4, !tbaa !5
  %4989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4990 = load i32, ptr %4989, align 4, !tbaa !5
  %4991 = call ptr @s2n_strerror(i32 noundef %4990, ptr noundef @.str.25)
  %4992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4993 = load i32, ptr %4992, align 4, !tbaa !5
  %4994 = call ptr @s2n_strerror_debug(i32 noundef %4993, ptr noundef @.str.25)
  %4995 = call ptr @__errno_location() #12
  %4996 = load i32, ptr %4995, align 4, !tbaa !5
  %4997 = call ptr @strerror(i32 noundef %4996) #11
  %4998 = call ptr @__errno_location() #12
  %4999 = load i32, ptr %4998, align 4, !tbaa !5
  %5000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4987, ptr noundef @.str.23, i32 noundef %4988, ptr noundef @.str.57, ptr noundef @.str.22, i32 noundef 284, ptr noundef %4991, ptr noundef %4994, ptr noundef %4997, i32 noundef %4999) #11
  br label %5018

5001:                                             ; preds = %4979, %4972
  %5002 = load i32, ptr %107, align 4, !tbaa !5
  %5003 = call ptr @__errno_location() #12
  store i32 %5002, ptr %5003, align 4, !tbaa !5
  %5004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5005 = load i32, ptr @test_count, align 4, !tbaa !5
  %5006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5007 = load i32, ptr %5006, align 4, !tbaa !5
  %5008 = call ptr @s2n_strerror(i32 noundef %5007, ptr noundef @.str.25)
  %5009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5010 = load i32, ptr %5009, align 4, !tbaa !5
  %5011 = call ptr @s2n_strerror_debug(i32 noundef %5010, ptr noundef @.str.25)
  %5012 = call ptr @__errno_location() #12
  %5013 = load i32, ptr %5012, align 4, !tbaa !5
  %5014 = call ptr @strerror(i32 noundef %5013) #11
  %5015 = call ptr @__errno_location() #12
  %5016 = load i32, ptr %5015, align 4, !tbaa !5
  %5017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5004, ptr noundef @.str.26, i32 noundef %5005, ptr noundef @.str.57, ptr noundef @.str.22, i32 noundef 284, ptr noundef %5008, ptr noundef %5011, ptr noundef %5014, i32 noundef %5016) #11
  br label %5018

5018:                                             ; preds = %5001, %4984
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %5019

5019:                                             ; preds = %5018
  br label %5020

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

5021:                                             ; No predecessors!
  br label %5022

5022:                                             ; preds = %5021
  br label %5023

5023:                                             ; preds = %5022, %4965
  br label %5024

5024:                                             ; preds = %5023
  br label %5025

5025:                                             ; preds = %5024
  br label %5026

5026:                                             ; preds = %5025
  %5027 = load i32, ptr @test_count, align 4, !tbaa !5
  %5028 = add nsw i32 %5027, 1
  store i32 %5028, ptr @test_count, align 4, !tbaa !5
  %5029 = load ptr, ptr %85, align 8, !tbaa !9
  %5030 = call i32 @s2n_config_free(ptr noundef %5029)
  %5031 = icmp eq i32 %5030, -1
  br i1 %5031, label %5032, label %5085

5032:                                             ; preds = %5026
  br label %5033

5033:                                             ; preds = %5032
  br label %5034

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

5041:                                             ; preds = %5034
  %5042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5043 = call i32 @fileno(ptr noundef %5042) #11
  %5044 = call i32 @isatty(i32 noundef %5043) #11
  %5045 = icmp ne i32 %5044, 0
  br i1 %5045, label %5046, label %5063

5046:                                             ; preds = %5041
  %5047 = load i32, ptr %108, align 4, !tbaa !5
  %5048 = call ptr @__errno_location() #12
  store i32 %5047, ptr %5048, align 4, !tbaa !5
  %5049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5050 = load i32, ptr @test_count, align 4, !tbaa !5
  %5051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5052 = load i32, ptr %5051, align 4, !tbaa !5
  %5053 = call ptr @s2n_strerror(i32 noundef %5052, ptr noundef @.str.25)
  %5054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5055 = load i32, ptr %5054, align 4, !tbaa !5
  %5056 = call ptr @s2n_strerror_debug(i32 noundef %5055, ptr noundef @.str.25)
  %5057 = call ptr @__errno_location() #12
  %5058 = load i32, ptr %5057, align 4, !tbaa !5
  %5059 = call ptr @strerror(i32 noundef %5058) #11
  %5060 = call ptr @__errno_location() #12
  %5061 = load i32, ptr %5060, align 4, !tbaa !5
  %5062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5049, ptr noundef @.str.23, i32 noundef %5050, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 285, ptr noundef %5053, ptr noundef %5056, ptr noundef %5059, i32 noundef %5061) #11
  br label %5080

5063:                                             ; preds = %5041, %5034
  %5064 = load i32, ptr %108, align 4, !tbaa !5
  %5065 = call ptr @__errno_location() #12
  store i32 %5064, ptr %5065, align 4, !tbaa !5
  %5066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5067 = load i32, ptr @test_count, align 4, !tbaa !5
  %5068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5069 = load i32, ptr %5068, align 4, !tbaa !5
  %5070 = call ptr @s2n_strerror(i32 noundef %5069, ptr noundef @.str.25)
  %5071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5072 = load i32, ptr %5071, align 4, !tbaa !5
  %5073 = call ptr @s2n_strerror_debug(i32 noundef %5072, ptr noundef @.str.25)
  %5074 = call ptr @__errno_location() #12
  %5075 = load i32, ptr %5074, align 4, !tbaa !5
  %5076 = call ptr @strerror(i32 noundef %5075) #11
  %5077 = call ptr @__errno_location() #12
  %5078 = load i32, ptr %5077, align 4, !tbaa !5
  %5079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5066, ptr noundef @.str.26, i32 noundef %5067, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 285, ptr noundef %5070, ptr noundef %5073, ptr noundef %5076, i32 noundef %5078) #11
  br label %5080

5080:                                             ; preds = %5063, %5046
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %5081

5081:                                             ; preds = %5080
  br label %5082

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

5083:                                             ; No predecessors!
  br label %5084

5084:                                             ; preds = %5083
  br label %5085

5085:                                             ; preds = %5084, %5026
  br label %5086

5086:                                             ; preds = %5085
  br label %5087

5087:                                             ; preds = %5086
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %92) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  store i32 10, ptr %109, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  store i32 8, ptr %110, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #11
  %5088 = call ptr @s2n_config_new()
  store ptr %5088, ptr %111, align 8, !tbaa !9
  br label %5089

5089:                                             ; preds = %5087
  %5090 = load i32, ptr @test_count, align 4, !tbaa !5
  %5091 = add nsw i32 %5090, 1
  store i32 %5091, ptr @test_count, align 4, !tbaa !5
  %5092 = load ptr, ptr %111, align 8, !tbaa !9
  %5093 = icmp eq ptr %5092, null
  br i1 %5093, label %5094, label %5147

5094:                                             ; preds = %5089
  br label %5095

5095:                                             ; preds = %5094
  br label %5096

5096:                                             ; preds = %5095
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #11
  %5097 = call ptr @__errno_location() #12
  %5098 = load i32, ptr %5097, align 4, !tbaa !5
  store i32 %5098, ptr %112, align 4, !tbaa !5
  %5099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5100 = call i32 @s2n_print_stacktrace(ptr noundef %5099)
  %5101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5102 = trunc i8 %5101 to i1
  br i1 %5102, label %5103, label %5125

5103:                                             ; preds = %5096
  %5104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5105 = call i32 @fileno(ptr noundef %5104) #11
  %5106 = call i32 @isatty(i32 noundef %5105) #11
  %5107 = icmp ne i32 %5106, 0
  br i1 %5107, label %5108, label %5125

5108:                                             ; preds = %5103
  %5109 = load i32, ptr %112, align 4, !tbaa !5
  %5110 = call ptr @__errno_location() #12
  store i32 %5109, ptr %5110, align 4, !tbaa !5
  %5111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5112 = load i32, ptr @test_count, align 4, !tbaa !5
  %5113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5114 = load i32, ptr %5113, align 4, !tbaa !5
  %5115 = call ptr @s2n_strerror(i32 noundef %5114, ptr noundef @.str.25)
  %5116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5117 = load i32, ptr %5116, align 4, !tbaa !5
  %5118 = call ptr @s2n_strerror_debug(i32 noundef %5117, ptr noundef @.str.25)
  %5119 = call ptr @__errno_location() #12
  %5120 = load i32, ptr %5119, align 4, !tbaa !5
  %5121 = call ptr @strerror(i32 noundef %5120) #11
  %5122 = call ptr @__errno_location() #12
  %5123 = load i32, ptr %5122, align 4, !tbaa !5
  %5124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5111, ptr noundef @.str.23, i32 noundef %5112, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 299, ptr noundef %5115, ptr noundef %5118, ptr noundef %5121, i32 noundef %5123) #11
  br label %5142

5125:                                             ; preds = %5103, %5096
  %5126 = load i32, ptr %112, align 4, !tbaa !5
  %5127 = call ptr @__errno_location() #12
  store i32 %5126, ptr %5127, align 4, !tbaa !5
  %5128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5129 = load i32, ptr @test_count, align 4, !tbaa !5
  %5130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5131 = load i32, ptr %5130, align 4, !tbaa !5
  %5132 = call ptr @s2n_strerror(i32 noundef %5131, ptr noundef @.str.25)
  %5133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5134 = load i32, ptr %5133, align 4, !tbaa !5
  %5135 = call ptr @s2n_strerror_debug(i32 noundef %5134, ptr noundef @.str.25)
  %5136 = call ptr @__errno_location() #12
  %5137 = load i32, ptr %5136, align 4, !tbaa !5
  %5138 = call ptr @strerror(i32 noundef %5137) #11
  %5139 = call ptr @__errno_location() #12
  %5140 = load i32, ptr %5139, align 4, !tbaa !5
  %5141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5128, ptr noundef @.str.26, i32 noundef %5129, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 299, ptr noundef %5132, ptr noundef %5135, ptr noundef %5138, i32 noundef %5140) #11
  br label %5142

5142:                                             ; preds = %5125, %5108
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %5143

5143:                                             ; preds = %5142
  br label %5144

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

5145:                                             ; No predecessors!
  br label %5146

5146:                                             ; preds = %5145
  br label %5147

5147:                                             ; preds = %5146, %5089
  br label %5148

5148:                                             ; preds = %5147
  br label %5149

5149:                                             ; preds = %5148
  br label %5150

5150:                                             ; preds = %5149
  %5151 = load i32, ptr @test_count, align 4, !tbaa !5
  %5152 = add nsw i32 %5151, 1
  store i32 %5152, ptr @test_count, align 4, !tbaa !5
  %5153 = load ptr, ptr %111, align 8, !tbaa !9
  %5154 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %5153)
  %5155 = getelementptr inbounds %struct.s2n_result, ptr %113, i32 0, i32 0
  store i32 %5154, ptr %5155, align 4
  %5156 = getelementptr inbounds %struct.s2n_result, ptr %113, i32 0, i32 0
  %5157 = load i32, ptr %5156, align 4
  %5158 = call zeroext i1 @s2n_result_is_ok(i32 %5157)
  br i1 %5158, label %5212, label %5159

5159:                                             ; preds = %5150
  br label %5160

5160:                                             ; preds = %5159
  br label %5161

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

5168:                                             ; preds = %5161
  %5169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5170 = call i32 @fileno(ptr noundef %5169) #11
  %5171 = call i32 @isatty(i32 noundef %5170) #11
  %5172 = icmp ne i32 %5171, 0
  br i1 %5172, label %5173, label %5190

5173:                                             ; preds = %5168
  %5174 = load i32, ptr %114, align 4, !tbaa !5
  %5175 = call ptr @__errno_location() #12
  store i32 %5174, ptr %5175, align 4, !tbaa !5
  %5176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5177 = load i32, ptr @test_count, align 4, !tbaa !5
  %5178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5179 = load i32, ptr %5178, align 4, !tbaa !5
  %5180 = call ptr @s2n_strerror(i32 noundef %5179, ptr noundef @.str.25)
  %5181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5182 = load i32, ptr %5181, align 4, !tbaa !5
  %5183 = call ptr @s2n_strerror_debug(i32 noundef %5182, ptr noundef @.str.25)
  %5184 = call ptr @__errno_location() #12
  %5185 = load i32, ptr %5184, align 4, !tbaa !5
  %5186 = call ptr @strerror(i32 noundef %5185) #11
  %5187 = call ptr @__errno_location() #12
  %5188 = load i32, ptr %5187, align 4, !tbaa !5
  %5189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5176, ptr noundef @.str.23, i32 noundef %5177, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 300, ptr noundef %5180, ptr noundef %5183, ptr noundef %5186, i32 noundef %5188) #11
  br label %5207

5190:                                             ; preds = %5168, %5161
  %5191 = load i32, ptr %114, align 4, !tbaa !5
  %5192 = call ptr @__errno_location() #12
  store i32 %5191, ptr %5192, align 4, !tbaa !5
  %5193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5194 = load i32, ptr @test_count, align 4, !tbaa !5
  %5195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5196 = load i32, ptr %5195, align 4, !tbaa !5
  %5197 = call ptr @s2n_strerror(i32 noundef %5196, ptr noundef @.str.25)
  %5198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5199 = load i32, ptr %5198, align 4, !tbaa !5
  %5200 = call ptr @s2n_strerror_debug(i32 noundef %5199, ptr noundef @.str.25)
  %5201 = call ptr @__errno_location() #12
  %5202 = load i32, ptr %5201, align 4, !tbaa !5
  %5203 = call ptr @strerror(i32 noundef %5202) #11
  %5204 = call ptr @__errno_location() #12
  %5205 = load i32, ptr %5204, align 4, !tbaa !5
  %5206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5193, ptr noundef @.str.26, i32 noundef %5194, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 300, ptr noundef %5197, ptr noundef %5200, ptr noundef %5203, i32 noundef %5205) #11
  br label %5207

5207:                                             ; preds = %5190, %5173
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %5208

5208:                                             ; preds = %5207
  br label %5209

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

5210:                                             ; No predecessors!
  br label %5211

5211:                                             ; preds = %5210
  br label %5212

5212:                                             ; preds = %5211, %5150
  br label %5213

5213:                                             ; preds = %5212
  br label %5214

5214:                                             ; preds = %5213
  call void @llvm.lifetime.start.p0(i64 8, ptr %115) #11
  %5215 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5215, ptr %115, align 8, !tbaa !9
  br label %5216

5216:                                             ; preds = %5214
  %5217 = load i32, ptr @test_count, align 4, !tbaa !5
  %5218 = add nsw i32 %5217, 1
  store i32 %5218, ptr @test_count, align 4, !tbaa !5
  %5219 = load ptr, ptr %115, align 8, !tbaa !9
  %5220 = icmp eq ptr %5219, null
  br i1 %5220, label %5221, label %5274

5221:                                             ; preds = %5216
  br label %5222

5222:                                             ; preds = %5221
  br label %5223

5223:                                             ; preds = %5222
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #11
  %5224 = call ptr @__errno_location() #12
  %5225 = load i32, ptr %5224, align 4, !tbaa !5
  store i32 %5225, ptr %116, align 4, !tbaa !5
  %5226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5227 = call i32 @s2n_print_stacktrace(ptr noundef %5226)
  %5228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5229 = trunc i8 %5228 to i1
  br i1 %5229, label %5230, label %5252

5230:                                             ; preds = %5223
  %5231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5232 = call i32 @fileno(ptr noundef %5231) #11
  %5233 = call i32 @isatty(i32 noundef %5232) #11
  %5234 = icmp ne i32 %5233, 0
  br i1 %5234, label %5235, label %5252

5235:                                             ; preds = %5230
  %5236 = load i32, ptr %116, align 4, !tbaa !5
  %5237 = call ptr @__errno_location() #12
  store i32 %5236, ptr %5237, align 4, !tbaa !5
  %5238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5239 = load i32, ptr @test_count, align 4, !tbaa !5
  %5240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5241 = load i32, ptr %5240, align 4, !tbaa !5
  %5242 = call ptr @s2n_strerror(i32 noundef %5241, ptr noundef @.str.25)
  %5243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5244 = load i32, ptr %5243, align 4, !tbaa !5
  %5245 = call ptr @s2n_strerror_debug(i32 noundef %5244, ptr noundef @.str.25)
  %5246 = call ptr @__errno_location() #12
  %5247 = load i32, ptr %5246, align 4, !tbaa !5
  %5248 = call ptr @strerror(i32 noundef %5247) #11
  %5249 = call ptr @__errno_location() #12
  %5250 = load i32, ptr %5249, align 4, !tbaa !5
  %5251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5238, ptr noundef @.str.23, i32 noundef %5239, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 303, ptr noundef %5242, ptr noundef %5245, ptr noundef %5248, i32 noundef %5250) #11
  br label %5269

5252:                                             ; preds = %5230, %5223
  %5253 = load i32, ptr %116, align 4, !tbaa !5
  %5254 = call ptr @__errno_location() #12
  store i32 %5253, ptr %5254, align 4, !tbaa !5
  %5255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5256 = load i32, ptr @test_count, align 4, !tbaa !5
  %5257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5258 = load i32, ptr %5257, align 4, !tbaa !5
  %5259 = call ptr @s2n_strerror(i32 noundef %5258, ptr noundef @.str.25)
  %5260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5261 = load i32, ptr %5260, align 4, !tbaa !5
  %5262 = call ptr @s2n_strerror_debug(i32 noundef %5261, ptr noundef @.str.25)
  %5263 = call ptr @__errno_location() #12
  %5264 = load i32, ptr %5263, align 4, !tbaa !5
  %5265 = call ptr @strerror(i32 noundef %5264) #11
  %5266 = call ptr @__errno_location() #12
  %5267 = load i32, ptr %5266, align 4, !tbaa !5
  %5268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5255, ptr noundef @.str.26, i32 noundef %5256, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 303, ptr noundef %5259, ptr noundef %5262, ptr noundef %5265, i32 noundef %5267) #11
  br label %5269

5269:                                             ; preds = %5252, %5235
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %5270

5270:                                             ; preds = %5269
  br label %5271

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

5272:                                             ; No predecessors!
  br label %5273

5273:                                             ; preds = %5272
  br label %5274

5274:                                             ; preds = %5273, %5216
  br label %5275

5275:                                             ; preds = %5274
  br label %5276

5276:                                             ; preds = %5275
  br label %5277

5277:                                             ; preds = %5276
  %5278 = load i32, ptr @test_count, align 4, !tbaa !5
  %5279 = add nsw i32 %5278, 1
  store i32 %5279, ptr @test_count, align 4, !tbaa !5
  %5280 = load ptr, ptr %115, align 8, !tbaa !9
  %5281 = load ptr, ptr %111, align 8, !tbaa !9
  %5282 = call i32 @s2n_connection_set_config(ptr noundef %5280, ptr noundef %5281)
  %5283 = icmp eq i32 %5282, -1
  br i1 %5283, label %5284, label %5337

5284:                                             ; preds = %5277
  br label %5285

5285:                                             ; preds = %5284
  br label %5286

5286:                                             ; preds = %5285
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #11
  %5287 = call ptr @__errno_location() #12
  %5288 = load i32, ptr %5287, align 4, !tbaa !5
  store i32 %5288, ptr %117, align 4, !tbaa !5
  %5289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5290 = call i32 @s2n_print_stacktrace(ptr noundef %5289)
  %5291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5292 = trunc i8 %5291 to i1
  br i1 %5292, label %5293, label %5315

5293:                                             ; preds = %5286
  %5294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5295 = call i32 @fileno(ptr noundef %5294) #11
  %5296 = call i32 @isatty(i32 noundef %5295) #11
  %5297 = icmp ne i32 %5296, 0
  br i1 %5297, label %5298, label %5315

5298:                                             ; preds = %5293
  %5299 = load i32, ptr %117, align 4, !tbaa !5
  %5300 = call ptr @__errno_location() #12
  store i32 %5299, ptr %5300, align 4, !tbaa !5
  %5301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5302 = load i32, ptr @test_count, align 4, !tbaa !5
  %5303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5304 = load i32, ptr %5303, align 4, !tbaa !5
  %5305 = call ptr @s2n_strerror(i32 noundef %5304, ptr noundef @.str.25)
  %5306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5307 = load i32, ptr %5306, align 4, !tbaa !5
  %5308 = call ptr @s2n_strerror_debug(i32 noundef %5307, ptr noundef @.str.25)
  %5309 = call ptr @__errno_location() #12
  %5310 = load i32, ptr %5309, align 4, !tbaa !5
  %5311 = call ptr @strerror(i32 noundef %5310) #11
  %5312 = call ptr @__errno_location() #12
  %5313 = load i32, ptr %5312, align 4, !tbaa !5
  %5314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5301, ptr noundef @.str.23, i32 noundef %5302, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 304, ptr noundef %5305, ptr noundef %5308, ptr noundef %5311, i32 noundef %5313) #11
  br label %5332

5315:                                             ; preds = %5293, %5286
  %5316 = load i32, ptr %117, align 4, !tbaa !5
  %5317 = call ptr @__errno_location() #12
  store i32 %5316, ptr %5317, align 4, !tbaa !5
  %5318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5319 = load i32, ptr @test_count, align 4, !tbaa !5
  %5320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5321 = load i32, ptr %5320, align 4, !tbaa !5
  %5322 = call ptr @s2n_strerror(i32 noundef %5321, ptr noundef @.str.25)
  %5323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5324 = load i32, ptr %5323, align 4, !tbaa !5
  %5325 = call ptr @s2n_strerror_debug(i32 noundef %5324, ptr noundef @.str.25)
  %5326 = call ptr @__errno_location() #12
  %5327 = load i32, ptr %5326, align 4, !tbaa !5
  %5328 = call ptr @strerror(i32 noundef %5327) #11
  %5329 = call ptr @__errno_location() #12
  %5330 = load i32, ptr %5329, align 4, !tbaa !5
  %5331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5318, ptr noundef @.str.26, i32 noundef %5319, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 304, ptr noundef %5322, ptr noundef %5325, ptr noundef %5328, i32 noundef %5330) #11
  br label %5332

5332:                                             ; preds = %5315, %5298
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %5333

5333:                                             ; preds = %5332
  br label %5334

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

5335:                                             ; No predecessors!
  br label %5336

5336:                                             ; preds = %5335
  br label %5337

5337:                                             ; preds = %5336, %5277
  br label %5338

5338:                                             ; preds = %5337
  br label %5339

5339:                                             ; preds = %5338
  br label %5340

5340:                                             ; preds = %5339
  %5341 = load i32, ptr @test_count, align 4, !tbaa !5
  %5342 = add nsw i32 %5341, 1
  store i32 %5342, ptr @test_count, align 4, !tbaa !5
  %5343 = load ptr, ptr %115, align 8, !tbaa !9
  %5344 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %5343, i32 noundef 10)
  %5345 = icmp eq i32 %5344, -1
  br i1 %5345, label %5346, label %5399

5346:                                             ; preds = %5340
  br label %5347

5347:                                             ; preds = %5346
  br label %5348

5348:                                             ; preds = %5347
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  %5349 = call ptr @__errno_location() #12
  %5350 = load i32, ptr %5349, align 4, !tbaa !5
  store i32 %5350, ptr %118, align 4, !tbaa !5
  %5351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5352 = call i32 @s2n_print_stacktrace(ptr noundef %5351)
  %5353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5354 = trunc i8 %5353 to i1
  br i1 %5354, label %5355, label %5377

5355:                                             ; preds = %5348
  %5356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5357 = call i32 @fileno(ptr noundef %5356) #11
  %5358 = call i32 @isatty(i32 noundef %5357) #11
  %5359 = icmp ne i32 %5358, 0
  br i1 %5359, label %5360, label %5377

5360:                                             ; preds = %5355
  %5361 = load i32, ptr %118, align 4, !tbaa !5
  %5362 = call ptr @__errno_location() #12
  store i32 %5361, ptr %5362, align 4, !tbaa !5
  %5363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5364 = load i32, ptr @test_count, align 4, !tbaa !5
  %5365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5366 = load i32, ptr %5365, align 4, !tbaa !5
  %5367 = call ptr @s2n_strerror(i32 noundef %5366, ptr noundef @.str.25)
  %5368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5369 = load i32, ptr %5368, align 4, !tbaa !5
  %5370 = call ptr @s2n_strerror_debug(i32 noundef %5369, ptr noundef @.str.25)
  %5371 = call ptr @__errno_location() #12
  %5372 = load i32, ptr %5371, align 4, !tbaa !5
  %5373 = call ptr @strerror(i32 noundef %5372) #11
  %5374 = call ptr @__errno_location() #12
  %5375 = load i32, ptr %5374, align 4, !tbaa !5
  %5376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5363, ptr noundef @.str.23, i32 noundef %5364, ptr noundef @.str.70, ptr noundef @.str.22, i32 noundef 305, ptr noundef %5367, ptr noundef %5370, ptr noundef %5373, i32 noundef %5375) #11
  br label %5394

5377:                                             ; preds = %5355, %5348
  %5378 = load i32, ptr %118, align 4, !tbaa !5
  %5379 = call ptr @__errno_location() #12
  store i32 %5378, ptr %5379, align 4, !tbaa !5
  %5380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5381 = load i32, ptr @test_count, align 4, !tbaa !5
  %5382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5383 = load i32, ptr %5382, align 4, !tbaa !5
  %5384 = call ptr @s2n_strerror(i32 noundef %5383, ptr noundef @.str.25)
  %5385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5386 = load i32, ptr %5385, align 4, !tbaa !5
  %5387 = call ptr @s2n_strerror_debug(i32 noundef %5386, ptr noundef @.str.25)
  %5388 = call ptr @__errno_location() #12
  %5389 = load i32, ptr %5388, align 4, !tbaa !5
  %5390 = call ptr @strerror(i32 noundef %5389) #11
  %5391 = call ptr @__errno_location() #12
  %5392 = load i32, ptr %5391, align 4, !tbaa !5
  %5393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5380, ptr noundef @.str.26, i32 noundef %5381, ptr noundef @.str.70, ptr noundef @.str.22, i32 noundef 305, ptr noundef %5384, ptr noundef %5387, ptr noundef %5390, i32 noundef %5392) #11
  br label %5394

5394:                                             ; preds = %5377, %5360
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %5395

5395:                                             ; preds = %5394
  br label %5396

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

5397:                                             ; No predecessors!
  br label %5398

5398:                                             ; preds = %5397
  br label %5399

5399:                                             ; preds = %5398, %5340
  br label %5400

5400:                                             ; preds = %5399
  br label %5401

5401:                                             ; preds = %5400
  %5402 = load ptr, ptr %115, align 8, !tbaa !9
  %5403 = getelementptr inbounds %struct.s2n_connection, ptr %5402, i32 0, i32 23
  store i8 34, ptr %5403, align 4, !tbaa !17
  %5404 = load ptr, ptr %115, align 8, !tbaa !9
  %5405 = getelementptr inbounds %struct.s2n_connection, ptr %5404, i32 0, i32 27
  %5406 = load ptr, ptr %5405, align 8, !tbaa !43
  %5407 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %5406, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %5407, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr %119) #11
  call void @llvm.memset.p0.i64(ptr align 8 %119, i8 0, i64 40, i1 false)
  br label %5408

5408:                                             ; preds = %5401
  %5409 = load i32, ptr @test_count, align 4, !tbaa !5
  %5410 = add nsw i32 %5409, 1
  store i32 %5410, ptr @test_count, align 4, !tbaa !5
  %5411 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %119, i32 noundef 0)
  %5412 = icmp eq i32 %5411, -1
  br i1 %5412, label %5413, label %5466

5413:                                             ; preds = %5408
  br label %5414

5414:                                             ; preds = %5413
  br label %5415

5415:                                             ; preds = %5414
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #11
  %5416 = call ptr @__errno_location() #12
  %5417 = load i32, ptr %5416, align 4, !tbaa !5
  store i32 %5417, ptr %120, align 4, !tbaa !5
  %5418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5419 = call i32 @s2n_print_stacktrace(ptr noundef %5418)
  %5420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5421 = trunc i8 %5420 to i1
  br i1 %5421, label %5422, label %5444

5422:                                             ; preds = %5415
  %5423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5424 = call i32 @fileno(ptr noundef %5423) #11
  %5425 = call i32 @isatty(i32 noundef %5424) #11
  %5426 = icmp ne i32 %5425, 0
  br i1 %5426, label %5427, label %5444

5427:                                             ; preds = %5422
  %5428 = load i32, ptr %120, align 4, !tbaa !5
  %5429 = call ptr @__errno_location() #12
  store i32 %5428, ptr %5429, align 4, !tbaa !5
  %5430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5431 = load i32, ptr @test_count, align 4, !tbaa !5
  %5432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5433 = load i32, ptr %5432, align 4, !tbaa !5
  %5434 = call ptr @s2n_strerror(i32 noundef %5433, ptr noundef @.str.25)
  %5435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5436 = load i32, ptr %5435, align 4, !tbaa !5
  %5437 = call ptr @s2n_strerror_debug(i32 noundef %5436, ptr noundef @.str.25)
  %5438 = call ptr @__errno_location() #12
  %5439 = load i32, ptr %5438, align 4, !tbaa !5
  %5440 = call ptr @strerror(i32 noundef %5439) #11
  %5441 = call ptr @__errno_location() #12
  %5442 = load i32, ptr %5441, align 4, !tbaa !5
  %5443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5430, ptr noundef @.str.23, i32 noundef %5431, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 310, ptr noundef %5434, ptr noundef %5437, ptr noundef %5440, i32 noundef %5442) #11
  br label %5461

5444:                                             ; preds = %5422, %5415
  %5445 = load i32, ptr %120, align 4, !tbaa !5
  %5446 = call ptr @__errno_location() #12
  store i32 %5445, ptr %5446, align 4, !tbaa !5
  %5447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5448 = load i32, ptr @test_count, align 4, !tbaa !5
  %5449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5450 = load i32, ptr %5449, align 4, !tbaa !5
  %5451 = call ptr @s2n_strerror(i32 noundef %5450, ptr noundef @.str.25)
  %5452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5453 = load i32, ptr %5452, align 4, !tbaa !5
  %5454 = call ptr @s2n_strerror_debug(i32 noundef %5453, ptr noundef @.str.25)
  %5455 = call ptr @__errno_location() #12
  %5456 = load i32, ptr %5455, align 4, !tbaa !5
  %5457 = call ptr @strerror(i32 noundef %5456) #11
  %5458 = call ptr @__errno_location() #12
  %5459 = load i32, ptr %5458, align 4, !tbaa !5
  %5460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5447, ptr noundef @.str.26, i32 noundef %5448, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 310, ptr noundef %5451, ptr noundef %5454, ptr noundef %5457, i32 noundef %5459) #11
  br label %5461

5461:                                             ; preds = %5444, %5427
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  br label %5462

5462:                                             ; preds = %5461
  br label %5463

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

5464:                                             ; No predecessors!
  br label %5465

5465:                                             ; preds = %5464
  br label %5466

5466:                                             ; preds = %5465, %5408
  br label %5467

5467:                                             ; preds = %5466
  br label %5468

5468:                                             ; preds = %5467
  br label %5469

5469:                                             ; preds = %5468
  %5470 = load i32, ptr @test_count, align 4, !tbaa !5
  %5471 = add nsw i32 %5470, 1
  store i32 %5471, ptr @test_count, align 4, !tbaa !5
  %5472 = load ptr, ptr %115, align 8, !tbaa !9
  %5473 = call i32 @s2n_tls13_server_nst_write(ptr noundef %5472, ptr noundef %119)
  %5474 = getelementptr inbounds %struct.s2n_result, ptr %121, i32 0, i32 0
  store i32 %5473, ptr %5474, align 4
  %5475 = getelementptr inbounds %struct.s2n_result, ptr %121, i32 0, i32 0
  %5476 = load i32, ptr %5475, align 4
  %5477 = call zeroext i1 @s2n_result_is_ok(i32 %5476)
  br i1 %5477, label %5531, label %5478

5478:                                             ; preds = %5469
  br label %5479

5479:                                             ; preds = %5478
  br label %5480

5480:                                             ; preds = %5479
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  %5481 = call ptr @__errno_location() #12
  %5482 = load i32, ptr %5481, align 4, !tbaa !5
  store i32 %5482, ptr %122, align 4, !tbaa !5
  %5483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5484 = call i32 @s2n_print_stacktrace(ptr noundef %5483)
  %5485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5486 = trunc i8 %5485 to i1
  br i1 %5486, label %5487, label %5509

5487:                                             ; preds = %5480
  %5488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5489 = call i32 @fileno(ptr noundef %5488) #11
  %5490 = call i32 @isatty(i32 noundef %5489) #11
  %5491 = icmp ne i32 %5490, 0
  br i1 %5491, label %5492, label %5509

5492:                                             ; preds = %5487
  %5493 = load i32, ptr %122, align 4, !tbaa !5
  %5494 = call ptr @__errno_location() #12
  store i32 %5493, ptr %5494, align 4, !tbaa !5
  %5495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5496 = load i32, ptr @test_count, align 4, !tbaa !5
  %5497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5498 = load i32, ptr %5497, align 4, !tbaa !5
  %5499 = call ptr @s2n_strerror(i32 noundef %5498, ptr noundef @.str.25)
  %5500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5501 = load i32, ptr %5500, align 4, !tbaa !5
  %5502 = call ptr @s2n_strerror_debug(i32 noundef %5501, ptr noundef @.str.25)
  %5503 = call ptr @__errno_location() #12
  %5504 = load i32, ptr %5503, align 4, !tbaa !5
  %5505 = call ptr @strerror(i32 noundef %5504) #11
  %5506 = call ptr @__errno_location() #12
  %5507 = load i32, ptr %5506, align 4, !tbaa !5
  %5508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5495, ptr noundef @.str.23, i32 noundef %5496, ptr noundef @.str.35, ptr noundef @.str.22, i32 noundef 312, ptr noundef %5499, ptr noundef %5502, ptr noundef %5505, i32 noundef %5507) #11
  br label %5526

5509:                                             ; preds = %5487, %5480
  %5510 = load i32, ptr %122, align 4, !tbaa !5
  %5511 = call ptr @__errno_location() #12
  store i32 %5510, ptr %5511, align 4, !tbaa !5
  %5512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5513 = load i32, ptr @test_count, align 4, !tbaa !5
  %5514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5515 = load i32, ptr %5514, align 4, !tbaa !5
  %5516 = call ptr @s2n_strerror(i32 noundef %5515, ptr noundef @.str.25)
  %5517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5518 = load i32, ptr %5517, align 4, !tbaa !5
  %5519 = call ptr @s2n_strerror_debug(i32 noundef %5518, ptr noundef @.str.25)
  %5520 = call ptr @__errno_location() #12
  %5521 = load i32, ptr %5520, align 4, !tbaa !5
  %5522 = call ptr @strerror(i32 noundef %5521) #11
  %5523 = call ptr @__errno_location() #12
  %5524 = load i32, ptr %5523, align 4, !tbaa !5
  %5525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5512, ptr noundef @.str.26, i32 noundef %5513, ptr noundef @.str.35, ptr noundef @.str.22, i32 noundef 312, ptr noundef %5516, ptr noundef %5519, ptr noundef %5522, i32 noundef %5524) #11
  br label %5526

5526:                                             ; preds = %5509, %5492
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %5527

5527:                                             ; preds = %5526
  br label %5528

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

5529:                                             ; No predecessors!
  br label %5530

5530:                                             ; preds = %5529
  br label %5531

5531:                                             ; preds = %5530, %5469
  br label %5532

5532:                                             ; preds = %5531
  br label %5533

5533:                                             ; preds = %5532
  br label %5534

5534:                                             ; preds = %5533
  %5535 = load i32, ptr @test_count, align 4, !tbaa !5
  %5536 = add nsw i32 %5535, 1
  store i32 %5536, ptr @test_count, align 4, !tbaa !5
  %5537 = getelementptr inbounds %struct.s2n_stuffer, ptr %119, i32 0, i32 2
  %5538 = load i32, ptr %5537, align 4, !tbaa !52
  %5539 = getelementptr inbounds %struct.s2n_stuffer, ptr %119, i32 0, i32 1
  %5540 = load i32, ptr %5539, align 8, !tbaa !53
  %5541 = sub i32 %5538, %5540
  %5542 = sub i32 %5541, 8
  %5543 = call i32 @s2n_stuffer_skip_read(ptr noundef %119, i32 noundef %5542)
  %5544 = icmp eq i32 %5543, -1
  br i1 %5544, label %5545, label %5598

5545:                                             ; preds = %5534
  br label %5546

5546:                                             ; preds = %5545
  br label %5547

5547:                                             ; preds = %5546
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %5548 = call ptr @__errno_location() #12
  %5549 = load i32, ptr %5548, align 4, !tbaa !5
  store i32 %5549, ptr %123, align 4, !tbaa !5
  %5550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5551 = call i32 @s2n_print_stacktrace(ptr noundef %5550)
  %5552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5553 = trunc i8 %5552 to i1
  br i1 %5553, label %5554, label %5576

5554:                                             ; preds = %5547
  %5555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5556 = call i32 @fileno(ptr noundef %5555) #11
  %5557 = call i32 @isatty(i32 noundef %5556) #11
  %5558 = icmp ne i32 %5557, 0
  br i1 %5558, label %5559, label %5576

5559:                                             ; preds = %5554
  %5560 = load i32, ptr %123, align 4, !tbaa !5
  %5561 = call ptr @__errno_location() #12
  store i32 %5560, ptr %5561, align 4, !tbaa !5
  %5562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5563 = load i32, ptr @test_count, align 4, !tbaa !5
  %5564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5565 = load i32, ptr %5564, align 4, !tbaa !5
  %5566 = call ptr @s2n_strerror(i32 noundef %5565, ptr noundef @.str.25)
  %5567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5568 = load i32, ptr %5567, align 4, !tbaa !5
  %5569 = call ptr @s2n_strerror_debug(i32 noundef %5568, ptr noundef @.str.25)
  %5570 = call ptr @__errno_location() #12
  %5571 = load i32, ptr %5570, align 4, !tbaa !5
  %5572 = call ptr @strerror(i32 noundef %5571) #11
  %5573 = call ptr @__errno_location() #12
  %5574 = load i32, ptr %5573, align 4, !tbaa !5
  %5575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5562, ptr noundef @.str.23, i32 noundef %5563, ptr noundef @.str.71, ptr noundef @.str.22, i32 noundef 314, ptr noundef %5566, ptr noundef %5569, ptr noundef %5572, i32 noundef %5574) #11
  br label %5593

5576:                                             ; preds = %5554, %5547
  %5577 = load i32, ptr %123, align 4, !tbaa !5
  %5578 = call ptr @__errno_location() #12
  store i32 %5577, ptr %5578, align 4, !tbaa !5
  %5579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5580 = load i32, ptr @test_count, align 4, !tbaa !5
  %5581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5582 = load i32, ptr %5581, align 4, !tbaa !5
  %5583 = call ptr @s2n_strerror(i32 noundef %5582, ptr noundef @.str.25)
  %5584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5585 = load i32, ptr %5584, align 4, !tbaa !5
  %5586 = call ptr @s2n_strerror_debug(i32 noundef %5585, ptr noundef @.str.25)
  %5587 = call ptr @__errno_location() #12
  %5588 = load i32, ptr %5587, align 4, !tbaa !5
  %5589 = call ptr @strerror(i32 noundef %5588) #11
  %5590 = call ptr @__errno_location() #12
  %5591 = load i32, ptr %5590, align 4, !tbaa !5
  %5592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5579, ptr noundef @.str.26, i32 noundef %5580, ptr noundef @.str.71, ptr noundef @.str.22, i32 noundef 314, ptr noundef %5583, ptr noundef %5586, ptr noundef %5589, i32 noundef %5591) #11
  br label %5593

5593:                                             ; preds = %5576, %5559
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %5594

5594:                                             ; preds = %5593
  br label %5595

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

5596:                                             ; No predecessors!
  br label %5597

5597:                                             ; preds = %5596
  br label %5598

5598:                                             ; preds = %5597, %5534
  br label %5599

5599:                                             ; preds = %5598
  br label %5600

5600:                                             ; preds = %5599
  call void @llvm.lifetime.start.p0(i64 2, ptr %124) #11
  store i16 0, ptr %124, align 2, !tbaa !49
  br label %5601

5601:                                             ; preds = %5600
  %5602 = load i32, ptr @test_count, align 4, !tbaa !5
  %5603 = add nsw i32 %5602, 1
  store i32 %5603, ptr @test_count, align 4, !tbaa !5
  %5604 = call i32 @s2n_stuffer_read_uint16(ptr noundef %119, ptr noundef %124)
  %5605 = icmp eq i32 %5604, -1
  br i1 %5605, label %5606, label %5659

5606:                                             ; preds = %5601
  br label %5607

5607:                                             ; preds = %5606
  br label %5608

5608:                                             ; preds = %5607
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #11
  %5609 = call ptr @__errno_location() #12
  %5610 = load i32, ptr %5609, align 4, !tbaa !5
  store i32 %5610, ptr %125, align 4, !tbaa !5
  %5611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5612 = call i32 @s2n_print_stacktrace(ptr noundef %5611)
  %5613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5614 = trunc i8 %5613 to i1
  br i1 %5614, label %5615, label %5637

5615:                                             ; preds = %5608
  %5616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5617 = call i32 @fileno(ptr noundef %5616) #11
  %5618 = call i32 @isatty(i32 noundef %5617) #11
  %5619 = icmp ne i32 %5618, 0
  br i1 %5619, label %5620, label %5637

5620:                                             ; preds = %5615
  %5621 = load i32, ptr %125, align 4, !tbaa !5
  %5622 = call ptr @__errno_location() #12
  store i32 %5621, ptr %5622, align 4, !tbaa !5
  %5623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5624 = load i32, ptr @test_count, align 4, !tbaa !5
  %5625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5626 = load i32, ptr %5625, align 4, !tbaa !5
  %5627 = call ptr @s2n_strerror(i32 noundef %5626, ptr noundef @.str.25)
  %5628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5629 = load i32, ptr %5628, align 4, !tbaa !5
  %5630 = call ptr @s2n_strerror_debug(i32 noundef %5629, ptr noundef @.str.25)
  %5631 = call ptr @__errno_location() #12
  %5632 = load i32, ptr %5631, align 4, !tbaa !5
  %5633 = call ptr @strerror(i32 noundef %5632) #11
  %5634 = call ptr @__errno_location() #12
  %5635 = load i32, ptr %5634, align 4, !tbaa !5
  %5636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5623, ptr noundef @.str.23, i32 noundef %5624, ptr noundef @.str.72, ptr noundef @.str.22, i32 noundef 317, ptr noundef %5627, ptr noundef %5630, ptr noundef %5633, i32 noundef %5635) #11
  br label %5654

5637:                                             ; preds = %5615, %5608
  %5638 = load i32, ptr %125, align 4, !tbaa !5
  %5639 = call ptr @__errno_location() #12
  store i32 %5638, ptr %5639, align 4, !tbaa !5
  %5640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5641 = load i32, ptr @test_count, align 4, !tbaa !5
  %5642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5643 = load i32, ptr %5642, align 4, !tbaa !5
  %5644 = call ptr @s2n_strerror(i32 noundef %5643, ptr noundef @.str.25)
  %5645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5646 = load i32, ptr %5645, align 4, !tbaa !5
  %5647 = call ptr @s2n_strerror_debug(i32 noundef %5646, ptr noundef @.str.25)
  %5648 = call ptr @__errno_location() #12
  %5649 = load i32, ptr %5648, align 4, !tbaa !5
  %5650 = call ptr @strerror(i32 noundef %5649) #11
  %5651 = call ptr @__errno_location() #12
  %5652 = load i32, ptr %5651, align 4, !tbaa !5
  %5653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5640, ptr noundef @.str.26, i32 noundef %5641, ptr noundef @.str.72, ptr noundef @.str.22, i32 noundef 317, ptr noundef %5644, ptr noundef %5647, ptr noundef %5650, i32 noundef %5652) #11
  br label %5654

5654:                                             ; preds = %5637, %5620
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %5655

5655:                                             ; preds = %5654
  br label %5656

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

5657:                                             ; No predecessors!
  br label %5658

5658:                                             ; preds = %5657
  br label %5659

5659:                                             ; preds = %5658, %5601
  br label %5660

5660:                                             ; preds = %5659
  br label %5661

5661:                                             ; preds = %5660
  br label %5662

5662:                                             ; preds = %5661
  %5663 = load i32, ptr @test_count, align 4, !tbaa !5
  %5664 = add nsw i32 %5663, 1
  store i32 %5664, ptr @test_count, align 4, !tbaa !5
  %5665 = load i16, ptr %124, align 2, !tbaa !49
  %5666 = zext i16 %5665 to i32
  %5667 = icmp eq i32 %5666, 42
  br i1 %5667, label %5721, label %5668

5668:                                             ; preds = %5662
  br label %5669

5669:                                             ; preds = %5668
  br label %5670

5670:                                             ; preds = %5669
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  %5671 = call ptr @__errno_location() #12
  %5672 = load i32, ptr %5671, align 4, !tbaa !5
  store i32 %5672, ptr %126, align 4, !tbaa !5
  %5673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5674 = call i32 @s2n_print_stacktrace(ptr noundef %5673)
  %5675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5676 = trunc i8 %5675 to i1
  br i1 %5676, label %5677, label %5699

5677:                                             ; preds = %5670
  %5678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5679 = call i32 @fileno(ptr noundef %5678) #11
  %5680 = call i32 @isatty(i32 noundef %5679) #11
  %5681 = icmp ne i32 %5680, 0
  br i1 %5681, label %5682, label %5699

5682:                                             ; preds = %5677
  %5683 = load i32, ptr %126, align 4, !tbaa !5
  %5684 = call ptr @__errno_location() #12
  store i32 %5683, ptr %5684, align 4, !tbaa !5
  %5685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5686 = load i32, ptr @test_count, align 4, !tbaa !5
  %5687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5688 = load i32, ptr %5687, align 4, !tbaa !5
  %5689 = call ptr @s2n_strerror(i32 noundef %5688, ptr noundef @.str.25)
  %5690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5691 = load i32, ptr %5690, align 4, !tbaa !5
  %5692 = call ptr @s2n_strerror_debug(i32 noundef %5691, ptr noundef @.str.25)
  %5693 = call ptr @__errno_location() #12
  %5694 = load i32, ptr %5693, align 4, !tbaa !5
  %5695 = call ptr @strerror(i32 noundef %5694) #11
  %5696 = call ptr @__errno_location() #12
  %5697 = load i32, ptr %5696, align 4, !tbaa !5
  %5698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5685, ptr noundef @.str.23, i32 noundef %5686, ptr noundef @.str.73, ptr noundef @.str.22, i32 noundef 318, ptr noundef %5689, ptr noundef %5692, ptr noundef %5695, i32 noundef %5697) #11
  br label %5716

5699:                                             ; preds = %5677, %5670
  %5700 = load i32, ptr %126, align 4, !tbaa !5
  %5701 = call ptr @__errno_location() #12
  store i32 %5700, ptr %5701, align 4, !tbaa !5
  %5702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5703 = load i32, ptr @test_count, align 4, !tbaa !5
  %5704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5705 = load i32, ptr %5704, align 4, !tbaa !5
  %5706 = call ptr @s2n_strerror(i32 noundef %5705, ptr noundef @.str.25)
  %5707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5708 = load i32, ptr %5707, align 4, !tbaa !5
  %5709 = call ptr @s2n_strerror_debug(i32 noundef %5708, ptr noundef @.str.25)
  %5710 = call ptr @__errno_location() #12
  %5711 = load i32, ptr %5710, align 4, !tbaa !5
  %5712 = call ptr @strerror(i32 noundef %5711) #11
  %5713 = call ptr @__errno_location() #12
  %5714 = load i32, ptr %5713, align 4, !tbaa !5
  %5715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5702, ptr noundef @.str.26, i32 noundef %5703, ptr noundef @.str.73, ptr noundef @.str.22, i32 noundef 318, ptr noundef %5706, ptr noundef %5709, ptr noundef %5712, i32 noundef %5714) #11
  br label %5716

5716:                                             ; preds = %5699, %5682
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %5717

5717:                                             ; preds = %5716
  br label %5718

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

5719:                                             ; No predecessors!
  br label %5720

5720:                                             ; preds = %5719
  br label %5721

5721:                                             ; preds = %5720, %5662
  br label %5722

5722:                                             ; preds = %5721
  br label %5723

5723:                                             ; preds = %5722
  call void @llvm.lifetime.start.p0(i64 2, ptr %127) #11
  store i16 0, ptr %127, align 2, !tbaa !49
  br label %5724

5724:                                             ; preds = %5723
  %5725 = load i32, ptr @test_count, align 4, !tbaa !5
  %5726 = add nsw i32 %5725, 1
  store i32 %5726, ptr @test_count, align 4, !tbaa !5
  %5727 = call i32 @s2n_stuffer_read_uint16(ptr noundef %119, ptr noundef %127)
  %5728 = icmp eq i32 %5727, -1
  br i1 %5728, label %5729, label %5782

5729:                                             ; preds = %5724
  br label %5730

5730:                                             ; preds = %5729
  br label %5731

5731:                                             ; preds = %5730
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %5732 = call ptr @__errno_location() #12
  %5733 = load i32, ptr %5732, align 4, !tbaa !5
  store i32 %5733, ptr %128, align 4, !tbaa !5
  %5734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5735 = call i32 @s2n_print_stacktrace(ptr noundef %5734)
  %5736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5737 = trunc i8 %5736 to i1
  br i1 %5737, label %5738, label %5760

5738:                                             ; preds = %5731
  %5739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5740 = call i32 @fileno(ptr noundef %5739) #11
  %5741 = call i32 @isatty(i32 noundef %5740) #11
  %5742 = icmp ne i32 %5741, 0
  br i1 %5742, label %5743, label %5760

5743:                                             ; preds = %5738
  %5744 = load i32, ptr %128, align 4, !tbaa !5
  %5745 = call ptr @__errno_location() #12
  store i32 %5744, ptr %5745, align 4, !tbaa !5
  %5746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5747 = load i32, ptr @test_count, align 4, !tbaa !5
  %5748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5749 = load i32, ptr %5748, align 4, !tbaa !5
  %5750 = call ptr @s2n_strerror(i32 noundef %5749, ptr noundef @.str.25)
  %5751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5752 = load i32, ptr %5751, align 4, !tbaa !5
  %5753 = call ptr @s2n_strerror_debug(i32 noundef %5752, ptr noundef @.str.25)
  %5754 = call ptr @__errno_location() #12
  %5755 = load i32, ptr %5754, align 4, !tbaa !5
  %5756 = call ptr @strerror(i32 noundef %5755) #11
  %5757 = call ptr @__errno_location() #12
  %5758 = load i32, ptr %5757, align 4, !tbaa !5
  %5759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5746, ptr noundef @.str.23, i32 noundef %5747, ptr noundef @.str.74, ptr noundef @.str.22, i32 noundef 321, ptr noundef %5750, ptr noundef %5753, ptr noundef %5756, i32 noundef %5758) #11
  br label %5777

5760:                                             ; preds = %5738, %5731
  %5761 = load i32, ptr %128, align 4, !tbaa !5
  %5762 = call ptr @__errno_location() #12
  store i32 %5761, ptr %5762, align 4, !tbaa !5
  %5763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5764 = load i32, ptr @test_count, align 4, !tbaa !5
  %5765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5766 = load i32, ptr %5765, align 4, !tbaa !5
  %5767 = call ptr @s2n_strerror(i32 noundef %5766, ptr noundef @.str.25)
  %5768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5769 = load i32, ptr %5768, align 4, !tbaa !5
  %5770 = call ptr @s2n_strerror_debug(i32 noundef %5769, ptr noundef @.str.25)
  %5771 = call ptr @__errno_location() #12
  %5772 = load i32, ptr %5771, align 4, !tbaa !5
  %5773 = call ptr @strerror(i32 noundef %5772) #11
  %5774 = call ptr @__errno_location() #12
  %5775 = load i32, ptr %5774, align 4, !tbaa !5
  %5776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5763, ptr noundef @.str.26, i32 noundef %5764, ptr noundef @.str.74, ptr noundef @.str.22, i32 noundef 321, ptr noundef %5767, ptr noundef %5770, ptr noundef %5773, i32 noundef %5775) #11
  br label %5777

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

5778:                                             ; preds = %5777
  br label %5779

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

5780:                                             ; No predecessors!
  br label %5781

5781:                                             ; preds = %5780
  br label %5782

5782:                                             ; preds = %5781, %5724
  br label %5783

5783:                                             ; preds = %5782
  br label %5784

5784:                                             ; preds = %5783
  br label %5785

5785:                                             ; preds = %5784
  %5786 = load i32, ptr @test_count, align 4, !tbaa !5
  %5787 = add nsw i32 %5786, 1
  store i32 %5787, ptr @test_count, align 4, !tbaa !5
  %5788 = load i16, ptr %127, align 2, !tbaa !49
  %5789 = zext i16 %5788 to i64
  %5790 = icmp eq i64 %5789, 4
  br i1 %5790, label %5844, label %5791

5791:                                             ; preds = %5785
  br label %5792

5792:                                             ; preds = %5791
  br label %5793

5793:                                             ; preds = %5792
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %5794 = call ptr @__errno_location() #12
  %5795 = load i32, ptr %5794, align 4, !tbaa !5
  store i32 %5795, ptr %129, align 4, !tbaa !5
  %5796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5797 = call i32 @s2n_print_stacktrace(ptr noundef %5796)
  %5798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5799 = trunc i8 %5798 to i1
  br i1 %5799, label %5800, label %5822

5800:                                             ; preds = %5793
  %5801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5802 = call i32 @fileno(ptr noundef %5801) #11
  %5803 = call i32 @isatty(i32 noundef %5802) #11
  %5804 = icmp ne i32 %5803, 0
  br i1 %5804, label %5805, label %5822

5805:                                             ; preds = %5800
  %5806 = load i32, ptr %129, align 4, !tbaa !5
  %5807 = call ptr @__errno_location() #12
  store i32 %5806, ptr %5807, align 4, !tbaa !5
  %5808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5809 = load i32, ptr @test_count, align 4, !tbaa !5
  %5810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5811 = load i32, ptr %5810, align 4, !tbaa !5
  %5812 = call ptr @s2n_strerror(i32 noundef %5811, ptr noundef @.str.25)
  %5813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5814 = load i32, ptr %5813, align 4, !tbaa !5
  %5815 = call ptr @s2n_strerror_debug(i32 noundef %5814, ptr noundef @.str.25)
  %5816 = call ptr @__errno_location() #12
  %5817 = load i32, ptr %5816, align 4, !tbaa !5
  %5818 = call ptr @strerror(i32 noundef %5817) #11
  %5819 = call ptr @__errno_location() #12
  %5820 = load i32, ptr %5819, align 4, !tbaa !5
  %5821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5808, ptr noundef @.str.23, i32 noundef %5809, ptr noundef @.str.75, ptr noundef @.str.22, i32 noundef 322, ptr noundef %5812, ptr noundef %5815, ptr noundef %5818, i32 noundef %5820) #11
  br label %5839

5822:                                             ; preds = %5800, %5793
  %5823 = load i32, ptr %129, align 4, !tbaa !5
  %5824 = call ptr @__errno_location() #12
  store i32 %5823, ptr %5824, align 4, !tbaa !5
  %5825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5826 = load i32, ptr @test_count, align 4, !tbaa !5
  %5827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5828 = load i32, ptr %5827, align 4, !tbaa !5
  %5829 = call ptr @s2n_strerror(i32 noundef %5828, ptr noundef @.str.25)
  %5830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5831 = load i32, ptr %5830, align 4, !tbaa !5
  %5832 = call ptr @s2n_strerror_debug(i32 noundef %5831, ptr noundef @.str.25)
  %5833 = call ptr @__errno_location() #12
  %5834 = load i32, ptr %5833, align 4, !tbaa !5
  %5835 = call ptr @strerror(i32 noundef %5834) #11
  %5836 = call ptr @__errno_location() #12
  %5837 = load i32, ptr %5836, align 4, !tbaa !5
  %5838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5825, ptr noundef @.str.26, i32 noundef %5826, ptr noundef @.str.75, ptr noundef @.str.22, i32 noundef 322, ptr noundef %5829, ptr noundef %5832, ptr noundef %5835, i32 noundef %5837) #11
  br label %5839

5839:                                             ; preds = %5822, %5805
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %5840

5840:                                             ; preds = %5839
  br label %5841

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

5842:                                             ; No predecessors!
  br label %5843

5843:                                             ; preds = %5842
  br label %5844

5844:                                             ; preds = %5843, %5785
  br label %5845

5845:                                             ; preds = %5844
  br label %5846

5846:                                             ; preds = %5845
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  store i32 0, ptr %130, align 4, !tbaa !5
  br label %5847

5847:                                             ; preds = %5846
  %5848 = load i32, ptr @test_count, align 4, !tbaa !5
  %5849 = add nsw i32 %5848, 1
  store i32 %5849, ptr @test_count, align 4, !tbaa !5
  %5850 = call i32 @s2n_stuffer_read_uint32(ptr noundef %119, ptr noundef %130)
  %5851 = icmp eq i32 %5850, -1
  br i1 %5851, label %5852, label %5905

5852:                                             ; preds = %5847
  br label %5853

5853:                                             ; preds = %5852
  br label %5854

5854:                                             ; preds = %5853
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #11
  %5855 = call ptr @__errno_location() #12
  %5856 = load i32, ptr %5855, align 4, !tbaa !5
  store i32 %5856, ptr %131, align 4, !tbaa !5
  %5857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5858 = call i32 @s2n_print_stacktrace(ptr noundef %5857)
  %5859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5860 = trunc i8 %5859 to i1
  br i1 %5860, label %5861, label %5883

5861:                                             ; preds = %5854
  %5862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5863 = call i32 @fileno(ptr noundef %5862) #11
  %5864 = call i32 @isatty(i32 noundef %5863) #11
  %5865 = icmp ne i32 %5864, 0
  br i1 %5865, label %5866, label %5883

5866:                                             ; preds = %5861
  %5867 = load i32, ptr %131, align 4, !tbaa !5
  %5868 = call ptr @__errno_location() #12
  store i32 %5867, ptr %5868, align 4, !tbaa !5
  %5869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5870 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5872, ptr noundef @.str.25)
  %5874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5875 = load i32, ptr %5874, align 4, !tbaa !5
  %5876 = call ptr @s2n_strerror_debug(i32 noundef %5875, ptr noundef @.str.25)
  %5877 = call ptr @__errno_location() #12
  %5878 = load i32, ptr %5877, align 4, !tbaa !5
  %5879 = call ptr @strerror(i32 noundef %5878) #11
  %5880 = call ptr @__errno_location() #12
  %5881 = load i32, ptr %5880, align 4, !tbaa !5
  %5882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5869, ptr noundef @.str.23, i32 noundef %5870, ptr noundef @.str.76, ptr noundef @.str.22, i32 noundef 325, ptr noundef %5873, ptr noundef %5876, ptr noundef %5879, i32 noundef %5881) #11
  br label %5900

5883:                                             ; preds = %5861, %5854
  %5884 = load i32, ptr %131, align 4, !tbaa !5
  %5885 = call ptr @__errno_location() #12
  store i32 %5884, ptr %5885, align 4, !tbaa !5
  %5886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5887 = load i32, ptr @test_count, align 4, !tbaa !5
  %5888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5889 = load i32, ptr %5888, align 4, !tbaa !5
  %5890 = call ptr @s2n_strerror(i32 noundef %5889, ptr noundef @.str.25)
  %5891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5892 = load i32, ptr %5891, align 4, !tbaa !5
  %5893 = call ptr @s2n_strerror_debug(i32 noundef %5892, ptr noundef @.str.25)
  %5894 = call ptr @__errno_location() #12
  %5895 = load i32, ptr %5894, align 4, !tbaa !5
  %5896 = call ptr @strerror(i32 noundef %5895) #11
  %5897 = call ptr @__errno_location() #12
  %5898 = load i32, ptr %5897, align 4, !tbaa !5
  %5899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5886, ptr noundef @.str.26, i32 noundef %5887, ptr noundef @.str.76, ptr noundef @.str.22, i32 noundef 325, ptr noundef %5890, ptr noundef %5893, ptr noundef %5896, i32 noundef %5898) #11
  br label %5900

5900:                                             ; preds = %5883, %5866
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %5901

5901:                                             ; preds = %5900
  br label %5902

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

5903:                                             ; No predecessors!
  br label %5904

5904:                                             ; preds = %5903
  br label %5905

5905:                                             ; preds = %5904, %5847
  br label %5906

5906:                                             ; preds = %5905
  br label %5907

5907:                                             ; preds = %5906
  br label %5908

5908:                                             ; preds = %5907
  %5909 = load i32, ptr @test_count, align 4, !tbaa !5
  %5910 = add nsw i32 %5909, 1
  store i32 %5910, ptr @test_count, align 4, !tbaa !5
  %5911 = load i32, ptr %130, align 4, !tbaa !5
  %5912 = icmp eq i32 %5911, 10
  br i1 %5912, label %5966, label %5913

5913:                                             ; preds = %5908
  br label %5914

5914:                                             ; preds = %5913
  br label %5915

5915:                                             ; preds = %5914
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %5916 = call ptr @__errno_location() #12
  %5917 = load i32, ptr %5916, align 4, !tbaa !5
  store i32 %5917, ptr %132, align 4, !tbaa !5
  %5918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5919 = call i32 @s2n_print_stacktrace(ptr noundef %5918)
  %5920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5921 = trunc i8 %5920 to i1
  br i1 %5921, label %5922, label %5944

5922:                                             ; preds = %5915
  %5923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5924 = call i32 @fileno(ptr noundef %5923) #11
  %5925 = call i32 @isatty(i32 noundef %5924) #11
  %5926 = icmp ne i32 %5925, 0
  br i1 %5926, label %5927, label %5944

5927:                                             ; preds = %5922
  %5928 = load i32, ptr %132, align 4, !tbaa !5
  %5929 = call ptr @__errno_location() #12
  store i32 %5928, ptr %5929, align 4, !tbaa !5
  %5930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5931 = load i32, ptr @test_count, align 4, !tbaa !5
  %5932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5933 = load i32, ptr %5932, align 4, !tbaa !5
  %5934 = call ptr @s2n_strerror(i32 noundef %5933, ptr noundef @.str.25)
  %5935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5936 = load i32, ptr %5935, align 4, !tbaa !5
  %5937 = call ptr @s2n_strerror_debug(i32 noundef %5936, ptr noundef @.str.25)
  %5938 = call ptr @__errno_location() #12
  %5939 = load i32, ptr %5938, align 4, !tbaa !5
  %5940 = call ptr @strerror(i32 noundef %5939) #11
  %5941 = call ptr @__errno_location() #12
  %5942 = load i32, ptr %5941, align 4, !tbaa !5
  %5943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5930, ptr noundef @.str.23, i32 noundef %5931, ptr noundef @.str.77, ptr noundef @.str.22, i32 noundef 326, ptr noundef %5934, ptr noundef %5937, ptr noundef %5940, i32 noundef %5942) #11
  br label %5961

5944:                                             ; preds = %5922, %5915
  %5945 = load i32, ptr %132, align 4, !tbaa !5
  %5946 = call ptr @__errno_location() #12
  store i32 %5945, ptr %5946, align 4, !tbaa !5
  %5947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5948 = load i32, ptr @test_count, align 4, !tbaa !5
  %5949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5950 = load i32, ptr %5949, align 4, !tbaa !5
  %5951 = call ptr @s2n_strerror(i32 noundef %5950, ptr noundef @.str.25)
  %5952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5953 = load i32, ptr %5952, align 4, !tbaa !5
  %5954 = call ptr @s2n_strerror_debug(i32 noundef %5953, ptr noundef @.str.25)
  %5955 = call ptr @__errno_location() #12
  %5956 = load i32, ptr %5955, align 4, !tbaa !5
  %5957 = call ptr @strerror(i32 noundef %5956) #11
  %5958 = call ptr @__errno_location() #12
  %5959 = load i32, ptr %5958, align 4, !tbaa !5
  %5960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5947, ptr noundef @.str.26, i32 noundef %5948, ptr noundef @.str.77, ptr noundef @.str.22, i32 noundef 326, ptr noundef %5951, ptr noundef %5954, ptr noundef %5957, i32 noundef %5959) #11
  br label %5961

5961:                                             ; preds = %5944, %5927
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %5962

5962:                                             ; preds = %5961
  br label %5963

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

5964:                                             ; No predecessors!
  br label %5965

5965:                                             ; preds = %5964
  br label %5966

5966:                                             ; preds = %5965, %5908
  br label %5967

5967:                                             ; preds = %5966
  br label %5968

5968:                                             ; preds = %5967
  br label %5969

5969:                                             ; preds = %5968
  %5970 = load i32, ptr @test_count, align 4, !tbaa !5
  %5971 = add nsw i32 %5970, 1
  store i32 %5971, ptr @test_count, align 4, !tbaa !5
  %5972 = load ptr, ptr %115, align 8, !tbaa !9
  %5973 = call i32 @s2n_connection_free(ptr noundef %5972)
  %5974 = icmp eq i32 %5973, -1
  br i1 %5974, label %5975, label %6028

5975:                                             ; preds = %5969
  br label %5976

5976:                                             ; preds = %5975
  br label %5977

5977:                                             ; preds = %5976
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %5978 = call ptr @__errno_location() #12
  %5979 = load i32, ptr %5978, align 4, !tbaa !5
  store i32 %5979, ptr %133, align 4, !tbaa !5
  %5980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5981 = call i32 @s2n_print_stacktrace(ptr noundef %5980)
  %5982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5983 = trunc i8 %5982 to i1
  br i1 %5983, label %5984, label %6006

5984:                                             ; preds = %5977
  %5985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5986 = call i32 @fileno(ptr noundef %5985) #11
  %5987 = call i32 @isatty(i32 noundef %5986) #11
  %5988 = icmp ne i32 %5987, 0
  br i1 %5988, label %5989, label %6006

5989:                                             ; preds = %5984
  %5990 = load i32, ptr %133, align 4, !tbaa !5
  %5991 = call ptr @__errno_location() #12
  store i32 %5990, ptr %5991, align 4, !tbaa !5
  %5992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5993 = load i32, ptr @test_count, align 4, !tbaa !5
  %5994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5995 = load i32, ptr %5994, align 4, !tbaa !5
  %5996 = call ptr @s2n_strerror(i32 noundef %5995, ptr noundef @.str.25)
  %5997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5998 = load i32, ptr %5997, align 4, !tbaa !5
  %5999 = call ptr @s2n_strerror_debug(i32 noundef %5998, ptr noundef @.str.25)
  %6000 = call ptr @__errno_location() #12
  %6001 = load i32, ptr %6000, align 4, !tbaa !5
  %6002 = call ptr @strerror(i32 noundef %6001) #11
  %6003 = call ptr @__errno_location() #12
  %6004 = load i32, ptr %6003, align 4, !tbaa !5
  %6005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5992, ptr noundef @.str.23, i32 noundef %5993, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 328, ptr noundef %5996, ptr noundef %5999, ptr noundef %6002, i32 noundef %6004) #11
  br label %6023

6006:                                             ; preds = %5984, %5977
  %6007 = load i32, ptr %133, align 4, !tbaa !5
  %6008 = call ptr @__errno_location() #12
  store i32 %6007, ptr %6008, align 4, !tbaa !5
  %6009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6010 = load i32, ptr @test_count, align 4, !tbaa !5
  %6011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6012 = load i32, ptr %6011, align 4, !tbaa !5
  %6013 = call ptr @s2n_strerror(i32 noundef %6012, ptr noundef @.str.25)
  %6014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6015 = load i32, ptr %6014, align 4, !tbaa !5
  %6016 = call ptr @s2n_strerror_debug(i32 noundef %6015, ptr noundef @.str.25)
  %6017 = call ptr @__errno_location() #12
  %6018 = load i32, ptr %6017, align 4, !tbaa !5
  %6019 = call ptr @strerror(i32 noundef %6018) #11
  %6020 = call ptr @__errno_location() #12
  %6021 = load i32, ptr %6020, align 4, !tbaa !5
  %6022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6009, ptr noundef @.str.26, i32 noundef %6010, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 328, ptr noundef %6013, ptr noundef %6016, ptr noundef %6019, i32 noundef %6021) #11
  br label %6023

6023:                                             ; preds = %6006, %5989
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %6024

6024:                                             ; preds = %6023
  br label %6025

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

6026:                                             ; No predecessors!
  br label %6027

6027:                                             ; preds = %6026
  br label %6028

6028:                                             ; preds = %6027, %5969
  br label %6029

6029:                                             ; preds = %6028
  br label %6030

6030:                                             ; preds = %6029
  br label %6031

6031:                                             ; preds = %6030
  %6032 = load i32, ptr @test_count, align 4, !tbaa !5
  %6033 = add nsw i32 %6032, 1
  store i32 %6033, ptr @test_count, align 4, !tbaa !5
  %6034 = call i32 @s2n_stuffer_free(ptr noundef %119)
  %6035 = icmp eq i32 %6034, -1
  br i1 %6035, label %6036, label %6089

6036:                                             ; preds = %6031
  br label %6037

6037:                                             ; preds = %6036
  br label %6038

6038:                                             ; preds = %6037
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #11
  %6039 = call ptr @__errno_location() #12
  %6040 = load i32, ptr %6039, align 4, !tbaa !5
  store i32 %6040, ptr %134, align 4, !tbaa !5
  %6041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6042 = call i32 @s2n_print_stacktrace(ptr noundef %6041)
  %6043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6044 = trunc i8 %6043 to i1
  br i1 %6044, label %6045, label %6067

6045:                                             ; preds = %6038
  %6046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6047 = call i32 @fileno(ptr noundef %6046) #11
  %6048 = call i32 @isatty(i32 noundef %6047) #11
  %6049 = icmp ne i32 %6048, 0
  br i1 %6049, label %6050, label %6067

6050:                                             ; preds = %6045
  %6051 = load i32, ptr %134, align 4, !tbaa !5
  %6052 = call ptr @__errno_location() #12
  store i32 %6051, ptr %6052, align 4, !tbaa !5
  %6053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6054 = load i32, ptr @test_count, align 4, !tbaa !5
  %6055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6056 = load i32, ptr %6055, align 4, !tbaa !5
  %6057 = call ptr @s2n_strerror(i32 noundef %6056, ptr noundef @.str.25)
  %6058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6059 = load i32, ptr %6058, align 4, !tbaa !5
  %6060 = call ptr @s2n_strerror_debug(i32 noundef %6059, ptr noundef @.str.25)
  %6061 = call ptr @__errno_location() #12
  %6062 = load i32, ptr %6061, align 4, !tbaa !5
  %6063 = call ptr @strerror(i32 noundef %6062) #11
  %6064 = call ptr @__errno_location() #12
  %6065 = load i32, ptr %6064, align 4, !tbaa !5
  %6066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6053, ptr noundef @.str.23, i32 noundef %6054, ptr noundef @.str.57, ptr noundef @.str.22, i32 noundef 329, ptr noundef %6057, ptr noundef %6060, ptr noundef %6063, i32 noundef %6065) #11
  br label %6084

6067:                                             ; preds = %6045, %6038
  %6068 = load i32, ptr %134, align 4, !tbaa !5
  %6069 = call ptr @__errno_location() #12
  store i32 %6068, ptr %6069, align 4, !tbaa !5
  %6070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6071 = load i32, ptr @test_count, align 4, !tbaa !5
  %6072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6073 = load i32, ptr %6072, align 4, !tbaa !5
  %6074 = call ptr @s2n_strerror(i32 noundef %6073, ptr noundef @.str.25)
  %6075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6076 = load i32, ptr %6075, align 4, !tbaa !5
  %6077 = call ptr @s2n_strerror_debug(i32 noundef %6076, ptr noundef @.str.25)
  %6078 = call ptr @__errno_location() #12
  %6079 = load i32, ptr %6078, align 4, !tbaa !5
  %6080 = call ptr @strerror(i32 noundef %6079) #11
  %6081 = call ptr @__errno_location() #12
  %6082 = load i32, ptr %6081, align 4, !tbaa !5
  %6083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6070, ptr noundef @.str.26, i32 noundef %6071, ptr noundef @.str.57, ptr noundef @.str.22, i32 noundef 329, ptr noundef %6074, ptr noundef %6077, ptr noundef %6080, i32 noundef %6082) #11
  br label %6084

6084:                                             ; preds = %6067, %6050
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %6085

6085:                                             ; preds = %6084
  br label %6086

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

6087:                                             ; No predecessors!
  br label %6088

6088:                                             ; preds = %6087
  br label %6089

6089:                                             ; preds = %6088, %6031
  br label %6090

6090:                                             ; preds = %6089
  br label %6091

6091:                                             ; preds = %6090
  br label %6092

6092:                                             ; preds = %6091
  %6093 = load i32, ptr @test_count, align 4, !tbaa !5
  %6094 = add nsw i32 %6093, 1
  store i32 %6094, ptr @test_count, align 4, !tbaa !5
  %6095 = load ptr, ptr %111, align 8, !tbaa !9
  %6096 = call i32 @s2n_config_free(ptr noundef %6095)
  %6097 = icmp eq i32 %6096, -1
  br i1 %6097, label %6098, label %6151

6098:                                             ; preds = %6092
  br label %6099

6099:                                             ; preds = %6098
  br label %6100

6100:                                             ; preds = %6099
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %6101 = call ptr @__errno_location() #12
  %6102 = load i32, ptr %6101, align 4, !tbaa !5
  store i32 %6102, ptr %135, align 4, !tbaa !5
  %6103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6104 = call i32 @s2n_print_stacktrace(ptr noundef %6103)
  %6105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6106 = trunc i8 %6105 to i1
  br i1 %6106, label %6107, label %6129

6107:                                             ; preds = %6100
  %6108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6109 = call i32 @fileno(ptr noundef %6108) #11
  %6110 = call i32 @isatty(i32 noundef %6109) #11
  %6111 = icmp ne i32 %6110, 0
  br i1 %6111, label %6112, label %6129

6112:                                             ; preds = %6107
  %6113 = load i32, ptr %135, align 4, !tbaa !5
  %6114 = call ptr @__errno_location() #12
  store i32 %6113, ptr %6114, align 4, !tbaa !5
  %6115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6116 = load i32, ptr @test_count, align 4, !tbaa !5
  %6117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6118 = load i32, ptr %6117, align 4, !tbaa !5
  %6119 = call ptr @s2n_strerror(i32 noundef %6118, ptr noundef @.str.25)
  %6120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6121 = load i32, ptr %6120, align 4, !tbaa !5
  %6122 = call ptr @s2n_strerror_debug(i32 noundef %6121, ptr noundef @.str.25)
  %6123 = call ptr @__errno_location() #12
  %6124 = load i32, ptr %6123, align 4, !tbaa !5
  %6125 = call ptr @strerror(i32 noundef %6124) #11
  %6126 = call ptr @__errno_location() #12
  %6127 = load i32, ptr %6126, align 4, !tbaa !5
  %6128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6115, ptr noundef @.str.23, i32 noundef %6116, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 330, ptr noundef %6119, ptr noundef %6122, ptr noundef %6125, i32 noundef %6127) #11
  br label %6146

6129:                                             ; preds = %6107, %6100
  %6130 = load i32, ptr %135, align 4, !tbaa !5
  %6131 = call ptr @__errno_location() #12
  store i32 %6130, ptr %6131, align 4, !tbaa !5
  %6132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6133 = load i32, ptr @test_count, align 4, !tbaa !5
  %6134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6135 = load i32, ptr %6134, align 4, !tbaa !5
  %6136 = call ptr @s2n_strerror(i32 noundef %6135, ptr noundef @.str.25)
  %6137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6138 = load i32, ptr %6137, align 4, !tbaa !5
  %6139 = call ptr @s2n_strerror_debug(i32 noundef %6138, ptr noundef @.str.25)
  %6140 = call ptr @__errno_location() #12
  %6141 = load i32, ptr %6140, align 4, !tbaa !5
  %6142 = call ptr @strerror(i32 noundef %6141) #11
  %6143 = call ptr @__errno_location() #12
  %6144 = load i32, ptr %6143, align 4, !tbaa !5
  %6145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6132, ptr noundef @.str.26, i32 noundef %6133, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 330, ptr noundef %6136, ptr noundef %6139, ptr noundef %6142, i32 noundef %6144) #11
  br label %6146

6146:                                             ; preds = %6129, %6112
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %6147

6147:                                             ; preds = %6146
  br label %6148

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

6149:                                             ; No predecessors!
  br label %6150

6150:                                             ; preds = %6149
  br label %6151

6151:                                             ; preds = %6150, %6092
  br label %6152

6152:                                             ; preds = %6151
  br label %6153

6153:                                             ; preds = %6152
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %127) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %124) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %119) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #11
  %6154 = call ptr @s2n_config_new()
  store ptr %6154, ptr %136, align 8, !tbaa !9
  br label %6155

6155:                                             ; preds = %6153
  %6156 = load i32, ptr @test_count, align 4, !tbaa !5
  %6157 = add nsw i32 %6156, 1
  store i32 %6157, ptr @test_count, align 4, !tbaa !5
  %6158 = load ptr, ptr %136, align 8, !tbaa !9
  %6159 = icmp eq ptr %6158, null
  br i1 %6159, label %6160, label %6213

6160:                                             ; preds = %6155
  br label %6161

6161:                                             ; preds = %6160
  br label %6162

6162:                                             ; preds = %6161
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #11
  %6163 = call ptr @__errno_location() #12
  %6164 = load i32, ptr %6163, align 4, !tbaa !5
  store i32 %6164, ptr %137, align 4, !tbaa !5
  %6165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6166 = call i32 @s2n_print_stacktrace(ptr noundef %6165)
  %6167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6168 = trunc i8 %6167 to i1
  br i1 %6168, label %6169, label %6191

6169:                                             ; preds = %6162
  %6170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6171 = call i32 @fileno(ptr noundef %6170) #11
  %6172 = call i32 @isatty(i32 noundef %6171) #11
  %6173 = icmp ne i32 %6172, 0
  br i1 %6173, label %6174, label %6191

6174:                                             ; preds = %6169
  %6175 = load i32, ptr %137, align 4, !tbaa !5
  %6176 = call ptr @__errno_location() #12
  store i32 %6175, ptr %6176, align 4, !tbaa !5
  %6177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6178 = load i32, ptr @test_count, align 4, !tbaa !5
  %6179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6180 = load i32, ptr %6179, align 4, !tbaa !5
  %6181 = call ptr @s2n_strerror(i32 noundef %6180, ptr noundef @.str.25)
  %6182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6183 = load i32, ptr %6182, align 4, !tbaa !5
  %6184 = call ptr @s2n_strerror_debug(i32 noundef %6183, ptr noundef @.str.25)
  %6185 = call ptr @__errno_location() #12
  %6186 = load i32, ptr %6185, align 4, !tbaa !5
  %6187 = call ptr @strerror(i32 noundef %6186) #11
  %6188 = call ptr @__errno_location() #12
  %6189 = load i32, ptr %6188, align 4, !tbaa !5
  %6190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6177, ptr noundef @.str.23, i32 noundef %6178, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 336, ptr noundef %6181, ptr noundef %6184, ptr noundef %6187, i32 noundef %6189) #11
  br label %6208

6191:                                             ; preds = %6169, %6162
  %6192 = load i32, ptr %137, align 4, !tbaa !5
  %6193 = call ptr @__errno_location() #12
  store i32 %6192, ptr %6193, align 4, !tbaa !5
  %6194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6195 = load i32, ptr @test_count, align 4, !tbaa !5
  %6196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6197 = load i32, ptr %6196, align 4, !tbaa !5
  %6198 = call ptr @s2n_strerror(i32 noundef %6197, ptr noundef @.str.25)
  %6199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6200 = load i32, ptr %6199, align 4, !tbaa !5
  %6201 = call ptr @s2n_strerror_debug(i32 noundef %6200, ptr noundef @.str.25)
  %6202 = call ptr @__errno_location() #12
  %6203 = load i32, ptr %6202, align 4, !tbaa !5
  %6204 = call ptr @strerror(i32 noundef %6203) #11
  %6205 = call ptr @__errno_location() #12
  %6206 = load i32, ptr %6205, align 4, !tbaa !5
  %6207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6194, ptr noundef @.str.26, i32 noundef %6195, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 336, ptr noundef %6198, ptr noundef %6201, ptr noundef %6204, i32 noundef %6206) #11
  br label %6208

6208:                                             ; preds = %6191, %6174
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #11
  br label %6209

6209:                                             ; preds = %6208
  br label %6210

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

6211:                                             ; No predecessors!
  br label %6212

6212:                                             ; preds = %6211
  br label %6213

6213:                                             ; preds = %6212, %6155
  br label %6214

6214:                                             ; preds = %6213
  br label %6215

6215:                                             ; preds = %6214
  br label %6216

6216:                                             ; preds = %6215
  %6217 = load i32, ptr @test_count, align 4, !tbaa !5
  %6218 = add nsw i32 %6217, 1
  store i32 %6218, ptr @test_count, align 4, !tbaa !5
  %6219 = load ptr, ptr %136, align 8, !tbaa !9
  %6220 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %6219, i8 noundef zeroext 1)
  %6221 = icmp eq i32 %6220, -1
  br i1 %6221, label %6222, label %6275

6222:                                             ; preds = %6216
  br label %6223

6223:                                             ; preds = %6222
  br label %6224

6224:                                             ; preds = %6223
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #11
  %6225 = call ptr @__errno_location() #12
  %6226 = load i32, ptr %6225, align 4, !tbaa !5
  store i32 %6226, ptr %138, align 4, !tbaa !5
  %6227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6228 = call i32 @s2n_print_stacktrace(ptr noundef %6227)
  %6229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6230 = trunc i8 %6229 to i1
  br i1 %6230, label %6231, label %6253

6231:                                             ; preds = %6224
  %6232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6233 = call i32 @fileno(ptr noundef %6232) #11
  %6234 = call i32 @isatty(i32 noundef %6233) #11
  %6235 = icmp ne i32 %6234, 0
  br i1 %6235, label %6236, label %6253

6236:                                             ; preds = %6231
  %6237 = load i32, ptr %138, align 4, !tbaa !5
  %6238 = call ptr @__errno_location() #12
  store i32 %6237, ptr %6238, align 4, !tbaa !5
  %6239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6240 = load i32, ptr @test_count, align 4, !tbaa !5
  %6241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6242 = load i32, ptr %6241, align 4, !tbaa !5
  %6243 = call ptr @s2n_strerror(i32 noundef %6242, ptr noundef @.str.25)
  %6244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6245 = load i32, ptr %6244, align 4, !tbaa !5
  %6246 = call ptr @s2n_strerror_debug(i32 noundef %6245, ptr noundef @.str.25)
  %6247 = call ptr @__errno_location() #12
  %6248 = load i32, ptr %6247, align 4, !tbaa !5
  %6249 = call ptr @strerror(i32 noundef %6248) #11
  %6250 = call ptr @__errno_location() #12
  %6251 = load i32, ptr %6250, align 4, !tbaa !5
  %6252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6239, ptr noundef @.str.23, i32 noundef %6240, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 337, ptr noundef %6243, ptr noundef %6246, ptr noundef %6249, i32 noundef %6251) #11
  br label %6270

6253:                                             ; preds = %6231, %6224
  %6254 = load i32, ptr %138, align 4, !tbaa !5
  %6255 = call ptr @__errno_location() #12
  store i32 %6254, ptr %6255, align 4, !tbaa !5
  %6256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6257 = load i32, ptr @test_count, align 4, !tbaa !5
  %6258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6259 = load i32, ptr %6258, align 4, !tbaa !5
  %6260 = call ptr @s2n_strerror(i32 noundef %6259, ptr noundef @.str.25)
  %6261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6262 = load i32, ptr %6261, align 4, !tbaa !5
  %6263 = call ptr @s2n_strerror_debug(i32 noundef %6262, ptr noundef @.str.25)
  %6264 = call ptr @__errno_location() #12
  %6265 = load i32, ptr %6264, align 4, !tbaa !5
  %6266 = call ptr @strerror(i32 noundef %6265) #11
  %6267 = call ptr @__errno_location() #12
  %6268 = load i32, ptr %6267, align 4, !tbaa !5
  %6269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6256, ptr noundef @.str.26, i32 noundef %6257, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 337, ptr noundef %6260, ptr noundef %6263, ptr noundef %6266, i32 noundef %6268) #11
  br label %6270

6270:                                             ; preds = %6253, %6236
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %6271

6271:                                             ; preds = %6270
  br label %6272

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

6273:                                             ; No predecessors!
  br label %6274

6274:                                             ; preds = %6273
  br label %6275

6275:                                             ; preds = %6274, %6216
  br label %6276

6276:                                             ; preds = %6275
  br label %6277

6277:                                             ; preds = %6276
  br label %6278

6278:                                             ; preds = %6277
  %6279 = load i32, ptr @test_count, align 4, !tbaa !5
  %6280 = add nsw i32 %6279, 1
  store i32 %6280, ptr @test_count, align 4, !tbaa !5
  %6281 = load ptr, ptr %136, align 8, !tbaa !9
  %6282 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %6281, ptr noundef @s2n_test_session_ticket_cb, ptr noundef null)
  %6283 = icmp eq i32 %6282, -1
  br i1 %6283, label %6284, label %6337

6284:                                             ; preds = %6278
  br label %6285

6285:                                             ; preds = %6284
  br label %6286

6286:                                             ; preds = %6285
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #11
  %6287 = call ptr @__errno_location() #12
  %6288 = load i32, ptr %6287, align 4, !tbaa !5
  store i32 %6288, ptr %139, align 4, !tbaa !5
  %6289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6290 = call i32 @s2n_print_stacktrace(ptr noundef %6289)
  %6291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6292 = trunc i8 %6291 to i1
  br i1 %6292, label %6293, label %6315

6293:                                             ; preds = %6286
  %6294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6295 = call i32 @fileno(ptr noundef %6294) #11
  %6296 = call i32 @isatty(i32 noundef %6295) #11
  %6297 = icmp ne i32 %6296, 0
  br i1 %6297, label %6298, label %6315

6298:                                             ; preds = %6293
  %6299 = load i32, ptr %139, align 4, !tbaa !5
  %6300 = call ptr @__errno_location() #12
  store i32 %6299, ptr %6300, align 4, !tbaa !5
  %6301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6302 = load i32, ptr @test_count, align 4, !tbaa !5
  %6303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6304 = load i32, ptr %6303, align 4, !tbaa !5
  %6305 = call ptr @s2n_strerror(i32 noundef %6304, ptr noundef @.str.25)
  %6306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6307 = load i32, ptr %6306, align 4, !tbaa !5
  %6308 = call ptr @s2n_strerror_debug(i32 noundef %6307, ptr noundef @.str.25)
  %6309 = call ptr @__errno_location() #12
  %6310 = load i32, ptr %6309, align 4, !tbaa !5
  %6311 = call ptr @strerror(i32 noundef %6310) #11
  %6312 = call ptr @__errno_location() #12
  %6313 = load i32, ptr %6312, align 4, !tbaa !5
  %6314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6301, ptr noundef @.str.23, i32 noundef %6302, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 338, ptr noundef %6305, ptr noundef %6308, ptr noundef %6311, i32 noundef %6313) #11
  br label %6332

6315:                                             ; preds = %6293, %6286
  %6316 = load i32, ptr %139, align 4, !tbaa !5
  %6317 = call ptr @__errno_location() #12
  store i32 %6316, ptr %6317, align 4, !tbaa !5
  %6318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6319 = load i32, ptr @test_count, align 4, !tbaa !5
  %6320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6321 = load i32, ptr %6320, align 4, !tbaa !5
  %6322 = call ptr @s2n_strerror(i32 noundef %6321, ptr noundef @.str.25)
  %6323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6324 = load i32, ptr %6323, align 4, !tbaa !5
  %6325 = call ptr @s2n_strerror_debug(i32 noundef %6324, ptr noundef @.str.25)
  %6326 = call ptr @__errno_location() #12
  %6327 = load i32, ptr %6326, align 4, !tbaa !5
  %6328 = call ptr @strerror(i32 noundef %6327) #11
  %6329 = call ptr @__errno_location() #12
  %6330 = load i32, ptr %6329, align 4, !tbaa !5
  %6331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6318, ptr noundef @.str.26, i32 noundef %6319, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 338, ptr noundef %6322, ptr noundef %6325, ptr noundef %6328, i32 noundef %6330) #11
  br label %6332

6332:                                             ; preds = %6315, %6298
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %6333

6333:                                             ; preds = %6332
  br label %6334

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

6335:                                             ; No predecessors!
  br label %6336

6336:                                             ; preds = %6335
  br label %6337

6337:                                             ; preds = %6336, %6278
  br label %6338

6338:                                             ; preds = %6337
  br label %6339

6339:                                             ; preds = %6338
  br label %6340

6340:                                             ; preds = %6339
  %6341 = load i32, ptr @test_count, align 4, !tbaa !5
  %6342 = add nsw i32 %6341, 1
  store i32 %6342, ptr @test_count, align 4, !tbaa !5
  %6343 = load ptr, ptr %136, align 8, !tbaa !9
  %6344 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %6343)
  %6345 = getelementptr inbounds %struct.s2n_result, ptr %140, i32 0, i32 0
  store i32 %6344, ptr %6345, align 4
  %6346 = getelementptr inbounds %struct.s2n_result, ptr %140, i32 0, i32 0
  %6347 = load i32, ptr %6346, align 4
  %6348 = call zeroext i1 @s2n_result_is_ok(i32 %6347)
  br i1 %6348, label %6402, label %6349

6349:                                             ; preds = %6340
  br label %6350

6350:                                             ; preds = %6349
  br label %6351

6351:                                             ; preds = %6350
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %6352 = call ptr @__errno_location() #12
  %6353 = load i32, ptr %6352, align 4, !tbaa !5
  store i32 %6353, ptr %141, align 4, !tbaa !5
  %6354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6355 = call i32 @s2n_print_stacktrace(ptr noundef %6354)
  %6356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6357 = trunc i8 %6356 to i1
  br i1 %6357, label %6358, label %6380

6358:                                             ; preds = %6351
  %6359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6360 = call i32 @fileno(ptr noundef %6359) #11
  %6361 = call i32 @isatty(i32 noundef %6360) #11
  %6362 = icmp ne i32 %6361, 0
  br i1 %6362, label %6363, label %6380

6363:                                             ; preds = %6358
  %6364 = load i32, ptr %141, align 4, !tbaa !5
  %6365 = call ptr @__errno_location() #12
  store i32 %6364, ptr %6365, align 4, !tbaa !5
  %6366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6367 = load i32, ptr @test_count, align 4, !tbaa !5
  %6368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6369 = load i32, ptr %6368, align 4, !tbaa !5
  %6370 = call ptr @s2n_strerror(i32 noundef %6369, ptr noundef @.str.25)
  %6371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6372 = load i32, ptr %6371, align 4, !tbaa !5
  %6373 = call ptr @s2n_strerror_debug(i32 noundef %6372, ptr noundef @.str.25)
  %6374 = call ptr @__errno_location() #12
  %6375 = load i32, ptr %6374, align 4, !tbaa !5
  %6376 = call ptr @strerror(i32 noundef %6375) #11
  %6377 = call ptr @__errno_location() #12
  %6378 = load i32, ptr %6377, align 4, !tbaa !5
  %6379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6366, ptr noundef @.str.23, i32 noundef %6367, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 339, ptr noundef %6370, ptr noundef %6373, ptr noundef %6376, i32 noundef %6378) #11
  br label %6397

6380:                                             ; preds = %6358, %6351
  %6381 = load i32, ptr %141, align 4, !tbaa !5
  %6382 = call ptr @__errno_location() #12
  store i32 %6381, ptr %6382, align 4, !tbaa !5
  %6383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6384 = load i32, ptr @test_count, align 4, !tbaa !5
  %6385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6386 = load i32, ptr %6385, align 4, !tbaa !5
  %6387 = call ptr @s2n_strerror(i32 noundef %6386, ptr noundef @.str.25)
  %6388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6389 = load i32, ptr %6388, align 4, !tbaa !5
  %6390 = call ptr @s2n_strerror_debug(i32 noundef %6389, ptr noundef @.str.25)
  %6391 = call ptr @__errno_location() #12
  %6392 = load i32, ptr %6391, align 4, !tbaa !5
  %6393 = call ptr @strerror(i32 noundef %6392) #11
  %6394 = call ptr @__errno_location() #12
  %6395 = load i32, ptr %6394, align 4, !tbaa !5
  %6396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6383, ptr noundef @.str.26, i32 noundef %6384, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 339, ptr noundef %6387, ptr noundef %6390, ptr noundef %6393, i32 noundef %6395) #11
  br label %6397

6397:                                             ; preds = %6380, %6363
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %6398

6398:                                             ; preds = %6397
  br label %6399

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

6400:                                             ; No predecessors!
  br label %6401

6401:                                             ; preds = %6400
  br label %6402

6402:                                             ; preds = %6401, %6340
  br label %6403

6403:                                             ; preds = %6402
  br label %6404

6404:                                             ; preds = %6403
  call void @llvm.lifetime.start.p0(i64 8, ptr %142) #11
  %6405 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6405, ptr %142, align 8, !tbaa !9
  br label %6406

6406:                                             ; preds = %6404
  %6407 = load i32, ptr @test_count, align 4, !tbaa !5
  %6408 = add nsw i32 %6407, 1
  store i32 %6408, ptr @test_count, align 4, !tbaa !5
  %6409 = load ptr, ptr %142, align 8, !tbaa !9
  %6410 = icmp eq ptr %6409, null
  br i1 %6410, label %6411, label %6464

6411:                                             ; preds = %6406
  br label %6412

6412:                                             ; preds = %6411
  br label %6413

6413:                                             ; preds = %6412
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %6414 = call ptr @__errno_location() #12
  %6415 = load i32, ptr %6414, align 4, !tbaa !5
  store i32 %6415, ptr %143, align 4, !tbaa !5
  %6416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6417 = call i32 @s2n_print_stacktrace(ptr noundef %6416)
  %6418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6419 = trunc i8 %6418 to i1
  br i1 %6419, label %6420, label %6442

6420:                                             ; preds = %6413
  %6421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6422 = call i32 @fileno(ptr noundef %6421) #11
  %6423 = call i32 @isatty(i32 noundef %6422) #11
  %6424 = icmp ne i32 %6423, 0
  br i1 %6424, label %6425, label %6442

6425:                                             ; preds = %6420
  %6426 = load i32, ptr %143, align 4, !tbaa !5
  %6427 = call ptr @__errno_location() #12
  store i32 %6426, ptr %6427, align 4, !tbaa !5
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = load i32, ptr @test_count, align 4, !tbaa !5
  %6430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6431 = load i32, ptr %6430, align 4, !tbaa !5
  %6432 = call ptr @s2n_strerror(i32 noundef %6431, ptr noundef @.str.25)
  %6433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6434 = load i32, ptr %6433, align 4, !tbaa !5
  %6435 = call ptr @s2n_strerror_debug(i32 noundef %6434, ptr noundef @.str.25)
  %6436 = call ptr @__errno_location() #12
  %6437 = load i32, ptr %6436, align 4, !tbaa !5
  %6438 = call ptr @strerror(i32 noundef %6437) #11
  %6439 = call ptr @__errno_location() #12
  %6440 = load i32, ptr %6439, align 4, !tbaa !5
  %6441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6428, ptr noundef @.str.23, i32 noundef %6429, ptr noundef @.str.80, ptr noundef @.str.22, i32 noundef 342, ptr noundef %6432, ptr noundef %6435, ptr noundef %6438, i32 noundef %6440) #11
  br label %6459

6442:                                             ; preds = %6420, %6413
  %6443 = load i32, ptr %143, align 4, !tbaa !5
  %6444 = call ptr @__errno_location() #12
  store i32 %6443, ptr %6444, align 4, !tbaa !5
  %6445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6446 = load i32, ptr @test_count, align 4, !tbaa !5
  %6447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6448 = load i32, ptr %6447, align 4, !tbaa !5
  %6449 = call ptr @s2n_strerror(i32 noundef %6448, ptr noundef @.str.25)
  %6450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6451 = load i32, ptr %6450, align 4, !tbaa !5
  %6452 = call ptr @s2n_strerror_debug(i32 noundef %6451, ptr noundef @.str.25)
  %6453 = call ptr @__errno_location() #12
  %6454 = load i32, ptr %6453, align 4, !tbaa !5
  %6455 = call ptr @strerror(i32 noundef %6454) #11
  %6456 = call ptr @__errno_location() #12
  %6457 = load i32, ptr %6456, align 4, !tbaa !5
  %6458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6445, ptr noundef @.str.26, i32 noundef %6446, ptr noundef @.str.80, ptr noundef @.str.22, i32 noundef 342, ptr noundef %6449, ptr noundef %6452, ptr noundef %6455, i32 noundef %6457) #11
  br label %6459

6459:                                             ; preds = %6442, %6425
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %6460

6460:                                             ; preds = %6459
  br label %6461

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

6462:                                             ; No predecessors!
  br label %6463

6463:                                             ; preds = %6462
  br label %6464

6464:                                             ; preds = %6463, %6406
  br label %6465

6465:                                             ; preds = %6464
  br label %6466

6466:                                             ; preds = %6465
  br label %6467

6467:                                             ; preds = %6466
  %6468 = load i32, ptr @test_count, align 4, !tbaa !5
  %6469 = add nsw i32 %6468, 1
  store i32 %6469, ptr @test_count, align 4, !tbaa !5
  %6470 = load ptr, ptr %142, align 8, !tbaa !9
  %6471 = load ptr, ptr %136, align 8, !tbaa !9
  %6472 = call i32 @s2n_connection_set_config(ptr noundef %6470, ptr noundef %6471)
  %6473 = icmp eq i32 %6472, -1
  br i1 %6473, label %6474, label %6527

6474:                                             ; preds = %6467
  br label %6475

6475:                                             ; preds = %6474
  br label %6476

6476:                                             ; preds = %6475
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %6477 = call ptr @__errno_location() #12
  %6478 = load i32, ptr %6477, align 4, !tbaa !5
  store i32 %6478, ptr %144, align 4, !tbaa !5
  %6479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6480 = call i32 @s2n_print_stacktrace(ptr noundef %6479)
  %6481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6482 = trunc i8 %6481 to i1
  br i1 %6482, label %6483, label %6505

6483:                                             ; preds = %6476
  %6484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6485 = call i32 @fileno(ptr noundef %6484) #11
  %6486 = call i32 @isatty(i32 noundef %6485) #11
  %6487 = icmp ne i32 %6486, 0
  br i1 %6487, label %6488, label %6505

6488:                                             ; preds = %6483
  %6489 = load i32, ptr %144, align 4, !tbaa !5
  %6490 = call ptr @__errno_location() #12
  store i32 %6489, ptr %6490, align 4, !tbaa !5
  %6491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6492 = load i32, ptr @test_count, align 4, !tbaa !5
  %6493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6494 = load i32, ptr %6493, align 4, !tbaa !5
  %6495 = call ptr @s2n_strerror(i32 noundef %6494, ptr noundef @.str.25)
  %6496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6497 = load i32, ptr %6496, align 4, !tbaa !5
  %6498 = call ptr @s2n_strerror_debug(i32 noundef %6497, ptr noundef @.str.25)
  %6499 = call ptr @__errno_location() #12
  %6500 = load i32, ptr %6499, align 4, !tbaa !5
  %6501 = call ptr @strerror(i32 noundef %6500) #11
  %6502 = call ptr @__errno_location() #12
  %6503 = load i32, ptr %6502, align 4, !tbaa !5
  %6504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6491, ptr noundef @.str.23, i32 noundef %6492, ptr noundef @.str.81, ptr noundef @.str.22, i32 noundef 343, ptr noundef %6495, ptr noundef %6498, ptr noundef %6501, i32 noundef %6503) #11
  br label %6522

6505:                                             ; preds = %6483, %6476
  %6506 = load i32, ptr %144, align 4, !tbaa !5
  %6507 = call ptr @__errno_location() #12
  store i32 %6506, ptr %6507, align 4, !tbaa !5
  %6508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6509 = load i32, ptr @test_count, align 4, !tbaa !5
  %6510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6511 = load i32, ptr %6510, align 4, !tbaa !5
  %6512 = call ptr @s2n_strerror(i32 noundef %6511, ptr noundef @.str.25)
  %6513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6514 = load i32, ptr %6513, align 4, !tbaa !5
  %6515 = call ptr @s2n_strerror_debug(i32 noundef %6514, ptr noundef @.str.25)
  %6516 = call ptr @__errno_location() #12
  %6517 = load i32, ptr %6516, align 4, !tbaa !5
  %6518 = call ptr @strerror(i32 noundef %6517) #11
  %6519 = call ptr @__errno_location() #12
  %6520 = load i32, ptr %6519, align 4, !tbaa !5
  %6521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6508, ptr noundef @.str.26, i32 noundef %6509, ptr noundef @.str.81, ptr noundef @.str.22, i32 noundef 343, ptr noundef %6512, ptr noundef %6515, ptr noundef %6518, i32 noundef %6520) #11
  br label %6522

6522:                                             ; preds = %6505, %6488
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %6523

6523:                                             ; preds = %6522
  br label %6524

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

6525:                                             ; No predecessors!
  br label %6526

6526:                                             ; preds = %6525
  br label %6527

6527:                                             ; preds = %6526, %6467
  br label %6528

6528:                                             ; preds = %6527
  br label %6529

6529:                                             ; preds = %6528
  %6530 = load ptr, ptr %142, align 8, !tbaa !9
  %6531 = getelementptr inbounds %struct.s2n_connection, ptr %6530, i32 0, i32 23
  store i8 34, ptr %6531, align 4, !tbaa !17
  %6532 = load ptr, ptr %142, align 8, !tbaa !9
  %6533 = getelementptr inbounds %struct.s2n_connection, ptr %6532, i32 0, i32 27
  %6534 = load ptr, ptr %6533, align 8, !tbaa !43
  %6535 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %6534, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %6535, align 8, !tbaa !44
  br label %6536

6536:                                             ; preds = %6529
  %6537 = load i32, ptr @test_count, align 4, !tbaa !5
  %6538 = add nsw i32 %6537, 1
  store i32 %6538, ptr @test_count, align 4, !tbaa !5
  %6539 = load ptr, ptr %142, align 8, !tbaa !9
  %6540 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %6539, i32 noundef 10)
  %6541 = icmp eq i32 %6540, -1
  br i1 %6541, label %6542, label %6595

6542:                                             ; preds = %6536
  br label %6543

6543:                                             ; preds = %6542
  br label %6544

6544:                                             ; preds = %6543
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  %6545 = call ptr @__errno_location() #12
  %6546 = load i32, ptr %6545, align 4, !tbaa !5
  store i32 %6546, ptr %145, align 4, !tbaa !5
  %6547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6548 = call i32 @s2n_print_stacktrace(ptr noundef %6547)
  %6549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6550 = trunc i8 %6549 to i1
  br i1 %6550, label %6551, label %6573

6551:                                             ; preds = %6544
  %6552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6553 = call i32 @fileno(ptr noundef %6552) #11
  %6554 = call i32 @isatty(i32 noundef %6553) #11
  %6555 = icmp ne i32 %6554, 0
  br i1 %6555, label %6556, label %6573

6556:                                             ; preds = %6551
  %6557 = load i32, ptr %145, align 4, !tbaa !5
  %6558 = call ptr @__errno_location() #12
  store i32 %6557, ptr %6558, align 4, !tbaa !5
  %6559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6560 = load i32, ptr @test_count, align 4, !tbaa !5
  %6561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6562 = load i32, ptr %6561, align 4, !tbaa !5
  %6563 = call ptr @s2n_strerror(i32 noundef %6562, ptr noundef @.str.25)
  %6564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6565 = load i32, ptr %6564, align 4, !tbaa !5
  %6566 = call ptr @s2n_strerror_debug(i32 noundef %6565, ptr noundef @.str.25)
  %6567 = call ptr @__errno_location() #12
  %6568 = load i32, ptr %6567, align 4, !tbaa !5
  %6569 = call ptr @strerror(i32 noundef %6568) #11
  %6570 = call ptr @__errno_location() #12
  %6571 = load i32, ptr %6570, align 4, !tbaa !5
  %6572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6559, ptr noundef @.str.23, i32 noundef %6560, ptr noundef @.str.82, ptr noundef @.str.22, i32 noundef 346, ptr noundef %6563, ptr noundef %6566, ptr noundef %6569, i32 noundef %6571) #11
  br label %6590

6573:                                             ; preds = %6551, %6544
  %6574 = load i32, ptr %145, align 4, !tbaa !5
  %6575 = call ptr @__errno_location() #12
  store i32 %6574, ptr %6575, align 4, !tbaa !5
  %6576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6577 = load i32, ptr @test_count, align 4, !tbaa !5
  %6578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6579 = load i32, ptr %6578, align 4, !tbaa !5
  %6580 = call ptr @s2n_strerror(i32 noundef %6579, ptr noundef @.str.25)
  %6581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6582 = load i32, ptr %6581, align 4, !tbaa !5
  %6583 = call ptr @s2n_strerror_debug(i32 noundef %6582, ptr noundef @.str.25)
  %6584 = call ptr @__errno_location() #12
  %6585 = load i32, ptr %6584, align 4, !tbaa !5
  %6586 = call ptr @strerror(i32 noundef %6585) #11
  %6587 = call ptr @__errno_location() #12
  %6588 = load i32, ptr %6587, align 4, !tbaa !5
  %6589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6576, ptr noundef @.str.26, i32 noundef %6577, ptr noundef @.str.82, ptr noundef @.str.22, i32 noundef 346, ptr noundef %6580, ptr noundef %6583, ptr noundef %6586, i32 noundef %6588) #11
  br label %6590

6590:                                             ; preds = %6573, %6556
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #11
  br label %6591

6591:                                             ; preds = %6590
  br label %6592

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

6593:                                             ; No predecessors!
  br label %6594

6594:                                             ; preds = %6593
  br label %6595

6595:                                             ; preds = %6594, %6536
  br label %6596

6596:                                             ; preds = %6595
  br label %6597

6597:                                             ; preds = %6596
  call void @llvm.lifetime.start.p0(i64 65535, ptr %146) #11
  call void @llvm.memset.p0.i64(ptr align 16 %146, i8 0, i64 65535, i1 false)
  br label %6598

6598:                                             ; preds = %6597
  %6599 = load i32, ptr @test_count, align 4, !tbaa !5
  %6600 = add nsw i32 %6599, 1
  store i32 %6600, ptr @test_count, align 4, !tbaa !5
  %6601 = load ptr, ptr %142, align 8, !tbaa !9
  %6602 = getelementptr inbounds [65535 x i8], ptr %146, i64 0, i64 0
  %6603 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef %6601, ptr noundef %6602, i16 noundef zeroext -1)
  %6604 = icmp eq i32 %6603, -1
  br i1 %6604, label %6605, label %6658

6605:                                             ; preds = %6598
  br label %6606

6606:                                             ; preds = %6605
  br label %6607

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

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

6619:                                             ; preds = %6614
  %6620 = load i32, ptr %147, align 4, !tbaa !5
  %6621 = call ptr @__errno_location() #12
  store i32 %6620, ptr %6621, align 4, !tbaa !5
  %6622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6623 = load i32, ptr @test_count, align 4, !tbaa !5
  %6624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6625 = load i32, ptr %6624, align 4, !tbaa !5
  %6626 = call ptr @s2n_strerror(i32 noundef %6625, ptr noundef @.str.25)
  %6627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6628 = load i32, ptr %6627, align 4, !tbaa !5
  %6629 = call ptr @s2n_strerror_debug(i32 noundef %6628, ptr noundef @.str.25)
  %6630 = call ptr @__errno_location() #12
  %6631 = load i32, ptr %6630, align 4, !tbaa !5
  %6632 = call ptr @strerror(i32 noundef %6631) #11
  %6633 = call ptr @__errno_location() #12
  %6634 = load i32, ptr %6633, align 4, !tbaa !5
  %6635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6622, ptr noundef @.str.23, i32 noundef %6623, ptr noundef @.str.83, ptr noundef @.str.22, i32 noundef 351, ptr noundef %6626, ptr noundef %6629, ptr noundef %6632, i32 noundef %6634) #11
  br label %6653

6636:                                             ; preds = %6614, %6607
  %6637 = load i32, ptr %147, align 4, !tbaa !5
  %6638 = call ptr @__errno_location() #12
  store i32 %6637, ptr %6638, align 4, !tbaa !5
  %6639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6640 = load i32, ptr @test_count, align 4, !tbaa !5
  %6641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6642 = load i32, ptr %6641, align 4, !tbaa !5
  %6643 = call ptr @s2n_strerror(i32 noundef %6642, ptr noundef @.str.25)
  %6644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6645 = load i32, ptr %6644, align 4, !tbaa !5
  %6646 = call ptr @s2n_strerror_debug(i32 noundef %6645, ptr noundef @.str.25)
  %6647 = call ptr @__errno_location() #12
  %6648 = load i32, ptr %6647, align 4, !tbaa !5
  %6649 = call ptr @strerror(i32 noundef %6648) #11
  %6650 = call ptr @__errno_location() #12
  %6651 = load i32, ptr %6650, align 4, !tbaa !5
  %6652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6639, ptr noundef @.str.26, i32 noundef %6640, ptr noundef @.str.83, ptr noundef @.str.22, i32 noundef 351, ptr noundef %6643, ptr noundef %6646, ptr noundef %6649, i32 noundef %6651) #11
  br label %6653

6653:                                             ; preds = %6636, %6619
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %6654

6654:                                             ; preds = %6653
  br label %6655

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

6656:                                             ; No predecessors!
  br label %6657

6657:                                             ; preds = %6656
  br label %6658

6658:                                             ; preds = %6657, %6598
  br label %6659

6659:                                             ; preds = %6658
  br label %6660

6660:                                             ; preds = %6659
  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 %6661

6661:                                             ; preds = %6660
  %6662 = load i32, ptr @test_count, align 4, !tbaa !5
  %6663 = add nsw i32 %6662, 1
  store i32 %6663, ptr @test_count, align 4, !tbaa !5
  %6664 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %148, i32 noundef 0)
  %6665 = icmp eq i32 %6664, -1
  br i1 %6665, label %6666, label %6719

6666:                                             ; preds = %6661
  br label %6667

6667:                                             ; preds = %6666
  br label %6668

6668:                                             ; preds = %6667
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %6669 = call ptr @__errno_location() #12
  %6670 = load i32, ptr %6669, align 4, !tbaa !5
  store i32 %6670, ptr %149, align 4, !tbaa !5
  %6671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6672 = call i32 @s2n_print_stacktrace(ptr noundef %6671)
  %6673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6674 = trunc i8 %6673 to i1
  br i1 %6674, label %6675, label %6697

6675:                                             ; preds = %6668
  %6676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6677 = call i32 @fileno(ptr noundef %6676) #11
  %6678 = call i32 @isatty(i32 noundef %6677) #11
  %6679 = icmp ne i32 %6678, 0
  br i1 %6679, label %6680, label %6697

6680:                                             ; preds = %6675
  %6681 = load i32, ptr %149, align 4, !tbaa !5
  %6682 = call ptr @__errno_location() #12
  store i32 %6681, ptr %6682, align 4, !tbaa !5
  %6683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6684 = load i32, ptr @test_count, align 4, !tbaa !5
  %6685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6686 = load i32, ptr %6685, align 4, !tbaa !5
  %6687 = call ptr @s2n_strerror(i32 noundef %6686, ptr noundef @.str.25)
  %6688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6689 = load i32, ptr %6688, align 4, !tbaa !5
  %6690 = call ptr @s2n_strerror_debug(i32 noundef %6689, ptr noundef @.str.25)
  %6691 = call ptr @__errno_location() #12
  %6692 = load i32, ptr %6691, align 4, !tbaa !5
  %6693 = call ptr @strerror(i32 noundef %6692) #11
  %6694 = call ptr @__errno_location() #12
  %6695 = load i32, ptr %6694, align 4, !tbaa !5
  %6696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6683, ptr noundef @.str.23, i32 noundef %6684, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 354, ptr noundef %6687, ptr noundef %6690, ptr noundef %6693, i32 noundef %6695) #11
  br label %6714

6697:                                             ; preds = %6675, %6668
  %6698 = load i32, ptr %149, align 4, !tbaa !5
  %6699 = call ptr @__errno_location() #12
  store i32 %6698, ptr %6699, align 4, !tbaa !5
  %6700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6701 = load i32, ptr @test_count, align 4, !tbaa !5
  %6702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6703 = load i32, ptr %6702, align 4, !tbaa !5
  %6704 = call ptr @s2n_strerror(i32 noundef %6703, ptr noundef @.str.25)
  %6705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6706 = load i32, ptr %6705, align 4, !tbaa !5
  %6707 = call ptr @s2n_strerror_debug(i32 noundef %6706, ptr noundef @.str.25)
  %6708 = call ptr @__errno_location() #12
  %6709 = load i32, ptr %6708, align 4, !tbaa !5
  %6710 = call ptr @strerror(i32 noundef %6709) #11
  %6711 = call ptr @__errno_location() #12
  %6712 = load i32, ptr %6711, align 4, !tbaa !5
  %6713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6700, ptr noundef @.str.26, i32 noundef %6701, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 354, ptr noundef %6704, ptr noundef %6707, ptr noundef %6710, i32 noundef %6712) #11
  br label %6714

6714:                                             ; preds = %6697, %6680
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %6715

6715:                                             ; preds = %6714
  br label %6716

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

6717:                                             ; No predecessors!
  br label %6718

6718:                                             ; preds = %6717
  br label %6719

6719:                                             ; preds = %6718, %6661
  br label %6720

6720:                                             ; preds = %6719
  br label %6721

6721:                                             ; preds = %6720
  br label %6722

6722:                                             ; preds = %6721
  br label %6723

6723:                                             ; preds = %6722
  br label %6724

6724:                                             ; preds = %6723
  %6725 = load i32, ptr @test_count, align 4, !tbaa !5
  %6726 = add nsw i32 %6725, 1
  store i32 %6726, ptr @test_count, align 4, !tbaa !5
  %6727 = load ptr, ptr %142, align 8, !tbaa !9
  %6728 = call i32 @s2n_tls13_server_nst_write(ptr noundef %6727, ptr noundef %148)
  %6729 = getelementptr inbounds %struct.s2n_result, ptr %150, i32 0, i32 0
  store i32 %6728, ptr %6729, align 4
  %6730 = getelementptr inbounds %struct.s2n_result, ptr %150, i32 0, i32 0
  %6731 = load i32, ptr %6730, align 4
  %6732 = call zeroext i1 @s2n_result_is_error(i32 %6731)
  br i1 %6732, label %6786, label %6733

6733:                                             ; preds = %6724
  br label %6734

6734:                                             ; preds = %6733
  br label %6735

6735:                                             ; preds = %6734
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %6736 = call ptr @__errno_location() #12
  %6737 = load i32, ptr %6736, align 4, !tbaa !5
  store i32 %6737, ptr %151, align 4, !tbaa !5
  %6738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6739 = call i32 @s2n_print_stacktrace(ptr noundef %6738)
  %6740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6741 = trunc i8 %6740 to i1
  br i1 %6741, label %6742, label %6764

6742:                                             ; preds = %6735
  %6743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6744 = call i32 @fileno(ptr noundef %6743) #11
  %6745 = call i32 @isatty(i32 noundef %6744) #11
  %6746 = icmp ne i32 %6745, 0
  br i1 %6746, label %6747, label %6764

6747:                                             ; preds = %6742
  %6748 = load i32, ptr %151, align 4, !tbaa !5
  %6749 = call ptr @__errno_location() #12
  store i32 %6748, ptr %6749, align 4, !tbaa !5
  %6750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6751 = load i32, ptr @test_count, align 4, !tbaa !5
  %6752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6753 = load i32, ptr %6752, align 4, !tbaa !5
  %6754 = call ptr @s2n_strerror(i32 noundef %6753, ptr noundef @.str.25)
  %6755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6756 = load i32, ptr %6755, align 4, !tbaa !5
  %6757 = call ptr @s2n_strerror_debug(i32 noundef %6756, ptr noundef @.str.25)
  %6758 = call ptr @__errno_location() #12
  %6759 = load i32, ptr %6758, align 4, !tbaa !5
  %6760 = call ptr @strerror(i32 noundef %6759) #11
  %6761 = call ptr @__errno_location() #12
  %6762 = load i32, ptr %6761, align 4, !tbaa !5
  %6763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6750, ptr noundef @.str.23, i32 noundef %6751, ptr noundef @.str.85, ptr noundef @.str.22, i32 noundef 356, ptr noundef %6754, ptr noundef %6757, ptr noundef %6760, i32 noundef %6762) #11
  br label %6781

6764:                                             ; preds = %6742, %6735
  %6765 = load i32, ptr %151, align 4, !tbaa !5
  %6766 = call ptr @__errno_location() #12
  store i32 %6765, ptr %6766, align 4, !tbaa !5
  %6767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6768 = load i32, ptr @test_count, align 4, !tbaa !5
  %6769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6770 = load i32, ptr %6769, align 4, !tbaa !5
  %6771 = call ptr @s2n_strerror(i32 noundef %6770, ptr noundef @.str.25)
  %6772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6773 = load i32, ptr %6772, align 4, !tbaa !5
  %6774 = call ptr @s2n_strerror_debug(i32 noundef %6773, ptr noundef @.str.25)
  %6775 = call ptr @__errno_location() #12
  %6776 = load i32, ptr %6775, align 4, !tbaa !5
  %6777 = call ptr @strerror(i32 noundef %6776) #11
  %6778 = call ptr @__errno_location() #12
  %6779 = load i32, ptr %6778, align 4, !tbaa !5
  %6780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6767, ptr noundef @.str.26, i32 noundef %6768, ptr noundef @.str.85, ptr noundef @.str.22, i32 noundef 356, ptr noundef %6771, ptr noundef %6774, ptr noundef %6777, i32 noundef %6779) #11
  br label %6781

6781:                                             ; preds = %6764, %6747
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %6782

6782:                                             ; preds = %6781
  br label %6783

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

6784:                                             ; No predecessors!
  br label %6785

6785:                                             ; preds = %6784
  br label %6786

6786:                                             ; preds = %6785, %6724
  br label %6787

6787:                                             ; preds = %6786
  br label %6788

6788:                                             ; preds = %6787
  br label %6789

6789:                                             ; preds = %6788
  %6790 = load i32, ptr @test_count, align 4, !tbaa !5
  %6791 = add nsw i32 %6790, 1
  store i32 %6791, ptr @test_count, align 4, !tbaa !5
  %6792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6793 = load i32, ptr %6792, align 4, !tbaa !5
  %6794 = icmp eq i32 %6793, 402653220
  br i1 %6794, label %6848, label %6795

6795:                                             ; preds = %6789
  br label %6796

6796:                                             ; preds = %6795
  br label %6797

6797:                                             ; preds = %6796
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #11
  %6798 = call ptr @__errno_location() #12
  %6799 = load i32, ptr %6798, align 4, !tbaa !5
  store i32 %6799, ptr %152, align 4, !tbaa !5
  %6800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6801 = call i32 @s2n_print_stacktrace(ptr noundef %6800)
  %6802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6803 = trunc i8 %6802 to i1
  br i1 %6803, label %6804, label %6826

6804:                                             ; preds = %6797
  %6805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6806 = call i32 @fileno(ptr noundef %6805) #11
  %6807 = call i32 @isatty(i32 noundef %6806) #11
  %6808 = icmp ne i32 %6807, 0
  br i1 %6808, label %6809, label %6826

6809:                                             ; preds = %6804
  %6810 = load i32, ptr %152, align 4, !tbaa !5
  %6811 = call ptr @__errno_location() #12
  store i32 %6810, ptr %6811, align 4, !tbaa !5
  %6812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6813 = load i32, ptr @test_count, align 4, !tbaa !5
  %6814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6815 = load i32, ptr %6814, align 4, !tbaa !5
  %6816 = call ptr @s2n_strerror(i32 noundef %6815, ptr noundef @.str.25)
  %6817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6818 = load i32, ptr %6817, align 4, !tbaa !5
  %6819 = call ptr @s2n_strerror_debug(i32 noundef %6818, ptr noundef @.str.25)
  %6820 = call ptr @__errno_location() #12
  %6821 = load i32, ptr %6820, align 4, !tbaa !5
  %6822 = call ptr @strerror(i32 noundef %6821) #11
  %6823 = call ptr @__errno_location() #12
  %6824 = load i32, ptr %6823, align 4, !tbaa !5
  %6825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6812, ptr noundef @.str.23, i32 noundef %6813, ptr noundef @.str.86, ptr noundef @.str.22, i32 noundef 356, ptr noundef %6816, ptr noundef %6819, ptr noundef %6822, i32 noundef %6824) #11
  br label %6843

6826:                                             ; preds = %6804, %6797
  %6827 = load i32, ptr %152, align 4, !tbaa !5
  %6828 = call ptr @__errno_location() #12
  store i32 %6827, ptr %6828, align 4, !tbaa !5
  %6829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6830 = load i32, ptr @test_count, align 4, !tbaa !5
  %6831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6832 = load i32, ptr %6831, align 4, !tbaa !5
  %6833 = call ptr @s2n_strerror(i32 noundef %6832, ptr noundef @.str.25)
  %6834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6835 = load i32, ptr %6834, align 4, !tbaa !5
  %6836 = call ptr @s2n_strerror_debug(i32 noundef %6835, ptr noundef @.str.25)
  %6837 = call ptr @__errno_location() #12
  %6838 = load i32, ptr %6837, align 4, !tbaa !5
  %6839 = call ptr @strerror(i32 noundef %6838) #11
  %6840 = call ptr @__errno_location() #12
  %6841 = load i32, ptr %6840, align 4, !tbaa !5
  %6842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6829, ptr noundef @.str.26, i32 noundef %6830, ptr noundef @.str.86, ptr noundef @.str.22, i32 noundef 356, ptr noundef %6833, ptr noundef %6836, ptr noundef %6839, i32 noundef %6841) #11
  br label %6843

6843:                                             ; preds = %6826, %6809
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %6844

6844:                                             ; preds = %6843
  br label %6845

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

6846:                                             ; No predecessors!
  br label %6847

6847:                                             ; preds = %6846
  br label %6848

6848:                                             ; preds = %6847, %6789
  br label %6849

6849:                                             ; preds = %6848
  br label %6850

6850:                                             ; preds = %6849
  br label %6851

6851:                                             ; preds = %6850
  %6852 = load i32, ptr @test_count, align 4, !tbaa !5
  %6853 = add nsw i32 %6852, 1
  store i32 %6853, ptr @test_count, align 4, !tbaa !5
  %6854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6855 = load i32, ptr %6854, align 4, !tbaa !5
  %6856 = call ptr @s2n_strerror_debug(i32 noundef %6855, ptr noundef @.str.25)
  %6857 = icmp eq ptr %6856, null
  br i1 %6857, label %6858, label %6911

6858:                                             ; preds = %6851
  br label %6859

6859:                                             ; preds = %6858
  br label %6860

6860:                                             ; preds = %6859
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %6861 = call ptr @__errno_location() #12
  %6862 = load i32, ptr %6861, align 4, !tbaa !5
  store i32 %6862, ptr %153, align 4, !tbaa !5
  %6863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6864 = call i32 @s2n_print_stacktrace(ptr noundef %6863)
  %6865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6866 = trunc i8 %6865 to i1
  br i1 %6866, label %6867, label %6889

6867:                                             ; preds = %6860
  %6868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6869 = call i32 @fileno(ptr noundef %6868) #11
  %6870 = call i32 @isatty(i32 noundef %6869) #11
  %6871 = icmp ne i32 %6870, 0
  br i1 %6871, label %6872, label %6889

6872:                                             ; preds = %6867
  %6873 = load i32, ptr %153, align 4, !tbaa !5
  %6874 = call ptr @__errno_location() #12
  store i32 %6873, ptr %6874, align 4, !tbaa !5
  %6875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6876 = load i32, ptr @test_count, align 4, !tbaa !5
  %6877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6878 = load i32, ptr %6877, align 4, !tbaa !5
  %6879 = call ptr @s2n_strerror(i32 noundef %6878, ptr noundef @.str.25)
  %6880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6881 = load i32, ptr %6880, align 4, !tbaa !5
  %6882 = call ptr @s2n_strerror_debug(i32 noundef %6881, ptr noundef @.str.25)
  %6883 = call ptr @__errno_location() #12
  %6884 = load i32, ptr %6883, align 4, !tbaa !5
  %6885 = call ptr @strerror(i32 noundef %6884) #11
  %6886 = call ptr @__errno_location() #12
  %6887 = load i32, ptr %6886, align 4, !tbaa !5
  %6888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6875, ptr noundef @.str.23, i32 noundef %6876, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 356, ptr noundef %6879, ptr noundef %6882, ptr noundef %6885, i32 noundef %6887) #11
  br label %6906

6889:                                             ; preds = %6867, %6860
  %6890 = load i32, ptr %153, align 4, !tbaa !5
  %6891 = call ptr @__errno_location() #12
  store i32 %6890, ptr %6891, align 4, !tbaa !5
  %6892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6893 = load i32, ptr @test_count, align 4, !tbaa !5
  %6894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6895 = load i32, ptr %6894, align 4, !tbaa !5
  %6896 = call ptr @s2n_strerror(i32 noundef %6895, ptr noundef @.str.25)
  %6897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6898 = load i32, ptr %6897, align 4, !tbaa !5
  %6899 = call ptr @s2n_strerror_debug(i32 noundef %6898, ptr noundef @.str.25)
  %6900 = call ptr @__errno_location() #12
  %6901 = load i32, ptr %6900, align 4, !tbaa !5
  %6902 = call ptr @strerror(i32 noundef %6901) #11
  %6903 = call ptr @__errno_location() #12
  %6904 = load i32, ptr %6903, align 4, !tbaa !5
  %6905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6892, ptr noundef @.str.26, i32 noundef %6893, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 356, ptr noundef %6896, ptr noundef %6899, ptr noundef %6902, i32 noundef %6904) #11
  br label %6906

6906:                                             ; preds = %6889, %6872
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %6907

6907:                                             ; preds = %6906
  br label %6908

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

6909:                                             ; No predecessors!
  br label %6910

6910:                                             ; preds = %6909
  br label %6911

6911:                                             ; preds = %6910, %6851
  br label %6912

6912:                                             ; preds = %6911
  br label %6913

6913:                                             ; preds = %6912
  br label %6914

6914:                                             ; preds = %6913
  br label %6915

6915:                                             ; preds = %6914
  br label %6916

6916:                                             ; preds = %6915
  %6917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6917, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6918 = call ptr @__errno_location() #12
  store i32 0, ptr %6918, align 4, !tbaa !5
  br label %6919

6919:                                             ; preds = %6916
  br label %6920

6920:                                             ; preds = %6919
  br label %6921

6921:                                             ; preds = %6920
  br label %6922

6922:                                             ; preds = %6921
  br label %6923

6923:                                             ; preds = %6922
  %6924 = load i32, ptr @test_count, align 4, !tbaa !5
  %6925 = add nsw i32 %6924, 1
  store i32 %6925, ptr @test_count, align 4, !tbaa !5
  %6926 = load ptr, ptr %142, align 8, !tbaa !9
  %6927 = call i32 @s2n_connection_free(ptr noundef %6926)
  %6928 = icmp eq i32 %6927, -1
  br i1 %6928, label %6929, label %6982

6929:                                             ; preds = %6923
  br label %6930

6930:                                             ; preds = %6929
  br label %6931

6931:                                             ; preds = %6930
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %6932 = call ptr @__errno_location() #12
  %6933 = load i32, ptr %6932, align 4, !tbaa !5
  store i32 %6933, ptr %154, align 4, !tbaa !5
  %6934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6935 = call i32 @s2n_print_stacktrace(ptr noundef %6934)
  %6936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6937 = trunc i8 %6936 to i1
  br i1 %6937, label %6938, label %6960

6938:                                             ; preds = %6931
  %6939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6940 = call i32 @fileno(ptr noundef %6939) #11
  %6941 = call i32 @isatty(i32 noundef %6940) #11
  %6942 = icmp ne i32 %6941, 0
  br i1 %6942, label %6943, label %6960

6943:                                             ; preds = %6938
  %6944 = load i32, ptr %154, align 4, !tbaa !5
  %6945 = call ptr @__errno_location() #12
  store i32 %6944, ptr %6945, align 4, !tbaa !5
  %6946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6947 = load i32, ptr @test_count, align 4, !tbaa !5
  %6948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6949 = load i32, ptr %6948, align 4, !tbaa !5
  %6950 = call ptr @s2n_strerror(i32 noundef %6949, ptr noundef @.str.25)
  %6951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6952 = load i32, ptr %6951, align 4, !tbaa !5
  %6953 = call ptr @s2n_strerror_debug(i32 noundef %6952, ptr noundef @.str.25)
  %6954 = call ptr @__errno_location() #12
  %6955 = load i32, ptr %6954, align 4, !tbaa !5
  %6956 = call ptr @strerror(i32 noundef %6955) #11
  %6957 = call ptr @__errno_location() #12
  %6958 = load i32, ptr %6957, align 4, !tbaa !5
  %6959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6946, ptr noundef @.str.23, i32 noundef %6947, ptr noundef @.str.87, ptr noundef @.str.22, i32 noundef 358, ptr noundef %6950, ptr noundef %6953, ptr noundef %6956, i32 noundef %6958) #11
  br label %6977

6960:                                             ; preds = %6938, %6931
  %6961 = load i32, ptr %154, align 4, !tbaa !5
  %6962 = call ptr @__errno_location() #12
  store i32 %6961, ptr %6962, align 4, !tbaa !5
  %6963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6964 = load i32, ptr @test_count, align 4, !tbaa !5
  %6965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6966 = load i32, ptr %6965, align 4, !tbaa !5
  %6967 = call ptr @s2n_strerror(i32 noundef %6966, ptr noundef @.str.25)
  %6968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6969 = load i32, ptr %6968, align 4, !tbaa !5
  %6970 = call ptr @s2n_strerror_debug(i32 noundef %6969, ptr noundef @.str.25)
  %6971 = call ptr @__errno_location() #12
  %6972 = load i32, ptr %6971, align 4, !tbaa !5
  %6973 = call ptr @strerror(i32 noundef %6972) #11
  %6974 = call ptr @__errno_location() #12
  %6975 = load i32, ptr %6974, align 4, !tbaa !5
  %6976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6963, ptr noundef @.str.26, i32 noundef %6964, ptr noundef @.str.87, ptr noundef @.str.22, i32 noundef 358, ptr noundef %6967, ptr noundef %6970, ptr noundef %6973, i32 noundef %6975) #11
  br label %6977

6977:                                             ; preds = %6960, %6943
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %6978

6978:                                             ; preds = %6977
  br label %6979

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

6980:                                             ; No predecessors!
  br label %6981

6981:                                             ; preds = %6980
  br label %6982

6982:                                             ; preds = %6981, %6923
  br label %6983

6983:                                             ; preds = %6982
  br label %6984

6984:                                             ; preds = %6983
  br label %6985

6985:                                             ; preds = %6984
  %6986 = load i32, ptr @test_count, align 4, !tbaa !5
  %6987 = add nsw i32 %6986, 1
  store i32 %6987, ptr @test_count, align 4, !tbaa !5
  %6988 = load ptr, ptr %136, align 8, !tbaa !9
  %6989 = call i32 @s2n_config_free(ptr noundef %6988)
  %6990 = icmp eq i32 %6989, -1
  br i1 %6990, label %6991, label %7044

6991:                                             ; preds = %6985
  br label %6992

6992:                                             ; preds = %6991
  br label %6993

6993:                                             ; preds = %6992
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %6994 = call ptr @__errno_location() #12
  %6995 = load i32, ptr %6994, align 4, !tbaa !5
  store i32 %6995, ptr %155, align 4, !tbaa !5
  %6996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6997 = call i32 @s2n_print_stacktrace(ptr noundef %6996)
  %6998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6999 = trunc i8 %6998 to i1
  br i1 %6999, label %7000, label %7022

7000:                                             ; preds = %6993
  %7001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7002 = call i32 @fileno(ptr noundef %7001) #11
  %7003 = call i32 @isatty(i32 noundef %7002) #11
  %7004 = icmp ne i32 %7003, 0
  br i1 %7004, label %7005, label %7022

7005:                                             ; preds = %7000
  %7006 = load i32, ptr %155, align 4, !tbaa !5
  %7007 = call ptr @__errno_location() #12
  store i32 %7006, ptr %7007, align 4, !tbaa !5
  %7008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7009 = load i32, ptr @test_count, align 4, !tbaa !5
  %7010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7011 = load i32, ptr %7010, align 4, !tbaa !5
  %7012 = call ptr @s2n_strerror(i32 noundef %7011, ptr noundef @.str.25)
  %7013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7014 = load i32, ptr %7013, align 4, !tbaa !5
  %7015 = call ptr @s2n_strerror_debug(i32 noundef %7014, ptr noundef @.str.25)
  %7016 = call ptr @__errno_location() #12
  %7017 = load i32, ptr %7016, align 4, !tbaa !5
  %7018 = call ptr @strerror(i32 noundef %7017) #11
  %7019 = call ptr @__errno_location() #12
  %7020 = load i32, ptr %7019, align 4, !tbaa !5
  %7021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7008, ptr noundef @.str.23, i32 noundef %7009, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 359, ptr noundef %7012, ptr noundef %7015, ptr noundef %7018, i32 noundef %7020) #11
  br label %7039

7022:                                             ; preds = %7000, %6993
  %7023 = load i32, ptr %155, align 4, !tbaa !5
  %7024 = call ptr @__errno_location() #12
  store i32 %7023, ptr %7024, align 4, !tbaa !5
  %7025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7026 = load i32, ptr @test_count, align 4, !tbaa !5
  %7027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7028 = load i32, ptr %7027, align 4, !tbaa !5
  %7029 = call ptr @s2n_strerror(i32 noundef %7028, ptr noundef @.str.25)
  %7030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7031 = load i32, ptr %7030, align 4, !tbaa !5
  %7032 = call ptr @s2n_strerror_debug(i32 noundef %7031, ptr noundef @.str.25)
  %7033 = call ptr @__errno_location() #12
  %7034 = load i32, ptr %7033, align 4, !tbaa !5
  %7035 = call ptr @strerror(i32 noundef %7034) #11
  %7036 = call ptr @__errno_location() #12
  %7037 = load i32, ptr %7036, align 4, !tbaa !5
  %7038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7025, ptr noundef @.str.26, i32 noundef %7026, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 359, ptr noundef %7029, ptr noundef %7032, ptr noundef %7035, i32 noundef %7037) #11
  br label %7039

7039:                                             ; preds = %7022, %7005
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %7040

7040:                                             ; preds = %7039
  br label %7041

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

7042:                                             ; No predecessors!
  br label %7043

7043:                                             ; preds = %7042
  br label %7044

7044:                                             ; preds = %7043, %6985
  br label %7045

7045:                                             ; preds = %7044
  br label %7046

7046:                                             ; preds = %7045
  %7047 = call i32 @s2n_stuffer_free(ptr noundef %148)
  call void @llvm.lifetime.end.p0(i64 40, ptr %148) #11
  call void @llvm.lifetime.end.p0(i64 65535, ptr %146) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  store i32 0, ptr %156, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %157) #11
  %7048 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %7048, ptr %157, align 8, !tbaa !9
  br label %7049

7049:                                             ; preds = %7046
  %7050 = load i32, ptr @test_count, align 4, !tbaa !5
  %7051 = add nsw i32 %7050, 1
  store i32 %7051, ptr @test_count, align 4, !tbaa !5
  %7052 = load ptr, ptr %157, align 8, !tbaa !9
  %7053 = icmp eq ptr %7052, null
  br i1 %7053, label %7054, label %7107

7054:                                             ; preds = %7049
  br label %7055

7055:                                             ; preds = %7054
  br label %7056

7056:                                             ; preds = %7055
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %7057 = call ptr @__errno_location() #12
  %7058 = load i32, ptr %7057, align 4, !tbaa !5
  store i32 %7058, ptr %158, align 4, !tbaa !5
  %7059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7060 = call i32 @s2n_print_stacktrace(ptr noundef %7059)
  %7061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7062 = trunc i8 %7061 to i1
  br i1 %7062, label %7063, label %7085

7063:                                             ; preds = %7056
  %7064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7065 = call i32 @fileno(ptr noundef %7064) #11
  %7066 = call i32 @isatty(i32 noundef %7065) #11
  %7067 = icmp ne i32 %7066, 0
  br i1 %7067, label %7068, label %7085

7068:                                             ; preds = %7063
  %7069 = load i32, ptr %158, align 4, !tbaa !5
  %7070 = call ptr @__errno_location() #12
  store i32 %7069, ptr %7070, align 4, !tbaa !5
  %7071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7072 = load i32, ptr @test_count, align 4, !tbaa !5
  %7073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7074 = load i32, ptr %7073, align 4, !tbaa !5
  %7075 = call ptr @s2n_strerror(i32 noundef %7074, ptr noundef @.str.25)
  %7076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7077 = load i32, ptr %7076, align 4, !tbaa !5
  %7078 = call ptr @s2n_strerror_debug(i32 noundef %7077, ptr noundef @.str.25)
  %7079 = call ptr @__errno_location() #12
  %7080 = load i32, ptr %7079, align 4, !tbaa !5
  %7081 = call ptr @strerror(i32 noundef %7080) #11
  %7082 = call ptr @__errno_location() #12
  %7083 = load i32, ptr %7082, align 4, !tbaa !5
  %7084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7071, ptr noundef @.str.23, i32 noundef %7072, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 368, ptr noundef %7075, ptr noundef %7078, ptr noundef %7081, i32 noundef %7083) #11
  br label %7102

7085:                                             ; preds = %7063, %7056
  %7086 = load i32, ptr %158, align 4, !tbaa !5
  %7087 = call ptr @__errno_location() #12
  store i32 %7086, ptr %7087, align 4, !tbaa !5
  %7088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7089 = load i32, ptr @test_count, align 4, !tbaa !5
  %7090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7091 = load i32, ptr %7090, align 4, !tbaa !5
  %7092 = call ptr @s2n_strerror(i32 noundef %7091, ptr noundef @.str.25)
  %7093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7094 = load i32, ptr %7093, align 4, !tbaa !5
  %7095 = call ptr @s2n_strerror_debug(i32 noundef %7094, ptr noundef @.str.25)
  %7096 = call ptr @__errno_location() #12
  %7097 = load i32, ptr %7096, align 4, !tbaa !5
  %7098 = call ptr @strerror(i32 noundef %7097) #11
  %7099 = call ptr @__errno_location() #12
  %7100 = load i32, ptr %7099, align 4, !tbaa !5
  %7101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7088, ptr noundef @.str.26, i32 noundef %7089, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 368, ptr noundef %7092, ptr noundef %7095, ptr noundef %7098, i32 noundef %7100) #11
  br label %7102

7102:                                             ; preds = %7085, %7068
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %7103

7103:                                             ; preds = %7102
  br label %7104

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

7105:                                             ; No predecessors!
  br label %7106

7106:                                             ; preds = %7105
  br label %7107

7107:                                             ; preds = %7106, %7049
  br label %7108

7108:                                             ; preds = %7107
  br label %7109

7109:                                             ; preds = %7108
  call void @llvm.lifetime.start.p0(i64 8, ptr %159) #11
  %7110 = call ptr @s2n_config_new()
  store ptr %7110, ptr %159, align 8, !tbaa !9
  br label %7111

7111:                                             ; preds = %7109
  %7112 = load i32, ptr @test_count, align 4, !tbaa !5
  %7113 = add nsw i32 %7112, 1
  store i32 %7113, ptr @test_count, align 4, !tbaa !5
  %7114 = load ptr, ptr %159, align 8, !tbaa !9
  %7115 = icmp eq ptr %7114, null
  br i1 %7115, label %7116, label %7169

7116:                                             ; preds = %7111
  br label %7117

7117:                                             ; preds = %7116
  br label %7118

7118:                                             ; preds = %7117
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #11
  %7119 = call ptr @__errno_location() #12
  %7120 = load i32, ptr %7119, align 4, !tbaa !5
  store i32 %7120, ptr %160, align 4, !tbaa !5
  %7121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7122 = call i32 @s2n_print_stacktrace(ptr noundef %7121)
  %7123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7124 = trunc i8 %7123 to i1
  br i1 %7124, label %7125, label %7147

7125:                                             ; preds = %7118
  %7126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7127 = call i32 @fileno(ptr noundef %7126) #11
  %7128 = call i32 @isatty(i32 noundef %7127) #11
  %7129 = icmp ne i32 %7128, 0
  br i1 %7129, label %7130, label %7147

7130:                                             ; preds = %7125
  %7131 = load i32, ptr %160, align 4, !tbaa !5
  %7132 = call ptr @__errno_location() #12
  store i32 %7131, ptr %7132, align 4, !tbaa !5
  %7133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7134 = load i32, ptr @test_count, align 4, !tbaa !5
  %7135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7136 = load i32, ptr %7135, align 4, !tbaa !5
  %7137 = call ptr @s2n_strerror(i32 noundef %7136, ptr noundef @.str.25)
  %7138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7139 = load i32, ptr %7138, align 4, !tbaa !5
  %7140 = call ptr @s2n_strerror_debug(i32 noundef %7139, ptr noundef @.str.25)
  %7141 = call ptr @__errno_location() #12
  %7142 = load i32, ptr %7141, align 4, !tbaa !5
  %7143 = call ptr @strerror(i32 noundef %7142) #11
  %7144 = call ptr @__errno_location() #12
  %7145 = load i32, ptr %7144, align 4, !tbaa !5
  %7146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7133, ptr noundef @.str.23, i32 noundef %7134, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 371, ptr noundef %7137, ptr noundef %7140, ptr noundef %7143, i32 noundef %7145) #11
  br label %7164

7147:                                             ; preds = %7125, %7118
  %7148 = load i32, ptr %160, align 4, !tbaa !5
  %7149 = call ptr @__errno_location() #12
  store i32 %7148, ptr %7149, align 4, !tbaa !5
  %7150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7151 = load i32, ptr @test_count, align 4, !tbaa !5
  %7152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7153 = load i32, ptr %7152, align 4, !tbaa !5
  %7154 = call ptr @s2n_strerror(i32 noundef %7153, ptr noundef @.str.25)
  %7155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7156 = load i32, ptr %7155, align 4, !tbaa !5
  %7157 = call ptr @s2n_strerror_debug(i32 noundef %7156, ptr noundef @.str.25)
  %7158 = call ptr @__errno_location() #12
  %7159 = load i32, ptr %7158, align 4, !tbaa !5
  %7160 = call ptr @strerror(i32 noundef %7159) #11
  %7161 = call ptr @__errno_location() #12
  %7162 = load i32, ptr %7161, align 4, !tbaa !5
  %7163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7150, ptr noundef @.str.26, i32 noundef %7151, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 371, ptr noundef %7154, ptr noundef %7157, ptr noundef %7160, i32 noundef %7162) #11
  br label %7164

7164:                                             ; preds = %7147, %7130
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #11
  br label %7165

7165:                                             ; preds = %7164
  br label %7166

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

7167:                                             ; No predecessors!
  br label %7168

7168:                                             ; preds = %7167
  br label %7169

7169:                                             ; preds = %7168, %7111
  br label %7170

7170:                                             ; preds = %7169
  br label %7171

7171:                                             ; preds = %7170
  br label %7172

7172:                                             ; preds = %7171
  %7173 = load i32, ptr @test_count, align 4, !tbaa !5
  %7174 = add nsw i32 %7173, 1
  store i32 %7174, ptr @test_count, align 4, !tbaa !5
  %7175 = load ptr, ptr %157, align 8, !tbaa !9
  %7176 = load ptr, ptr %159, align 8, !tbaa !9
  %7177 = call i32 @s2n_connection_set_config(ptr noundef %7175, ptr noundef %7176)
  %7178 = icmp eq i32 %7177, -1
  br i1 %7178, label %7179, label %7232

7179:                                             ; preds = %7172
  br label %7180

7180:                                             ; preds = %7179
  br label %7181

7181:                                             ; preds = %7180
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %7182 = call ptr @__errno_location() #12
  %7183 = load i32, ptr %7182, align 4, !tbaa !5
  store i32 %7183, ptr %161, align 4, !tbaa !5
  %7184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7185 = call i32 @s2n_print_stacktrace(ptr noundef %7184)
  %7186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7187 = trunc i8 %7186 to i1
  br i1 %7187, label %7188, label %7210

7188:                                             ; preds = %7181
  %7189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7190 = call i32 @fileno(ptr noundef %7189) #11
  %7191 = call i32 @isatty(i32 noundef %7190) #11
  %7192 = icmp ne i32 %7191, 0
  br i1 %7192, label %7193, label %7210

7193:                                             ; preds = %7188
  %7194 = load i32, ptr %161, align 4, !tbaa !5
  %7195 = call ptr @__errno_location() #12
  store i32 %7194, ptr %7195, align 4, !tbaa !5
  %7196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7197 = load i32, ptr @test_count, align 4, !tbaa !5
  %7198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7199 = load i32, ptr %7198, align 4, !tbaa !5
  %7200 = call ptr @s2n_strerror(i32 noundef %7199, ptr noundef @.str.25)
  %7201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7202 = load i32, ptr %7201, align 4, !tbaa !5
  %7203 = call ptr @s2n_strerror_debug(i32 noundef %7202, ptr noundef @.str.25)
  %7204 = call ptr @__errno_location() #12
  %7205 = load i32, ptr %7204, align 4, !tbaa !5
  %7206 = call ptr @strerror(i32 noundef %7205) #11
  %7207 = call ptr @__errno_location() #12
  %7208 = load i32, ptr %7207, align 4, !tbaa !5
  %7209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7196, ptr noundef @.str.23, i32 noundef %7197, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 372, ptr noundef %7200, ptr noundef %7203, ptr noundef %7206, i32 noundef %7208) #11
  br label %7227

7210:                                             ; preds = %7188, %7181
  %7211 = load i32, ptr %161, align 4, !tbaa !5
  %7212 = call ptr @__errno_location() #12
  store i32 %7211, ptr %7212, align 4, !tbaa !5
  %7213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7214 = load i32, ptr @test_count, align 4, !tbaa !5
  %7215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7216 = load i32, ptr %7215, align 4, !tbaa !5
  %7217 = call ptr @s2n_strerror(i32 noundef %7216, ptr noundef @.str.25)
  %7218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7219 = load i32, ptr %7218, align 4, !tbaa !5
  %7220 = call ptr @s2n_strerror_debug(i32 noundef %7219, ptr noundef @.str.25)
  %7221 = call ptr @__errno_location() #12
  %7222 = load i32, ptr %7221, align 4, !tbaa !5
  %7223 = call ptr @strerror(i32 noundef %7222) #11
  %7224 = call ptr @__errno_location() #12
  %7225 = load i32, ptr %7224, align 4, !tbaa !5
  %7226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7213, ptr noundef @.str.26, i32 noundef %7214, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 372, ptr noundef %7217, ptr noundef %7220, ptr noundef %7223, i32 noundef %7225) #11
  br label %7227

7227:                                             ; preds = %7210, %7193
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %7228

7228:                                             ; preds = %7227
  br label %7229

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

7230:                                             ; No predecessors!
  br label %7231

7231:                                             ; preds = %7230
  br label %7232

7232:                                             ; preds = %7231, %7172
  br label %7233

7233:                                             ; preds = %7232
  br label %7234

7234:                                             ; preds = %7233
  %7235 = load ptr, ptr %159, align 8, !tbaa !9
  %7236 = getelementptr inbounds %struct.s2n_config, ptr %7235, i32 0, i32 16
  store i64 3600000000000, ptr %7236, align 8, !tbaa !55
  %7237 = load ptr, ptr %159, align 8, !tbaa !9
  %7238 = getelementptr inbounds %struct.s2n_config, ptr %7237, i32 0, i32 17
  store i64 3600000000000, ptr %7238, align 8, !tbaa !59
  %7239 = load ptr, ptr %159, align 8, !tbaa !9
  %7240 = getelementptr inbounds %struct.s2n_config, ptr %7239, i32 0, i32 14
  store i64 10800000000000, ptr %7240, align 8, !tbaa !60
  store i64 1800000000000, ptr @mock_current_time, align 8, !tbaa !15
  br label %7241

7241:                                             ; preds = %7234
  %7242 = load i32, ptr @test_count, align 4, !tbaa !5
  %7243 = add nsw i32 %7242, 1
  store i32 %7243, ptr @test_count, align 4, !tbaa !5
  %7244 = load ptr, ptr %159, align 8, !tbaa !9
  %7245 = call i32 @s2n_config_set_wall_clock(ptr noundef %7244, ptr noundef @mock_time, ptr noundef null)
  %7246 = icmp eq i32 %7245, -1
  br i1 %7246, label %7247, label %7300

7247:                                             ; preds = %7241
  br label %7248

7248:                                             ; preds = %7247
  br label %7249

7249:                                             ; preds = %7248
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %7250 = call ptr @__errno_location() #12
  %7251 = load i32, ptr %7250, align 4, !tbaa !5
  store i32 %7251, ptr %162, align 4, !tbaa !5
  %7252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7253 = call i32 @s2n_print_stacktrace(ptr noundef %7252)
  %7254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7255 = trunc i8 %7254 to i1
  br i1 %7255, label %7256, label %7278

7256:                                             ; preds = %7249
  %7257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7258 = call i32 @fileno(ptr noundef %7257) #11
  %7259 = call i32 @isatty(i32 noundef %7258) #11
  %7260 = icmp ne i32 %7259, 0
  br i1 %7260, label %7261, label %7278

7261:                                             ; preds = %7256
  %7262 = load i32, ptr %162, align 4, !tbaa !5
  %7263 = call ptr @__errno_location() #12
  store i32 %7262, ptr %7263, align 4, !tbaa !5
  %7264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7265 = load i32, ptr @test_count, align 4, !tbaa !5
  %7266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7267 = load i32, ptr %7266, align 4, !tbaa !5
  %7268 = call ptr @s2n_strerror(i32 noundef %7267, ptr noundef @.str.25)
  %7269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7270 = load i32, ptr %7269, align 4, !tbaa !5
  %7271 = call ptr @s2n_strerror_debug(i32 noundef %7270, ptr noundef @.str.25)
  %7272 = call ptr @__errno_location() #12
  %7273 = load i32, ptr %7272, align 4, !tbaa !5
  %7274 = call ptr @strerror(i32 noundef %7273) #11
  %7275 = call ptr @__errno_location() #12
  %7276 = load i32, ptr %7275, align 4, !tbaa !5
  %7277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7264, ptr noundef @.str.23, i32 noundef %7265, ptr noundef @.str.31, ptr noundef @.str.22, i32 noundef 380, ptr noundef %7268, ptr noundef %7271, ptr noundef %7274, i32 noundef %7276) #11
  br label %7295

7278:                                             ; preds = %7256, %7249
  %7279 = load i32, ptr %162, align 4, !tbaa !5
  %7280 = call ptr @__errno_location() #12
  store i32 %7279, ptr %7280, align 4, !tbaa !5
  %7281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7282 = load i32, ptr @test_count, align 4, !tbaa !5
  %7283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7284 = load i32, ptr %7283, align 4, !tbaa !5
  %7285 = call ptr @s2n_strerror(i32 noundef %7284, ptr noundef @.str.25)
  %7286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7287 = load i32, ptr %7286, align 4, !tbaa !5
  %7288 = call ptr @s2n_strerror_debug(i32 noundef %7287, ptr noundef @.str.25)
  %7289 = call ptr @__errno_location() #12
  %7290 = load i32, ptr %7289, align 4, !tbaa !5
  %7291 = call ptr @strerror(i32 noundef %7290) #11
  %7292 = call ptr @__errno_location() #12
  %7293 = load i32, ptr %7292, align 4, !tbaa !5
  %7294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7281, ptr noundef @.str.26, i32 noundef %7282, ptr noundef @.str.31, ptr noundef @.str.22, i32 noundef 380, ptr noundef %7285, ptr noundef %7288, ptr noundef %7291, i32 noundef %7293) #11
  br label %7295

7295:                                             ; preds = %7278, %7261
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %7296

7296:                                             ; preds = %7295
  br label %7297

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

7298:                                             ; No predecessors!
  br label %7299

7299:                                             ; preds = %7298
  br label %7300

7300:                                             ; preds = %7299, %7241
  br label %7301

7301:                                             ; preds = %7300
  br label %7302

7302:                                             ; preds = %7301
  call void @llvm.lifetime.start.p0(i64 8, ptr %163) #11
  %7303 = load i64, ptr @mock_current_time, align 8, !tbaa !15
  store i64 %7303, ptr %163, align 8, !tbaa !15
  br label %7304

7304:                                             ; preds = %7302
  %7305 = load i32, ptr @test_count, align 4, !tbaa !5
  %7306 = add nsw i32 %7305, 1
  store i32 %7306, ptr @test_count, align 4, !tbaa !5
  %7307 = load ptr, ptr %157, align 8, !tbaa !9
  %7308 = load i64, ptr %163, align 8, !tbaa !15
  %7309 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %7307, i64 noundef %7308, ptr noundef %156)
  %7310 = getelementptr inbounds %struct.s2n_result, ptr %164, i32 0, i32 0
  store i32 %7309, ptr %7310, align 4
  %7311 = getelementptr inbounds %struct.s2n_result, ptr %164, i32 0, i32 0
  %7312 = load i32, ptr %7311, align 4
  %7313 = call zeroext i1 @s2n_result_is_ok(i32 %7312)
  br i1 %7313, label %7367, label %7314

7314:                                             ; preds = %7304
  br label %7315

7315:                                             ; preds = %7314
  br label %7316

7316:                                             ; preds = %7315
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %7317 = call ptr @__errno_location() #12
  %7318 = load i32, ptr %7317, align 4, !tbaa !5
  store i32 %7318, ptr %165, align 4, !tbaa !5
  %7319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7320 = call i32 @s2n_print_stacktrace(ptr noundef %7319)
  %7321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7322 = trunc i8 %7321 to i1
  br i1 %7322, label %7323, label %7345

7323:                                             ; preds = %7316
  %7324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7325 = call i32 @fileno(ptr noundef %7324) #11
  %7326 = call i32 @isatty(i32 noundef %7325) #11
  %7327 = icmp ne i32 %7326, 0
  br i1 %7327, label %7328, label %7345

7328:                                             ; preds = %7323
  %7329 = load i32, ptr %165, align 4, !tbaa !5
  %7330 = call ptr @__errno_location() #12
  store i32 %7329, ptr %7330, align 4, !tbaa !5
  %7331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7332 = load i32, ptr @test_count, align 4, !tbaa !5
  %7333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7334 = load i32, ptr %7333, align 4, !tbaa !5
  %7335 = call ptr @s2n_strerror(i32 noundef %7334, ptr noundef @.str.25)
  %7336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7337 = load i32, ptr %7336, align 4, !tbaa !5
  %7338 = call ptr @s2n_strerror_debug(i32 noundef %7337, ptr noundef @.str.25)
  %7339 = call ptr @__errno_location() #12
  %7340 = load i32, ptr %7339, align 4, !tbaa !5
  %7341 = call ptr @strerror(i32 noundef %7340) #11
  %7342 = call ptr @__errno_location() #12
  %7343 = load i32, ptr %7342, align 4, !tbaa !5
  %7344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7331, ptr noundef @.str.23, i32 noundef %7332, ptr noundef @.str.88, ptr noundef @.str.22, i32 noundef 383, ptr noundef %7335, ptr noundef %7338, ptr noundef %7341, i32 noundef %7343) #11
  br label %7362

7345:                                             ; preds = %7323, %7316
  %7346 = load i32, ptr %165, align 4, !tbaa !5
  %7347 = call ptr @__errno_location() #12
  store i32 %7346, ptr %7347, align 4, !tbaa !5
  %7348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7349 = load i32, ptr @test_count, align 4, !tbaa !5
  %7350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7351 = load i32, ptr %7350, align 4, !tbaa !5
  %7352 = call ptr @s2n_strerror(i32 noundef %7351, ptr noundef @.str.25)
  %7353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7354 = load i32, ptr %7353, align 4, !tbaa !5
  %7355 = call ptr @s2n_strerror_debug(i32 noundef %7354, ptr noundef @.str.25)
  %7356 = call ptr @__errno_location() #12
  %7357 = load i32, ptr %7356, align 4, !tbaa !5
  %7358 = call ptr @strerror(i32 noundef %7357) #11
  %7359 = call ptr @__errno_location() #12
  %7360 = load i32, ptr %7359, align 4, !tbaa !5
  %7361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7348, ptr noundef @.str.26, i32 noundef %7349, ptr noundef @.str.88, ptr noundef @.str.22, i32 noundef 383, ptr noundef %7352, ptr noundef %7355, ptr noundef %7358, i32 noundef %7360) #11
  br label %7362

7362:                                             ; preds = %7345, %7328
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %7363

7363:                                             ; preds = %7362
  br label %7364

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

7365:                                             ; No predecessors!
  br label %7366

7366:                                             ; preds = %7365
  br label %7367

7367:                                             ; preds = %7366, %7304
  br label %7368

7368:                                             ; preds = %7367
  br label %7369

7369:                                             ; preds = %7368
  br label %7370

7370:                                             ; preds = %7369
  %7371 = load i32, ptr @test_count, align 4, !tbaa !5
  %7372 = add nsw i32 %7371, 1
  store i32 %7372, ptr @test_count, align 4, !tbaa !5
  %7373 = load i32, ptr %156, align 4, !tbaa !5
  %7374 = zext i32 %7373 to i64
  %7375 = icmp eq i64 %7374, 7200
  br i1 %7375, label %7429, label %7376

7376:                                             ; preds = %7370
  br label %7377

7377:                                             ; preds = %7376
  br label %7378

7378:                                             ; preds = %7377
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %7379 = call ptr @__errno_location() #12
  %7380 = load i32, ptr %7379, align 4, !tbaa !5
  store i32 %7380, ptr %166, align 4, !tbaa !5
  %7381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7382 = call i32 @s2n_print_stacktrace(ptr noundef %7381)
  %7383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7384 = trunc i8 %7383 to i1
  br i1 %7384, label %7385, label %7407

7385:                                             ; preds = %7378
  %7386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7387 = call i32 @fileno(ptr noundef %7386) #11
  %7388 = call i32 @isatty(i32 noundef %7387) #11
  %7389 = icmp ne i32 %7388, 0
  br i1 %7389, label %7390, label %7407

7390:                                             ; preds = %7385
  %7391 = load i32, ptr %166, align 4, !tbaa !5
  %7392 = call ptr @__errno_location() #12
  store i32 %7391, ptr %7392, align 4, !tbaa !5
  %7393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7394 = load i32, ptr @test_count, align 4, !tbaa !5
  %7395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7396 = load i32, ptr %7395, align 4, !tbaa !5
  %7397 = call ptr @s2n_strerror(i32 noundef %7396, ptr noundef @.str.25)
  %7398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7399 = load i32, ptr %7398, align 4, !tbaa !5
  %7400 = call ptr @s2n_strerror_debug(i32 noundef %7399, ptr noundef @.str.25)
  %7401 = call ptr @__errno_location() #12
  %7402 = load i32, ptr %7401, align 4, !tbaa !5
  %7403 = call ptr @strerror(i32 noundef %7402) #11
  %7404 = call ptr @__errno_location() #12
  %7405 = load i32, ptr %7404, align 4, !tbaa !5
  %7406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7393, ptr noundef @.str.23, i32 noundef %7394, ptr noundef @.str.89, ptr noundef @.str.22, i32 noundef 384, ptr noundef %7397, ptr noundef %7400, ptr noundef %7403, i32 noundef %7405) #11
  br label %7424

7407:                                             ; preds = %7385, %7378
  %7408 = load i32, ptr %166, align 4, !tbaa !5
  %7409 = call ptr @__errno_location() #12
  store i32 %7408, ptr %7409, align 4, !tbaa !5
  %7410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7411 = load i32, ptr @test_count, align 4, !tbaa !5
  %7412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7413 = load i32, ptr %7412, align 4, !tbaa !5
  %7414 = call ptr @s2n_strerror(i32 noundef %7413, ptr noundef @.str.25)
  %7415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7416 = load i32, ptr %7415, align 4, !tbaa !5
  %7417 = call ptr @s2n_strerror_debug(i32 noundef %7416, ptr noundef @.str.25)
  %7418 = call ptr @__errno_location() #12
  %7419 = load i32, ptr %7418, align 4, !tbaa !5
  %7420 = call ptr @strerror(i32 noundef %7419) #11
  %7421 = call ptr @__errno_location() #12
  %7422 = load i32, ptr %7421, align 4, !tbaa !5
  %7423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7410, ptr noundef @.str.26, i32 noundef %7411, ptr noundef @.str.89, ptr noundef @.str.22, i32 noundef 384, ptr noundef %7414, ptr noundef %7417, ptr noundef %7420, i32 noundef %7422) #11
  br label %7424

7424:                                             ; preds = %7407, %7390
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %7425

7425:                                             ; preds = %7424
  br label %7426

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

7427:                                             ; No predecessors!
  br label %7428

7428:                                             ; preds = %7427
  br label %7429

7429:                                             ; preds = %7428, %7370
  br label %7430

7430:                                             ; preds = %7429
  br label %7431

7431:                                             ; preds = %7430
  %7432 = load ptr, ptr %159, align 8, !tbaa !9
  %7433 = getelementptr inbounds %struct.s2n_config, ptr %7432, i32 0, i32 16
  store i64 3600000000000, ptr %7433, align 8, !tbaa !55
  %7434 = load ptr, ptr %159, align 8, !tbaa !9
  %7435 = getelementptr inbounds %struct.s2n_config, ptr %7434, i32 0, i32 17
  store i64 3600000000000, ptr %7435, align 8, !tbaa !59
  %7436 = load ptr, ptr %159, align 8, !tbaa !9
  %7437 = getelementptr inbounds %struct.s2n_config, ptr %7436, i32 0, i32 14
  store i64 3600000000000, ptr %7437, align 8, !tbaa !60
  br label %7438

7438:                                             ; preds = %7431
  %7439 = load i32, ptr @test_count, align 4, !tbaa !5
  %7440 = add nsw i32 %7439, 1
  store i32 %7440, ptr @test_count, align 4, !tbaa !5
  %7441 = load ptr, ptr %157, align 8, !tbaa !9
  %7442 = load i64, ptr %163, align 8, !tbaa !15
  %7443 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %7441, i64 noundef %7442, ptr noundef %156)
  %7444 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  store i32 %7443, ptr %7444, align 4
  %7445 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  %7446 = load i32, ptr %7445, align 4
  %7447 = call zeroext i1 @s2n_result_is_ok(i32 %7446)
  br i1 %7447, label %7501, label %7448

7448:                                             ; preds = %7438
  br label %7449

7449:                                             ; preds = %7448
  br label %7450

7450:                                             ; preds = %7449
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %7451 = call ptr @__errno_location() #12
  %7452 = load i32, ptr %7451, align 4, !tbaa !5
  store i32 %7452, ptr %168, align 4, !tbaa !5
  %7453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7454 = call i32 @s2n_print_stacktrace(ptr noundef %7453)
  %7455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7456 = trunc i8 %7455 to i1
  br i1 %7456, label %7457, label %7479

7457:                                             ; preds = %7450
  %7458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7459 = call i32 @fileno(ptr noundef %7458) #11
  %7460 = call i32 @isatty(i32 noundef %7459) #11
  %7461 = icmp ne i32 %7460, 0
  br i1 %7461, label %7462, label %7479

7462:                                             ; preds = %7457
  %7463 = load i32, ptr %168, align 4, !tbaa !5
  %7464 = call ptr @__errno_location() #12
  store i32 %7463, ptr %7464, align 4, !tbaa !5
  %7465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7466 = load i32, ptr @test_count, align 4, !tbaa !5
  %7467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7468 = load i32, ptr %7467, align 4, !tbaa !5
  %7469 = call ptr @s2n_strerror(i32 noundef %7468, ptr noundef @.str.25)
  %7470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7471 = load i32, ptr %7470, align 4, !tbaa !5
  %7472 = call ptr @s2n_strerror_debug(i32 noundef %7471, ptr noundef @.str.25)
  %7473 = call ptr @__errno_location() #12
  %7474 = load i32, ptr %7473, align 4, !tbaa !5
  %7475 = call ptr @strerror(i32 noundef %7474) #11
  %7476 = call ptr @__errno_location() #12
  %7477 = load i32, ptr %7476, align 4, !tbaa !5
  %7478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7465, ptr noundef @.str.23, i32 noundef %7466, ptr noundef @.str.88, ptr noundef @.str.22, i32 noundef 391, ptr noundef %7469, ptr noundef %7472, ptr noundef %7475, i32 noundef %7477) #11
  br label %7496

7479:                                             ; preds = %7457, %7450
  %7480 = load i32, ptr %168, align 4, !tbaa !5
  %7481 = call ptr @__errno_location() #12
  store i32 %7480, ptr %7481, align 4, !tbaa !5
  %7482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7483 = load i32, ptr @test_count, align 4, !tbaa !5
  %7484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7485 = load i32, ptr %7484, align 4, !tbaa !5
  %7486 = call ptr @s2n_strerror(i32 noundef %7485, ptr noundef @.str.25)
  %7487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7488 = load i32, ptr %7487, align 4, !tbaa !5
  %7489 = call ptr @s2n_strerror_debug(i32 noundef %7488, ptr noundef @.str.25)
  %7490 = call ptr @__errno_location() #12
  %7491 = load i32, ptr %7490, align 4, !tbaa !5
  %7492 = call ptr @strerror(i32 noundef %7491) #11
  %7493 = call ptr @__errno_location() #12
  %7494 = load i32, ptr %7493, align 4, !tbaa !5
  %7495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7482, ptr noundef @.str.26, i32 noundef %7483, ptr noundef @.str.88, ptr noundef @.str.22, i32 noundef 391, ptr noundef %7486, ptr noundef %7489, ptr noundef %7492, i32 noundef %7494) #11
  br label %7496

7496:                                             ; preds = %7479, %7462
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %7497

7497:                                             ; preds = %7496
  br label %7498

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

7499:                                             ; No predecessors!
  br label %7500

7500:                                             ; preds = %7499
  br label %7501

7501:                                             ; preds = %7500, %7438
  br label %7502

7502:                                             ; preds = %7501
  br label %7503

7503:                                             ; preds = %7502
  br label %7504

7504:                                             ; preds = %7503
  %7505 = load i32, ptr @test_count, align 4, !tbaa !5
  %7506 = add nsw i32 %7505, 1
  store i32 %7506, ptr @test_count, align 4, !tbaa !5
  %7507 = load i32, ptr %156, align 4, !tbaa !5
  %7508 = zext i32 %7507 to i64
  %7509 = icmp eq i64 %7508, 3600
  br i1 %7509, label %7563, label %7510

7510:                                             ; preds = %7504
  br label %7511

7511:                                             ; preds = %7510
  br label %7512

7512:                                             ; preds = %7511
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %7513 = call ptr @__errno_location() #12
  %7514 = load i32, ptr %7513, align 4, !tbaa !5
  store i32 %7514, ptr %169, align 4, !tbaa !5
  %7515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7516 = call i32 @s2n_print_stacktrace(ptr noundef %7515)
  %7517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7518 = trunc i8 %7517 to i1
  br i1 %7518, label %7519, label %7541

7519:                                             ; preds = %7512
  %7520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7521 = call i32 @fileno(ptr noundef %7520) #11
  %7522 = call i32 @isatty(i32 noundef %7521) #11
  %7523 = icmp ne i32 %7522, 0
  br i1 %7523, label %7524, label %7541

7524:                                             ; preds = %7519
  %7525 = load i32, ptr %169, align 4, !tbaa !5
  %7526 = call ptr @__errno_location() #12
  store i32 %7525, ptr %7526, align 4, !tbaa !5
  %7527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7528 = load i32, ptr @test_count, align 4, !tbaa !5
  %7529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7530 = load i32, ptr %7529, align 4, !tbaa !5
  %7531 = call ptr @s2n_strerror(i32 noundef %7530, ptr noundef @.str.25)
  %7532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7533 = load i32, ptr %7532, align 4, !tbaa !5
  %7534 = call ptr @s2n_strerror_debug(i32 noundef %7533, ptr noundef @.str.25)
  %7535 = call ptr @__errno_location() #12
  %7536 = load i32, ptr %7535, align 4, !tbaa !5
  %7537 = call ptr @strerror(i32 noundef %7536) #11
  %7538 = call ptr @__errno_location() #12
  %7539 = load i32, ptr %7538, align 4, !tbaa !5
  %7540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7527, ptr noundef @.str.23, i32 noundef %7528, ptr noundef @.str.90, ptr noundef @.str.22, i32 noundef 392, ptr noundef %7531, ptr noundef %7534, ptr noundef %7537, i32 noundef %7539) #11
  br label %7558

7541:                                             ; preds = %7519, %7512
  %7542 = load i32, ptr %169, align 4, !tbaa !5
  %7543 = call ptr @__errno_location() #12
  store i32 %7542, ptr %7543, align 4, !tbaa !5
  %7544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7545 = load i32, ptr @test_count, align 4, !tbaa !5
  %7546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7547 = load i32, ptr %7546, align 4, !tbaa !5
  %7548 = call ptr @s2n_strerror(i32 noundef %7547, ptr noundef @.str.25)
  %7549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7550 = load i32, ptr %7549, align 4, !tbaa !5
  %7551 = call ptr @s2n_strerror_debug(i32 noundef %7550, ptr noundef @.str.25)
  %7552 = call ptr @__errno_location() #12
  %7553 = load i32, ptr %7552, align 4, !tbaa !5
  %7554 = call ptr @strerror(i32 noundef %7553) #11
  %7555 = call ptr @__errno_location() #12
  %7556 = load i32, ptr %7555, align 4, !tbaa !5
  %7557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7544, ptr noundef @.str.26, i32 noundef %7545, ptr noundef @.str.90, ptr noundef @.str.22, i32 noundef 392, ptr noundef %7548, ptr noundef %7551, ptr noundef %7554, i32 noundef %7556) #11
  br label %7558

7558:                                             ; preds = %7541, %7524
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %7559

7559:                                             ; preds = %7558
  br label %7560

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

7561:                                             ; No predecessors!
  br label %7562

7562:                                             ; preds = %7561
  br label %7563

7563:                                             ; preds = %7562, %7504
  br label %7564

7564:                                             ; preds = %7563
  br label %7565

7565:                                             ; preds = %7564
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #11
  store i64 604800, ptr %170, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %171) #11
  store i64 1000000000, ptr %171, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %172) #11
  %7566 = load i64, ptr %170, align 8, !tbaa !15
  %7567 = load i64, ptr %171, align 8, !tbaa !15
  %7568 = mul i64 %7566, %7567
  store i64 %7568, ptr %172, align 8, !tbaa !15
  %7569 = load i64, ptr %172, align 8, !tbaa !15
  %7570 = load ptr, ptr %159, align 8, !tbaa !9
  %7571 = getelementptr inbounds %struct.s2n_config, ptr %7570, i32 0, i32 16
  store i64 %7569, ptr %7571, align 8, !tbaa !55
  %7572 = load i64, ptr %172, align 8, !tbaa !15
  %7573 = load ptr, ptr %159, align 8, !tbaa !9
  %7574 = getelementptr inbounds %struct.s2n_config, ptr %7573, i32 0, i32 17
  store i64 %7572, ptr %7574, align 8, !tbaa !59
  %7575 = load i64, ptr %172, align 8, !tbaa !15
  %7576 = add i64 %7575, 1
  %7577 = load ptr, ptr %159, align 8, !tbaa !9
  %7578 = getelementptr inbounds %struct.s2n_config, ptr %7577, i32 0, i32 14
  store i64 %7576, ptr %7578, align 8, !tbaa !60
  br label %7579

7579:                                             ; preds = %7565
  %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 = load ptr, ptr %157, align 8, !tbaa !9
  %7583 = load i64, ptr %163, align 8, !tbaa !15
  %7584 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %7582, i64 noundef %7583, ptr noundef %156)
  %7585 = getelementptr inbounds %struct.s2n_result, ptr %173, i32 0, i32 0
  store i32 %7584, ptr %7585, align 4
  %7586 = getelementptr inbounds %struct.s2n_result, ptr %173, i32 0, i32 0
  %7587 = load i32, ptr %7586, align 4
  %7588 = call zeroext i1 @s2n_result_is_ok(i32 %7587)
  br i1 %7588, label %7642, label %7589

7589:                                             ; preds = %7579
  br label %7590

7590:                                             ; preds = %7589
  br label %7591

7591:                                             ; preds = %7590
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %7592 = call ptr @__errno_location() #12
  %7593 = load i32, ptr %7592, align 4, !tbaa !5
  store i32 %7593, ptr %174, align 4, !tbaa !5
  %7594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7595 = call i32 @s2n_print_stacktrace(ptr noundef %7594)
  %7596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7597 = trunc i8 %7596 to i1
  br i1 %7597, label %7598, label %7620

7598:                                             ; preds = %7591
  %7599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7600 = call i32 @fileno(ptr noundef %7599) #11
  %7601 = call i32 @isatty(i32 noundef %7600) #11
  %7602 = icmp ne i32 %7601, 0
  br i1 %7602, label %7603, label %7620

7603:                                             ; preds = %7598
  %7604 = load i32, ptr %174, align 4, !tbaa !5
  %7605 = call ptr @__errno_location() #12
  store i32 %7604, ptr %7605, align 4, !tbaa !5
  %7606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7607 = load i32, ptr @test_count, align 4, !tbaa !5
  %7608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7609 = load i32, ptr %7608, align 4, !tbaa !5
  %7610 = call ptr @s2n_strerror(i32 noundef %7609, ptr noundef @.str.25)
  %7611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7612 = load i32, ptr %7611, align 4, !tbaa !5
  %7613 = call ptr @s2n_strerror_debug(i32 noundef %7612, ptr noundef @.str.25)
  %7614 = call ptr @__errno_location() #12
  %7615 = load i32, ptr %7614, align 4, !tbaa !5
  %7616 = call ptr @strerror(i32 noundef %7615) #11
  %7617 = call ptr @__errno_location() #12
  %7618 = load i32, ptr %7617, align 4, !tbaa !5
  %7619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7606, ptr noundef @.str.23, i32 noundef %7607, ptr noundef @.str.88, ptr noundef @.str.22, i32 noundef 410, ptr noundef %7610, ptr noundef %7613, ptr noundef %7616, i32 noundef %7618) #11
  br label %7637

7620:                                             ; preds = %7598, %7591
  %7621 = load i32, ptr %174, align 4, !tbaa !5
  %7622 = call ptr @__errno_location() #12
  store i32 %7621, ptr %7622, align 4, !tbaa !5
  %7623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7624 = load i32, ptr @test_count, align 4, !tbaa !5
  %7625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7626 = load i32, ptr %7625, align 4, !tbaa !5
  %7627 = call ptr @s2n_strerror(i32 noundef %7626, ptr noundef @.str.25)
  %7628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7629 = load i32, ptr %7628, align 4, !tbaa !5
  %7630 = call ptr @s2n_strerror_debug(i32 noundef %7629, ptr noundef @.str.25)
  %7631 = call ptr @__errno_location() #12
  %7632 = load i32, ptr %7631, align 4, !tbaa !5
  %7633 = call ptr @strerror(i32 noundef %7632) #11
  %7634 = call ptr @__errno_location() #12
  %7635 = load i32, ptr %7634, align 4, !tbaa !5
  %7636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7623, ptr noundef @.str.26, i32 noundef %7624, ptr noundef @.str.88, ptr noundef @.str.22, i32 noundef 410, ptr noundef %7627, ptr noundef %7630, ptr noundef %7633, i32 noundef %7635) #11
  br label %7637

7637:                                             ; preds = %7620, %7603
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #11
  br label %7638

7638:                                             ; preds = %7637
  br label %7639

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

7640:                                             ; No predecessors!
  br label %7641

7641:                                             ; preds = %7640
  br label %7642

7642:                                             ; preds = %7641, %7579
  br label %7643

7643:                                             ; preds = %7642
  br label %7644

7644:                                             ; preds = %7643
  br label %7645

7645:                                             ; preds = %7644
  %7646 = load i32, ptr @test_count, align 4, !tbaa !5
  %7647 = add nsw i32 %7646, 1
  store i32 %7647, ptr @test_count, align 4, !tbaa !5
  %7648 = load i32, ptr %156, align 4, !tbaa !5
  %7649 = icmp eq i32 %7648, 604800
  br i1 %7649, label %7703, label %7650

7650:                                             ; preds = %7645
  br label %7651

7651:                                             ; preds = %7650
  br label %7652

7652:                                             ; preds = %7651
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %7653 = call ptr @__errno_location() #12
  %7654 = load i32, ptr %7653, align 4, !tbaa !5
  store i32 %7654, ptr %175, align 4, !tbaa !5
  %7655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7656 = call i32 @s2n_print_stacktrace(ptr noundef %7655)
  %7657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7658 = trunc i8 %7657 to i1
  br i1 %7658, label %7659, label %7681

7659:                                             ; preds = %7652
  %7660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7661 = call i32 @fileno(ptr noundef %7660) #11
  %7662 = call i32 @isatty(i32 noundef %7661) #11
  %7663 = icmp ne i32 %7662, 0
  br i1 %7663, label %7664, label %7681

7664:                                             ; preds = %7659
  %7665 = load i32, ptr %175, align 4, !tbaa !5
  %7666 = call ptr @__errno_location() #12
  store i32 %7665, ptr %7666, align 4, !tbaa !5
  %7667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7668 = load i32, ptr @test_count, align 4, !tbaa !5
  %7669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7670 = load i32, ptr %7669, align 4, !tbaa !5
  %7671 = call ptr @s2n_strerror(i32 noundef %7670, ptr noundef @.str.25)
  %7672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7673 = load i32, ptr %7672, align 4, !tbaa !5
  %7674 = call ptr @s2n_strerror_debug(i32 noundef %7673, ptr noundef @.str.25)
  %7675 = call ptr @__errno_location() #12
  %7676 = load i32, ptr %7675, align 4, !tbaa !5
  %7677 = call ptr @strerror(i32 noundef %7676) #11
  %7678 = call ptr @__errno_location() #12
  %7679 = load i32, ptr %7678, align 4, !tbaa !5
  %7680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7667, ptr noundef @.str.23, i32 noundef %7668, ptr noundef @.str.91, ptr noundef @.str.22, i32 noundef 411, ptr noundef %7671, ptr noundef %7674, ptr noundef %7677, i32 noundef %7679) #11
  br label %7698

7681:                                             ; preds = %7659, %7652
  %7682 = load i32, ptr %175, align 4, !tbaa !5
  %7683 = call ptr @__errno_location() #12
  store i32 %7682, ptr %7683, align 4, !tbaa !5
  %7684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7685 = load i32, ptr @test_count, align 4, !tbaa !5
  %7686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7687 = load i32, ptr %7686, align 4, !tbaa !5
  %7688 = call ptr @s2n_strerror(i32 noundef %7687, ptr noundef @.str.25)
  %7689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7690 = load i32, ptr %7689, align 4, !tbaa !5
  %7691 = call ptr @s2n_strerror_debug(i32 noundef %7690, ptr noundef @.str.25)
  %7692 = call ptr @__errno_location() #12
  %7693 = load i32, ptr %7692, align 4, !tbaa !5
  %7694 = call ptr @strerror(i32 noundef %7693) #11
  %7695 = call ptr @__errno_location() #12
  %7696 = load i32, ptr %7695, align 4, !tbaa !5
  %7697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7684, ptr noundef @.str.26, i32 noundef %7685, ptr noundef @.str.91, ptr noundef @.str.22, i32 noundef 411, ptr noundef %7688, ptr noundef %7691, ptr noundef %7694, i32 noundef %7696) #11
  br label %7698

7698:                                             ; preds = %7681, %7664
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %7699

7699:                                             ; preds = %7698
  br label %7700

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

7701:                                             ; No predecessors!
  br label %7702

7702:                                             ; preds = %7701
  br label %7703

7703:                                             ; preds = %7702, %7645
  br label %7704

7704:                                             ; preds = %7703
  br label %7705

7705:                                             ; preds = %7704
  br label %7706

7706:                                             ; preds = %7705
  %7707 = load i32, ptr @test_count, align 4, !tbaa !5
  %7708 = add nsw i32 %7707, 1
  store i32 %7708, ptr @test_count, align 4, !tbaa !5
  %7709 = load ptr, ptr %157, align 8, !tbaa !9
  %7710 = call i32 @s2n_test_init_ticket_lifetime(ptr noundef %7709, ptr noundef %163)
  %7711 = getelementptr inbounds %struct.s2n_result, ptr %176, i32 0, i32 0
  store i32 %7710, ptr %7711, align 4
  %7712 = getelementptr inbounds %struct.s2n_result, ptr %176, i32 0, i32 0
  %7713 = load i32, ptr %7712, align 4
  %7714 = call zeroext i1 @s2n_result_is_ok(i32 %7713)
  br i1 %7714, label %7768, label %7715

7715:                                             ; preds = %7706
  br label %7716

7716:                                             ; preds = %7715
  br label %7717

7717:                                             ; preds = %7716
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %7718 = call ptr @__errno_location() #12
  %7719 = load i32, ptr %7718, align 4, !tbaa !5
  store i32 %7719, ptr %177, align 4, !tbaa !5
  %7720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7721 = call i32 @s2n_print_stacktrace(ptr noundef %7720)
  %7722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7723 = trunc i8 %7722 to i1
  br i1 %7723, label %7724, label %7746

7724:                                             ; preds = %7717
  %7725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7726 = call i32 @fileno(ptr noundef %7725) #11
  %7727 = call i32 @isatty(i32 noundef %7726) #11
  %7728 = icmp ne i32 %7727, 0
  br i1 %7728, label %7729, label %7746

7729:                                             ; preds = %7724
  %7730 = load i32, ptr %177, align 4, !tbaa !5
  %7731 = call ptr @__errno_location() #12
  store i32 %7730, ptr %7731, align 4, !tbaa !5
  %7732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7733 = load i32, ptr @test_count, align 4, !tbaa !5
  %7734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7735 = load i32, ptr %7734, align 4, !tbaa !5
  %7736 = call ptr @s2n_strerror(i32 noundef %7735, ptr noundef @.str.25)
  %7737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7738 = load i32, ptr %7737, align 4, !tbaa !5
  %7739 = call ptr @s2n_strerror_debug(i32 noundef %7738, ptr noundef @.str.25)
  %7740 = call ptr @__errno_location() #12
  %7741 = load i32, ptr %7740, align 4, !tbaa !5
  %7742 = call ptr @strerror(i32 noundef %7741) #11
  %7743 = call ptr @__errno_location() #12
  %7744 = load i32, ptr %7743, align 4, !tbaa !5
  %7745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7732, ptr noundef @.str.23, i32 noundef %7733, ptr noundef @.str.92, ptr noundef @.str.22, i32 noundef 415, ptr noundef %7736, ptr noundef %7739, ptr noundef %7742, i32 noundef %7744) #11
  br label %7763

7746:                                             ; preds = %7724, %7717
  %7747 = load i32, ptr %177, align 4, !tbaa !5
  %7748 = call ptr @__errno_location() #12
  store i32 %7747, ptr %7748, align 4, !tbaa !5
  %7749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7750 = load i32, ptr @test_count, align 4, !tbaa !5
  %7751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7752 = load i32, ptr %7751, align 4, !tbaa !5
  %7753 = call ptr @s2n_strerror(i32 noundef %7752, ptr noundef @.str.25)
  %7754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7755 = load i32, ptr %7754, align 4, !tbaa !5
  %7756 = call ptr @s2n_strerror_debug(i32 noundef %7755, ptr noundef @.str.25)
  %7757 = call ptr @__errno_location() #12
  %7758 = load i32, ptr %7757, align 4, !tbaa !5
  %7759 = call ptr @strerror(i32 noundef %7758) #11
  %7760 = call ptr @__errno_location() #12
  %7761 = load i32, ptr %7760, align 4, !tbaa !5
  %7762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7749, ptr noundef @.str.26, i32 noundef %7750, ptr noundef @.str.92, ptr noundef @.str.22, i32 noundef 415, ptr noundef %7753, ptr noundef %7756, ptr noundef %7759, i32 noundef %7761) #11
  br label %7763

7763:                                             ; preds = %7746, %7729
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %7764

7764:                                             ; preds = %7763
  br label %7765

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

7766:                                             ; No predecessors!
  br label %7767

7767:                                             ; preds = %7766
  br label %7768

7768:                                             ; preds = %7767, %7706
  br label %7769

7769:                                             ; preds = %7768
  br label %7770

7770:                                             ; preds = %7769
  store i64 1800000000000, ptr @mock_current_time, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  store i32 0, ptr %178, align 4, !tbaa !5
  br label %7771

7771:                                             ; preds = %7770
  %7772 = load i32, ptr @test_count, align 4, !tbaa !5
  %7773 = add nsw i32 %7772, 1
  store i32 %7773, ptr @test_count, align 4, !tbaa !5
  %7774 = load ptr, ptr %157, align 8, !tbaa !9
  %7775 = load i64, ptr %163, align 8, !tbaa !15
  %7776 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %7774, i64 noundef %7775, ptr noundef %178)
  %7777 = getelementptr inbounds %struct.s2n_result, ptr %179, i32 0, i32 0
  store i32 %7776, ptr %7777, align 4
  %7778 = getelementptr inbounds %struct.s2n_result, ptr %179, i32 0, i32 0
  %7779 = load i32, ptr %7778, align 4
  %7780 = call zeroext i1 @s2n_result_is_ok(i32 %7779)
  br i1 %7780, label %7834, label %7781

7781:                                             ; preds = %7771
  br label %7782

7782:                                             ; preds = %7781
  br label %7783

7783:                                             ; preds = %7782
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %7784 = call ptr @__errno_location() #12
  %7785 = load i32, ptr %7784, align 4, !tbaa !5
  store i32 %7785, ptr %180, align 4, !tbaa !5
  %7786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7787 = call i32 @s2n_print_stacktrace(ptr noundef %7786)
  %7788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7789 = trunc i8 %7788 to i1
  br i1 %7789, label %7790, label %7812

7790:                                             ; preds = %7783
  %7791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7792 = call i32 @fileno(ptr noundef %7791) #11
  %7793 = call i32 @isatty(i32 noundef %7792) #11
  %7794 = icmp ne i32 %7793, 0
  br i1 %7794, label %7795, label %7812

7795:                                             ; preds = %7790
  %7796 = load i32, ptr %180, align 4, !tbaa !5
  %7797 = call ptr @__errno_location() #12
  store i32 %7796, ptr %7797, align 4, !tbaa !5
  %7798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7799 = load i32, ptr @test_count, align 4, !tbaa !5
  %7800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7801 = load i32, ptr %7800, align 4, !tbaa !5
  %7802 = call ptr @s2n_strerror(i32 noundef %7801, ptr noundef @.str.25)
  %7803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7804 = load i32, ptr %7803, align 4, !tbaa !5
  %7805 = call ptr @s2n_strerror_debug(i32 noundef %7804, ptr noundef @.str.25)
  %7806 = call ptr @__errno_location() #12
  %7807 = load i32, ptr %7806, align 4, !tbaa !5
  %7808 = call ptr @strerror(i32 noundef %7807) #11
  %7809 = call ptr @__errno_location() #12
  %7810 = load i32, ptr %7809, align 4, !tbaa !5
  %7811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7798, ptr noundef @.str.23, i32 noundef %7799, ptr noundef @.str.93, ptr noundef @.str.22, i32 noundef 419, ptr noundef %7802, ptr noundef %7805, ptr noundef %7808, i32 noundef %7810) #11
  br label %7829

7812:                                             ; preds = %7790, %7783
  %7813 = load i32, ptr %180, align 4, !tbaa !5
  %7814 = call ptr @__errno_location() #12
  store i32 %7813, ptr %7814, align 4, !tbaa !5
  %7815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7816 = load i32, ptr @test_count, align 4, !tbaa !5
  %7817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7818 = load i32, ptr %7817, align 4, !tbaa !5
  %7819 = call ptr @s2n_strerror(i32 noundef %7818, ptr noundef @.str.25)
  %7820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7821 = load i32, ptr %7820, align 4, !tbaa !5
  %7822 = call ptr @s2n_strerror_debug(i32 noundef %7821, ptr noundef @.str.25)
  %7823 = call ptr @__errno_location() #12
  %7824 = load i32, ptr %7823, align 4, !tbaa !5
  %7825 = call ptr @strerror(i32 noundef %7824) #11
  %7826 = call ptr @__errno_location() #12
  %7827 = load i32, ptr %7826, align 4, !tbaa !5
  %7828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7815, ptr noundef @.str.26, i32 noundef %7816, ptr noundef @.str.93, ptr noundef @.str.22, i32 noundef 419, ptr noundef %7819, ptr noundef %7822, ptr noundef %7825, i32 noundef %7827) #11
  br label %7829

7829:                                             ; preds = %7812, %7795
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %7830

7830:                                             ; preds = %7829
  br label %7831

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

7832:                                             ; No predecessors!
  br label %7833

7833:                                             ; preds = %7832
  br label %7834

7834:                                             ; preds = %7833, %7771
  br label %7835

7835:                                             ; preds = %7834
  br label %7836

7836:                                             ; preds = %7835
  br label %7837

7837:                                             ; preds = %7836
  %7838 = load i32, ptr @test_count, align 4, !tbaa !5
  %7839 = add nsw i32 %7838, 1
  store i32 %7839, ptr @test_count, align 4, !tbaa !5
  %7840 = load i32, ptr %178, align 4, !tbaa !5
  %7841 = zext i32 %7840 to i64
  %7842 = icmp eq i64 %7841, 1800
  br i1 %7842, label %7896, label %7843

7843:                                             ; preds = %7837
  br label %7844

7844:                                             ; preds = %7843
  br label %7845

7845:                                             ; preds = %7844
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %7846 = call ptr @__errno_location() #12
  %7847 = load i32, ptr %7846, align 4, !tbaa !5
  store i32 %7847, ptr %181, align 4, !tbaa !5
  %7848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7849 = call i32 @s2n_print_stacktrace(ptr noundef %7848)
  %7850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7851 = trunc i8 %7850 to i1
  br i1 %7851, label %7852, label %7874

7852:                                             ; preds = %7845
  %7853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7854 = call i32 @fileno(ptr noundef %7853) #11
  %7855 = call i32 @isatty(i32 noundef %7854) #11
  %7856 = icmp ne i32 %7855, 0
  br i1 %7856, label %7857, label %7874

7857:                                             ; preds = %7852
  %7858 = load i32, ptr %181, align 4, !tbaa !5
  %7859 = call ptr @__errno_location() #12
  store i32 %7858, ptr %7859, align 4, !tbaa !5
  %7860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7861 = load i32, ptr @test_count, align 4, !tbaa !5
  %7862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7863 = load i32, ptr %7862, align 4, !tbaa !5
  %7864 = call ptr @s2n_strerror(i32 noundef %7863, ptr noundef @.str.25)
  %7865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7866 = load i32, ptr %7865, align 4, !tbaa !5
  %7867 = call ptr @s2n_strerror_debug(i32 noundef %7866, ptr noundef @.str.25)
  %7868 = call ptr @__errno_location() #12
  %7869 = load i32, ptr %7868, align 4, !tbaa !5
  %7870 = call ptr @strerror(i32 noundef %7869) #11
  %7871 = call ptr @__errno_location() #12
  %7872 = load i32, ptr %7871, align 4, !tbaa !5
  %7873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7860, ptr noundef @.str.23, i32 noundef %7861, ptr noundef @.str.94, ptr noundef @.str.22, i32 noundef 420, ptr noundef %7864, ptr noundef %7867, ptr noundef %7870, i32 noundef %7872) #11
  br label %7891

7874:                                             ; preds = %7852, %7845
  %7875 = load i32, ptr %181, align 4, !tbaa !5
  %7876 = call ptr @__errno_location() #12
  store i32 %7875, ptr %7876, align 4, !tbaa !5
  %7877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7878 = load i32, ptr @test_count, align 4, !tbaa !5
  %7879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7880 = load i32, ptr %7879, align 4, !tbaa !5
  %7881 = call ptr @s2n_strerror(i32 noundef %7880, ptr noundef @.str.25)
  %7882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7883 = load i32, ptr %7882, align 4, !tbaa !5
  %7884 = call ptr @s2n_strerror_debug(i32 noundef %7883, ptr noundef @.str.25)
  %7885 = call ptr @__errno_location() #12
  %7886 = load i32, ptr %7885, align 4, !tbaa !5
  %7887 = call ptr @strerror(i32 noundef %7886) #11
  %7888 = call ptr @__errno_location() #12
  %7889 = load i32, ptr %7888, align 4, !tbaa !5
  %7890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7877, ptr noundef @.str.26, i32 noundef %7878, ptr noundef @.str.94, ptr noundef @.str.22, i32 noundef 420, ptr noundef %7881, ptr noundef %7884, ptr noundef %7887, i32 noundef %7889) #11
  br label %7891

7891:                                             ; preds = %7874, %7857
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %7892

7892:                                             ; preds = %7891
  br label %7893

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

7894:                                             ; No predecessors!
  br label %7895

7895:                                             ; preds = %7894
  br label %7896

7896:                                             ; preds = %7895, %7837
  br label %7897

7897:                                             ; preds = %7896
  br label %7898

7898:                                             ; preds = %7897
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %7899

7899:                                             ; preds = %7898
  %7900 = load i32, ptr @test_count, align 4, !tbaa !5
  %7901 = add nsw i32 %7900, 1
  store i32 %7901, ptr @test_count, align 4, !tbaa !5
  %7902 = load ptr, ptr %157, align 8, !tbaa !9
  %7903 = call i32 @s2n_test_init_ticket_lifetime(ptr noundef %7902, ptr noundef %163)
  %7904 = getelementptr inbounds %struct.s2n_result, ptr %182, i32 0, i32 0
  store i32 %7903, ptr %7904, align 4
  %7905 = getelementptr inbounds %struct.s2n_result, ptr %182, i32 0, i32 0
  %7906 = load i32, ptr %7905, align 4
  %7907 = call zeroext i1 @s2n_result_is_ok(i32 %7906)
  br i1 %7907, label %7961, label %7908

7908:                                             ; preds = %7899
  br label %7909

7909:                                             ; preds = %7908
  br label %7910

7910:                                             ; preds = %7909
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %7911 = call ptr @__errno_location() #12
  %7912 = load i32, ptr %7911, align 4, !tbaa !5
  store i32 %7912, ptr %183, align 4, !tbaa !5
  %7913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7914 = call i32 @s2n_print_stacktrace(ptr noundef %7913)
  %7915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7916 = trunc i8 %7915 to i1
  br i1 %7916, label %7917, label %7939

7917:                                             ; preds = %7910
  %7918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7919 = call i32 @fileno(ptr noundef %7918) #11
  %7920 = call i32 @isatty(i32 noundef %7919) #11
  %7921 = icmp ne i32 %7920, 0
  br i1 %7921, label %7922, label %7939

7922:                                             ; preds = %7917
  %7923 = load i32, ptr %183, align 4, !tbaa !5
  %7924 = call ptr @__errno_location() #12
  store i32 %7923, ptr %7924, align 4, !tbaa !5
  %7925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7926 = load i32, ptr @test_count, align 4, !tbaa !5
  %7927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7928 = load i32, ptr %7927, align 4, !tbaa !5
  %7929 = call ptr @s2n_strerror(i32 noundef %7928, ptr noundef @.str.25)
  %7930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7931 = load i32, ptr %7930, align 4, !tbaa !5
  %7932 = call ptr @s2n_strerror_debug(i32 noundef %7931, ptr noundef @.str.25)
  %7933 = call ptr @__errno_location() #12
  %7934 = load i32, ptr %7933, align 4, !tbaa !5
  %7935 = call ptr @strerror(i32 noundef %7934) #11
  %7936 = call ptr @__errno_location() #12
  %7937 = load i32, ptr %7936, align 4, !tbaa !5
  %7938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7925, ptr noundef @.str.23, i32 noundef %7926, ptr noundef @.str.92, ptr noundef @.str.22, i32 noundef 425, ptr noundef %7929, ptr noundef %7932, ptr noundef %7935, i32 noundef %7937) #11
  br label %7956

7939:                                             ; preds = %7917, %7910
  %7940 = load i32, ptr %183, align 4, !tbaa !5
  %7941 = call ptr @__errno_location() #12
  store i32 %7940, ptr %7941, align 4, !tbaa !5
  %7942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7943 = load i32, ptr @test_count, align 4, !tbaa !5
  %7944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7945 = load i32, ptr %7944, align 4, !tbaa !5
  %7946 = call ptr @s2n_strerror(i32 noundef %7945, ptr noundef @.str.25)
  %7947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7948 = load i32, ptr %7947, align 4, !tbaa !5
  %7949 = call ptr @s2n_strerror_debug(i32 noundef %7948, ptr noundef @.str.25)
  %7950 = call ptr @__errno_location() #12
  %7951 = load i32, ptr %7950, align 4, !tbaa !5
  %7952 = call ptr @strerror(i32 noundef %7951) #11
  %7953 = call ptr @__errno_location() #12
  %7954 = load i32, ptr %7953, align 4, !tbaa !5
  %7955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7942, ptr noundef @.str.26, i32 noundef %7943, ptr noundef @.str.92, ptr noundef @.str.22, i32 noundef 425, ptr noundef %7946, ptr noundef %7949, ptr noundef %7952, i32 noundef %7954) #11
  br label %7956

7956:                                             ; preds = %7939, %7922
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %7957

7957:                                             ; preds = %7956
  br label %7958

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

7959:                                             ; No predecessors!
  br label %7960

7960:                                             ; preds = %7959
  br label %7961

7961:                                             ; preds = %7960, %7899
  br label %7962

7962:                                             ; preds = %7961
  br label %7963

7963:                                             ; preds = %7962
  br label %7964

7964:                                             ; preds = %7963
  %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 %157, align 8, !tbaa !9
  %7968 = call i32 @s2n_connection_set_server_keying_material_lifetime(ptr noundef %7967, i32 noundef 1800)
  %7969 = icmp eq i32 %7968, -1
  br i1 %7969, label %7970, label %8023

7970:                                             ; preds = %7964
  br label %7971

7971:                                             ; preds = %7970
  br label %7972

7972:                                             ; preds = %7971
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %7973 = call ptr @__errno_location() #12
  %7974 = load i32, ptr %7973, align 4, !tbaa !5
  store i32 %7974, ptr %184, align 4, !tbaa !5
  %7975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7976 = call i32 @s2n_print_stacktrace(ptr noundef %7975)
  %7977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7978 = trunc i8 %7977 to i1
  br i1 %7978, label %7979, label %8001

7979:                                             ; preds = %7972
  %7980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7981 = call i32 @fileno(ptr noundef %7980) #11
  %7982 = call i32 @isatty(i32 noundef %7981) #11
  %7983 = icmp ne i32 %7982, 0
  br i1 %7983, label %7984, label %8001

7984:                                             ; preds = %7979
  %7985 = load i32, ptr %184, align 4, !tbaa !5
  %7986 = call ptr @__errno_location() #12
  store i32 %7985, ptr %7986, align 4, !tbaa !5
  %7987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7988 = load i32, ptr @test_count, align 4, !tbaa !5
  %7989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7990 = load i32, ptr %7989, align 4, !tbaa !5
  %7991 = call ptr @s2n_strerror(i32 noundef %7990, ptr noundef @.str.25)
  %7992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7993 = load i32, ptr %7992, align 4, !tbaa !5
  %7994 = call ptr @s2n_strerror_debug(i32 noundef %7993, ptr noundef @.str.25)
  %7995 = call ptr @__errno_location() #12
  %7996 = load i32, ptr %7995, align 4, !tbaa !5
  %7997 = call ptr @strerror(i32 noundef %7996) #11
  %7998 = call ptr @__errno_location() #12
  %7999 = load i32, ptr %7998, align 4, !tbaa !5
  %8000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7987, ptr noundef @.str.23, i32 noundef %7988, ptr noundef @.str.95, ptr noundef @.str.22, i32 noundef 426, ptr noundef %7991, ptr noundef %7994, ptr noundef %7997, i32 noundef %7999) #11
  br label %8018

8001:                                             ; preds = %7979, %7972
  %8002 = load i32, ptr %184, align 4, !tbaa !5
  %8003 = call ptr @__errno_location() #12
  store i32 %8002, ptr %8003, align 4, !tbaa !5
  %8004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8005 = load i32, ptr @test_count, align 4, !tbaa !5
  %8006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8007 = load i32, ptr %8006, align 4, !tbaa !5
  %8008 = call ptr @s2n_strerror(i32 noundef %8007, ptr noundef @.str.25)
  %8009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8010 = load i32, ptr %8009, align 4, !tbaa !5
  %8011 = call ptr @s2n_strerror_debug(i32 noundef %8010, ptr noundef @.str.25)
  %8012 = call ptr @__errno_location() #12
  %8013 = load i32, ptr %8012, align 4, !tbaa !5
  %8014 = call ptr @strerror(i32 noundef %8013) #11
  %8015 = call ptr @__errno_location() #12
  %8016 = load i32, ptr %8015, align 4, !tbaa !5
  %8017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8004, ptr noundef @.str.26, i32 noundef %8005, ptr noundef @.str.95, ptr noundef @.str.22, i32 noundef 426, ptr noundef %8008, ptr noundef %8011, ptr noundef %8014, i32 noundef %8016) #11
  br label %8018

8018:                                             ; preds = %8001, %7984
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %8019

8019:                                             ; preds = %8018
  br label %8020

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

8021:                                             ; No predecessors!
  br label %8022

8022:                                             ; preds = %8021
  br label %8023

8023:                                             ; preds = %8022, %7964
  br label %8024

8024:                                             ; preds = %8023
  br label %8025

8025:                                             ; preds = %8024
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  store i32 0, ptr %185, align 4, !tbaa !5
  br label %8026

8026:                                             ; preds = %8025
  %8027 = load i32, ptr @test_count, align 4, !tbaa !5
  %8028 = add nsw i32 %8027, 1
  store i32 %8028, ptr @test_count, align 4, !tbaa !5
  %8029 = load ptr, ptr %157, align 8, !tbaa !9
  %8030 = load i64, ptr %163, align 8, !tbaa !15
  %8031 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %8029, i64 noundef %8030, ptr noundef %185)
  %8032 = getelementptr inbounds %struct.s2n_result, ptr %186, i32 0, i32 0
  store i32 %8031, ptr %8032, align 4
  %8033 = getelementptr inbounds %struct.s2n_result, ptr %186, i32 0, i32 0
  %8034 = load i32, ptr %8033, align 4
  %8035 = call zeroext i1 @s2n_result_is_ok(i32 %8034)
  br i1 %8035, label %8089, label %8036

8036:                                             ; preds = %8026
  br label %8037

8037:                                             ; preds = %8036
  br label %8038

8038:                                             ; preds = %8037
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %8039 = call ptr @__errno_location() #12
  %8040 = load i32, ptr %8039, align 4, !tbaa !5
  store i32 %8040, ptr %187, align 4, !tbaa !5
  %8041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8042 = call i32 @s2n_print_stacktrace(ptr noundef %8041)
  %8043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8044 = trunc i8 %8043 to i1
  br i1 %8044, label %8045, label %8067

8045:                                             ; preds = %8038
  %8046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8047 = call i32 @fileno(ptr noundef %8046) #11
  %8048 = call i32 @isatty(i32 noundef %8047) #11
  %8049 = icmp ne i32 %8048, 0
  br i1 %8049, label %8050, label %8067

8050:                                             ; preds = %8045
  %8051 = load i32, ptr %187, align 4, !tbaa !5
  %8052 = call ptr @__errno_location() #12
  store i32 %8051, ptr %8052, align 4, !tbaa !5
  %8053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8054 = load i32, ptr @test_count, align 4, !tbaa !5
  %8055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8056 = load i32, ptr %8055, align 4, !tbaa !5
  %8057 = call ptr @s2n_strerror(i32 noundef %8056, ptr noundef @.str.25)
  %8058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8059 = load i32, ptr %8058, align 4, !tbaa !5
  %8060 = call ptr @s2n_strerror_debug(i32 noundef %8059, ptr noundef @.str.25)
  %8061 = call ptr @__errno_location() #12
  %8062 = load i32, ptr %8061, align 4, !tbaa !5
  %8063 = call ptr @strerror(i32 noundef %8062) #11
  %8064 = call ptr @__errno_location() #12
  %8065 = load i32, ptr %8064, align 4, !tbaa !5
  %8066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8053, ptr noundef @.str.23, i32 noundef %8054, ptr noundef @.str.93, ptr noundef @.str.22, i32 noundef 431, ptr noundef %8057, ptr noundef %8060, ptr noundef %8063, i32 noundef %8065) #11
  br label %8084

8067:                                             ; preds = %8045, %8038
  %8068 = load i32, ptr %187, align 4, !tbaa !5
  %8069 = call ptr @__errno_location() #12
  store i32 %8068, ptr %8069, align 4, !tbaa !5
  %8070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8071 = load i32, ptr @test_count, align 4, !tbaa !5
  %8072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8073 = load i32, ptr %8072, align 4, !tbaa !5
  %8074 = call ptr @s2n_strerror(i32 noundef %8073, ptr noundef @.str.25)
  %8075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8076 = load i32, ptr %8075, align 4, !tbaa !5
  %8077 = call ptr @s2n_strerror_debug(i32 noundef %8076, ptr noundef @.str.25)
  %8078 = call ptr @__errno_location() #12
  %8079 = load i32, ptr %8078, align 4, !tbaa !5
  %8080 = call ptr @strerror(i32 noundef %8079) #11
  %8081 = call ptr @__errno_location() #12
  %8082 = load i32, ptr %8081, align 4, !tbaa !5
  %8083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8070, ptr noundef @.str.26, i32 noundef %8071, ptr noundef @.str.93, ptr noundef @.str.22, i32 noundef 431, ptr noundef %8074, ptr noundef %8077, ptr noundef %8080, i32 noundef %8082) #11
  br label %8084

8084:                                             ; preds = %8067, %8050
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %8085

8085:                                             ; preds = %8084
  br label %8086

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

8087:                                             ; No predecessors!
  br label %8088

8088:                                             ; preds = %8087
  br label %8089

8089:                                             ; preds = %8088, %8026
  br label %8090

8090:                                             ; preds = %8089
  br label %8091

8091:                                             ; preds = %8090
  br label %8092

8092:                                             ; preds = %8091
  %8093 = load i32, ptr @test_count, align 4, !tbaa !5
  %8094 = add nsw i32 %8093, 1
  store i32 %8094, ptr @test_count, align 4, !tbaa !5
  %8095 = load i32, ptr %185, align 4, !tbaa !5
  %8096 = zext i32 %8095 to i64
  %8097 = icmp eq i64 %8096, 1800
  br i1 %8097, label %8151, label %8098

8098:                                             ; preds = %8092
  br label %8099

8099:                                             ; preds = %8098
  br label %8100

8100:                                             ; preds = %8099
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %8101 = call ptr @__errno_location() #12
  %8102 = load i32, ptr %8101, align 4, !tbaa !5
  store i32 %8102, ptr %188, align 4, !tbaa !5
  %8103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8104 = call i32 @s2n_print_stacktrace(ptr noundef %8103)
  %8105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8106 = trunc i8 %8105 to i1
  br i1 %8106, label %8107, label %8129

8107:                                             ; preds = %8100
  %8108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8109 = call i32 @fileno(ptr noundef %8108) #11
  %8110 = call i32 @isatty(i32 noundef %8109) #11
  %8111 = icmp ne i32 %8110, 0
  br i1 %8111, label %8112, label %8129

8112:                                             ; preds = %8107
  %8113 = load i32, ptr %188, align 4, !tbaa !5
  %8114 = call ptr @__errno_location() #12
  store i32 %8113, ptr %8114, align 4, !tbaa !5
  %8115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8116 = load i32, ptr @test_count, align 4, !tbaa !5
  %8117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8118 = load i32, ptr %8117, align 4, !tbaa !5
  %8119 = call ptr @s2n_strerror(i32 noundef %8118, ptr noundef @.str.25)
  %8120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8121 = load i32, ptr %8120, align 4, !tbaa !5
  %8122 = call ptr @s2n_strerror_debug(i32 noundef %8121, ptr noundef @.str.25)
  %8123 = call ptr @__errno_location() #12
  %8124 = load i32, ptr %8123, align 4, !tbaa !5
  %8125 = call ptr @strerror(i32 noundef %8124) #11
  %8126 = call ptr @__errno_location() #12
  %8127 = load i32, ptr %8126, align 4, !tbaa !5
  %8128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8115, ptr noundef @.str.23, i32 noundef %8116, ptr noundef @.str.94, ptr noundef @.str.22, i32 noundef 432, ptr noundef %8119, ptr noundef %8122, ptr noundef %8125, i32 noundef %8127) #11
  br label %8146

8129:                                             ; preds = %8107, %8100
  %8130 = load i32, ptr %188, align 4, !tbaa !5
  %8131 = call ptr @__errno_location() #12
  store i32 %8130, ptr %8131, align 4, !tbaa !5
  %8132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8133 = load i32, ptr @test_count, align 4, !tbaa !5
  %8134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8135 = load i32, ptr %8134, align 4, !tbaa !5
  %8136 = call ptr @s2n_strerror(i32 noundef %8135, ptr noundef @.str.25)
  %8137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8138 = load i32, ptr %8137, align 4, !tbaa !5
  %8139 = call ptr @s2n_strerror_debug(i32 noundef %8138, ptr noundef @.str.25)
  %8140 = call ptr @__errno_location() #12
  %8141 = load i32, ptr %8140, align 4, !tbaa !5
  %8142 = call ptr @strerror(i32 noundef %8141) #11
  %8143 = call ptr @__errno_location() #12
  %8144 = load i32, ptr %8143, align 4, !tbaa !5
  %8145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8132, ptr noundef @.str.26, i32 noundef %8133, ptr noundef @.str.94, ptr noundef @.str.22, i32 noundef 432, ptr noundef %8136, ptr noundef %8139, ptr noundef %8142, i32 noundef %8144) #11
  br label %8146

8146:                                             ; preds = %8129, %8112
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %8147

8147:                                             ; preds = %8146
  br label %8148

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

8149:                                             ; No predecessors!
  br label %8150

8150:                                             ; preds = %8149
  br label %8151

8151:                                             ; preds = %8150, %8092
  br label %8152

8152:                                             ; preds = %8151
  br label %8153

8153:                                             ; preds = %8152
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %8154

8154:                                             ; preds = %8153
  %8155 = load i32, ptr @test_count, align 4, !tbaa !5
  %8156 = add nsw i32 %8155, 1
  store i32 %8156, ptr @test_count, align 4, !tbaa !5
  %8157 = load ptr, ptr %157, align 8, !tbaa !9
  %8158 = getelementptr inbounds %struct.s2n_connection, ptr %8157, i32 0, i32 33
  %8159 = call i32 @s2n_psk_parameters_wipe(ptr noundef %8158)
  %8160 = getelementptr inbounds %struct.s2n_result, ptr %189, i32 0, i32 0
  store i32 %8159, ptr %8160, align 4
  %8161 = getelementptr inbounds %struct.s2n_result, ptr %189, i32 0, i32 0
  %8162 = load i32, ptr %8161, align 4
  %8163 = call zeroext i1 @s2n_result_is_ok(i32 %8162)
  br i1 %8163, label %8217, label %8164

8164:                                             ; preds = %8154
  br label %8165

8165:                                             ; preds = %8164
  br label %8166

8166:                                             ; preds = %8165
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %8167 = call ptr @__errno_location() #12
  %8168 = load i32, ptr %8167, align 4, !tbaa !5
  store i32 %8168, ptr %190, align 4, !tbaa !5
  %8169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8170 = call i32 @s2n_print_stacktrace(ptr noundef %8169)
  %8171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8172 = trunc i8 %8171 to i1
  br i1 %8172, label %8173, label %8195

8173:                                             ; preds = %8166
  %8174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8175 = call i32 @fileno(ptr noundef %8174) #11
  %8176 = call i32 @isatty(i32 noundef %8175) #11
  %8177 = icmp ne i32 %8176, 0
  br i1 %8177, label %8178, label %8195

8178:                                             ; preds = %8173
  %8179 = load i32, ptr %190, align 4, !tbaa !5
  %8180 = call ptr @__errno_location() #12
  store i32 %8179, ptr %8180, align 4, !tbaa !5
  %8181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8182 = load i32, ptr @test_count, align 4, !tbaa !5
  %8183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8184 = load i32, ptr %8183, align 4, !tbaa !5
  %8185 = call ptr @s2n_strerror(i32 noundef %8184, ptr noundef @.str.25)
  %8186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8187 = load i32, ptr %8186, align 4, !tbaa !5
  %8188 = call ptr @s2n_strerror_debug(i32 noundef %8187, ptr noundef @.str.25)
  %8189 = call ptr @__errno_location() #12
  %8190 = load i32, ptr %8189, align 4, !tbaa !5
  %8191 = call ptr @strerror(i32 noundef %8190) #11
  %8192 = call ptr @__errno_location() #12
  %8193 = load i32, ptr %8192, align 4, !tbaa !5
  %8194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8181, ptr noundef @.str.23, i32 noundef %8182, ptr noundef @.str.96, ptr noundef @.str.22, i32 noundef 437, ptr noundef %8185, ptr noundef %8188, ptr noundef %8191, i32 noundef %8193) #11
  br label %8212

8195:                                             ; preds = %8173, %8166
  %8196 = load i32, ptr %190, align 4, !tbaa !5
  %8197 = call ptr @__errno_location() #12
  store i32 %8196, ptr %8197, align 4, !tbaa !5
  %8198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8199 = load i32, ptr @test_count, align 4, !tbaa !5
  %8200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8201 = load i32, ptr %8200, align 4, !tbaa !5
  %8202 = call ptr @s2n_strerror(i32 noundef %8201, ptr noundef @.str.25)
  %8203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8204 = load i32, ptr %8203, align 4, !tbaa !5
  %8205 = call ptr @s2n_strerror_debug(i32 noundef %8204, ptr noundef @.str.25)
  %8206 = call ptr @__errno_location() #12
  %8207 = load i32, ptr %8206, align 4, !tbaa !5
  %8208 = call ptr @strerror(i32 noundef %8207) #11
  %8209 = call ptr @__errno_location() #12
  %8210 = load i32, ptr %8209, align 4, !tbaa !5
  %8211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8198, ptr noundef @.str.26, i32 noundef %8199, ptr noundef @.str.96, ptr noundef @.str.22, i32 noundef 437, ptr noundef %8202, ptr noundef %8205, ptr noundef %8208, i32 noundef %8210) #11
  br label %8212

8212:                                             ; preds = %8195, %8178
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %8213

8213:                                             ; preds = %8212
  br label %8214

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

8215:                                             ; No predecessors!
  br label %8216

8216:                                             ; preds = %8215
  br label %8217

8217:                                             ; preds = %8216, %8154
  br label %8218

8218:                                             ; preds = %8217
  br label %8219

8219:                                             ; preds = %8218
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  store i32 0, ptr %191, align 4, !tbaa !5
  br label %8220

8220:                                             ; preds = %8219
  %8221 = load i32, ptr @test_count, align 4, !tbaa !5
  %8222 = add nsw i32 %8221, 1
  store i32 %8222, ptr @test_count, align 4, !tbaa !5
  %8223 = load ptr, ptr %157, align 8, !tbaa !9
  %8224 = load i64, ptr %163, align 8, !tbaa !15
  %8225 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %8223, i64 noundef %8224, ptr noundef %191)
  %8226 = getelementptr inbounds %struct.s2n_result, ptr %192, i32 0, i32 0
  store i32 %8225, ptr %8226, align 4
  %8227 = getelementptr inbounds %struct.s2n_result, ptr %192, i32 0, i32 0
  %8228 = load i32, ptr %8227, align 4
  %8229 = call zeroext i1 @s2n_result_is_ok(i32 %8228)
  br i1 %8229, label %8283, label %8230

8230:                                             ; preds = %8220
  br label %8231

8231:                                             ; preds = %8230
  br label %8232

8232:                                             ; preds = %8231
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %8233 = call ptr @__errno_location() #12
  %8234 = load i32, ptr %8233, align 4, !tbaa !5
  store i32 %8234, ptr %193, align 4, !tbaa !5
  %8235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8236 = call i32 @s2n_print_stacktrace(ptr noundef %8235)
  %8237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8238 = trunc i8 %8237 to i1
  br i1 %8238, label %8239, label %8261

8239:                                             ; preds = %8232
  %8240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8241 = call i32 @fileno(ptr noundef %8240) #11
  %8242 = call i32 @isatty(i32 noundef %8241) #11
  %8243 = icmp ne i32 %8242, 0
  br i1 %8243, label %8244, label %8261

8244:                                             ; preds = %8239
  %8245 = load i32, ptr %193, align 4, !tbaa !5
  %8246 = call ptr @__errno_location() #12
  store i32 %8245, ptr %8246, align 4, !tbaa !5
  %8247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8248 = load i32, ptr @test_count, align 4, !tbaa !5
  %8249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8250 = load i32, ptr %8249, align 4, !tbaa !5
  %8251 = call ptr @s2n_strerror(i32 noundef %8250, ptr noundef @.str.25)
  %8252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8253 = load i32, ptr %8252, align 4, !tbaa !5
  %8254 = call ptr @s2n_strerror_debug(i32 noundef %8253, ptr noundef @.str.25)
  %8255 = call ptr @__errno_location() #12
  %8256 = load i32, ptr %8255, align 4, !tbaa !5
  %8257 = call ptr @strerror(i32 noundef %8256) #11
  %8258 = call ptr @__errno_location() #12
  %8259 = load i32, ptr %8258, align 4, !tbaa !5
  %8260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8247, ptr noundef @.str.23, i32 noundef %8248, ptr noundef @.str.93, ptr noundef @.str.22, i32 noundef 440, ptr noundef %8251, ptr noundef %8254, ptr noundef %8257, i32 noundef %8259) #11
  br label %8278

8261:                                             ; preds = %8239, %8232
  %8262 = load i32, ptr %193, align 4, !tbaa !5
  %8263 = call ptr @__errno_location() #12
  store i32 %8262, ptr %8263, align 4, !tbaa !5
  %8264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8265 = load i32, ptr @test_count, align 4, !tbaa !5
  %8266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8267 = load i32, ptr %8266, align 4, !tbaa !5
  %8268 = call ptr @s2n_strerror(i32 noundef %8267, ptr noundef @.str.25)
  %8269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8270 = load i32, ptr %8269, align 4, !tbaa !5
  %8271 = call ptr @s2n_strerror_debug(i32 noundef %8270, ptr noundef @.str.25)
  %8272 = call ptr @__errno_location() #12
  %8273 = load i32, ptr %8272, align 4, !tbaa !5
  %8274 = call ptr @strerror(i32 noundef %8273) #11
  %8275 = call ptr @__errno_location() #12
  %8276 = load i32, ptr %8275, align 4, !tbaa !5
  %8277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8264, ptr noundef @.str.26, i32 noundef %8265, ptr noundef @.str.93, ptr noundef @.str.22, i32 noundef 440, ptr noundef %8268, ptr noundef %8271, ptr noundef %8274, i32 noundef %8276) #11
  br label %8278

8278:                                             ; preds = %8261, %8244
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %8279

8279:                                             ; preds = %8278
  br label %8280

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

8281:                                             ; No predecessors!
  br label %8282

8282:                                             ; preds = %8281
  br label %8283

8283:                                             ; preds = %8282, %8220
  br label %8284

8284:                                             ; preds = %8283
  br label %8285

8285:                                             ; preds = %8284
  br label %8286

8286:                                             ; preds = %8285
  %8287 = load i32, ptr @test_count, align 4, !tbaa !5
  %8288 = add nsw i32 %8287, 1
  store i32 %8288, ptr @test_count, align 4, !tbaa !5
  %8289 = load i32, ptr %191, align 4, !tbaa !5
  %8290 = zext i32 %8289 to i64
  %8291 = icmp eq i64 %8290, 1800
  br i1 %8291, label %8345, label %8292

8292:                                             ; preds = %8286
  br label %8293

8293:                                             ; preds = %8292
  br label %8294

8294:                                             ; preds = %8293
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %8295 = call ptr @__errno_location() #12
  %8296 = load i32, ptr %8295, align 4, !tbaa !5
  store i32 %8296, ptr %194, align 4, !tbaa !5
  %8297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8298 = call i32 @s2n_print_stacktrace(ptr noundef %8297)
  %8299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8300 = trunc i8 %8299 to i1
  br i1 %8300, label %8301, label %8323

8301:                                             ; preds = %8294
  %8302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8303 = call i32 @fileno(ptr noundef %8302) #11
  %8304 = call i32 @isatty(i32 noundef %8303) #11
  %8305 = icmp ne i32 %8304, 0
  br i1 %8305, label %8306, label %8323

8306:                                             ; preds = %8301
  %8307 = load i32, ptr %194, align 4, !tbaa !5
  %8308 = call ptr @__errno_location() #12
  store i32 %8307, ptr %8308, align 4, !tbaa !5
  %8309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8310 = load i32, ptr @test_count, align 4, !tbaa !5
  %8311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8312 = load i32, ptr %8311, align 4, !tbaa !5
  %8313 = call ptr @s2n_strerror(i32 noundef %8312, ptr noundef @.str.25)
  %8314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8315 = load i32, ptr %8314, align 4, !tbaa !5
  %8316 = call ptr @s2n_strerror_debug(i32 noundef %8315, ptr noundef @.str.25)
  %8317 = call ptr @__errno_location() #12
  %8318 = load i32, ptr %8317, align 4, !tbaa !5
  %8319 = call ptr @strerror(i32 noundef %8318) #11
  %8320 = call ptr @__errno_location() #12
  %8321 = load i32, ptr %8320, align 4, !tbaa !5
  %8322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8309, ptr noundef @.str.23, i32 noundef %8310, ptr noundef @.str.94, ptr noundef @.str.22, i32 noundef 441, ptr noundef %8313, ptr noundef %8316, ptr noundef %8319, i32 noundef %8321) #11
  br label %8340

8323:                                             ; preds = %8301, %8294
  %8324 = load i32, ptr %194, align 4, !tbaa !5
  %8325 = call ptr @__errno_location() #12
  store i32 %8324, ptr %8325, align 4, !tbaa !5
  %8326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8327 = load i32, ptr @test_count, align 4, !tbaa !5
  %8328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8329 = load i32, ptr %8328, align 4, !tbaa !5
  %8330 = call ptr @s2n_strerror(i32 noundef %8329, ptr noundef @.str.25)
  %8331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8332 = load i32, ptr %8331, align 4, !tbaa !5
  %8333 = call ptr @s2n_strerror_debug(i32 noundef %8332, ptr noundef @.str.25)
  %8334 = call ptr @__errno_location() #12
  %8335 = load i32, ptr %8334, align 4, !tbaa !5
  %8336 = call ptr @strerror(i32 noundef %8335) #11
  %8337 = call ptr @__errno_location() #12
  %8338 = load i32, ptr %8337, align 4, !tbaa !5
  %8339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8326, ptr noundef @.str.26, i32 noundef %8327, ptr noundef @.str.94, ptr noundef @.str.22, i32 noundef 441, ptr noundef %8330, ptr noundef %8333, ptr noundef %8336, i32 noundef %8338) #11
  br label %8340

8340:                                             ; preds = %8323, %8306
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %8341

8341:                                             ; preds = %8340
  br label %8342

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

8343:                                             ; No predecessors!
  br label %8344

8344:                                             ; preds = %8343
  br label %8345

8345:                                             ; preds = %8344, %8286
  br label %8346

8346:                                             ; preds = %8345
  br label %8347

8347:                                             ; preds = %8346
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %8348

8348:                                             ; preds = %8347
  %8349 = load i32, ptr @test_count, align 4, !tbaa !5
  %8350 = add nsw i32 %8349, 1
  store i32 %8350, ptr @test_count, align 4, !tbaa !5
  %8351 = load ptr, ptr %157, align 8, !tbaa !9
  %8352 = call i32 @s2n_test_init_ticket_lifetime(ptr noundef %8351, ptr noundef %163)
  %8353 = getelementptr inbounds %struct.s2n_result, ptr %195, i32 0, i32 0
  store i32 %8352, ptr %8353, align 4
  %8354 = getelementptr inbounds %struct.s2n_result, ptr %195, i32 0, i32 0
  %8355 = load i32, ptr %8354, align 4
  %8356 = call zeroext i1 @s2n_result_is_ok(i32 %8355)
  br i1 %8356, label %8410, label %8357

8357:                                             ; preds = %8348
  br label %8358

8358:                                             ; preds = %8357
  br label %8359

8359:                                             ; preds = %8358
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  %8360 = call ptr @__errno_location() #12
  %8361 = load i32, ptr %8360, align 4, !tbaa !5
  store i32 %8361, ptr %196, align 4, !tbaa !5
  %8362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8363 = call i32 @s2n_print_stacktrace(ptr noundef %8362)
  %8364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8365 = trunc i8 %8364 to i1
  br i1 %8365, label %8366, label %8388

8366:                                             ; preds = %8359
  %8367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8368 = call i32 @fileno(ptr noundef %8367) #11
  %8369 = call i32 @isatty(i32 noundef %8368) #11
  %8370 = icmp ne i32 %8369, 0
  br i1 %8370, label %8371, label %8388

8371:                                             ; preds = %8366
  %8372 = load i32, ptr %196, align 4, !tbaa !5
  %8373 = call ptr @__errno_location() #12
  store i32 %8372, ptr %8373, align 4, !tbaa !5
  %8374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8375 = load i32, ptr @test_count, align 4, !tbaa !5
  %8376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8377 = load i32, ptr %8376, align 4, !tbaa !5
  %8378 = call ptr @s2n_strerror(i32 noundef %8377, ptr noundef @.str.25)
  %8379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8380 = load i32, ptr %8379, align 4, !tbaa !5
  %8381 = call ptr @s2n_strerror_debug(i32 noundef %8380, ptr noundef @.str.25)
  %8382 = call ptr @__errno_location() #12
  %8383 = load i32, ptr %8382, align 4, !tbaa !5
  %8384 = call ptr @strerror(i32 noundef %8383) #11
  %8385 = call ptr @__errno_location() #12
  %8386 = load i32, ptr %8385, align 4, !tbaa !5
  %8387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8374, ptr noundef @.str.23, i32 noundef %8375, ptr noundef @.str.92, ptr noundef @.str.22, i32 noundef 447, ptr noundef %8378, ptr noundef %8381, ptr noundef %8384, i32 noundef %8386) #11
  br label %8405

8388:                                             ; preds = %8366, %8359
  %8389 = load i32, ptr %196, align 4, !tbaa !5
  %8390 = call ptr @__errno_location() #12
  store i32 %8389, ptr %8390, align 4, !tbaa !5
  %8391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8392 = load i32, ptr @test_count, align 4, !tbaa !5
  %8393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8394 = load i32, ptr %8393, align 4, !tbaa !5
  %8395 = call ptr @s2n_strerror(i32 noundef %8394, ptr noundef @.str.25)
  %8396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8397 = load i32, ptr %8396, align 4, !tbaa !5
  %8398 = call ptr @s2n_strerror_debug(i32 noundef %8397, ptr noundef @.str.25)
  %8399 = call ptr @__errno_location() #12
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  %8401 = call ptr @strerror(i32 noundef %8400) #11
  %8402 = call ptr @__errno_location() #12
  %8403 = load i32, ptr %8402, align 4, !tbaa !5
  %8404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8391, ptr noundef @.str.26, i32 noundef %8392, ptr noundef @.str.92, ptr noundef @.str.22, i32 noundef 447, ptr noundef %8395, ptr noundef %8398, ptr noundef %8401, i32 noundef %8403) #11
  br label %8405

8405:                                             ; preds = %8388, %8371
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  br label %8406

8406:                                             ; preds = %8405
  br label %8407

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

8408:                                             ; No predecessors!
  br label %8409

8409:                                             ; preds = %8408
  br label %8410

8410:                                             ; preds = %8409, %8348
  br label %8411

8411:                                             ; preds = %8410
  br label %8412

8412:                                             ; preds = %8411
  call void @llvm.lifetime.start.p0(i64 8, ptr %197) #11
  %8413 = load ptr, ptr %157, align 8, !tbaa !9
  %8414 = getelementptr inbounds %struct.s2n_connection, ptr %8413, i32 0, i32 33
  %8415 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %8414, i32 0, i32 4
  %8416 = load ptr, ptr %8415, align 8, !tbaa !61
  store ptr %8416, ptr %197, align 8, !tbaa !9
  %8417 = load i64, ptr @mock_current_time, align 8, !tbaa !15
  %8418 = add i64 1800000000000, %8417
  %8419 = load ptr, ptr %197, align 8, !tbaa !9
  %8420 = getelementptr inbounds %struct.s2n_psk, ptr %8419, i32 0, i32 8
  store i64 %8418, ptr %8420, align 8, !tbaa !62
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  store i32 0, ptr %198, align 4, !tbaa !5
  br label %8421

8421:                                             ; preds = %8412
  %8422 = load i32, ptr @test_count, align 4, !tbaa !5
  %8423 = add nsw i32 %8422, 1
  store i32 %8423, ptr @test_count, align 4, !tbaa !5
  %8424 = load ptr, ptr %157, align 8, !tbaa !9
  %8425 = load i64, ptr %163, align 8, !tbaa !15
  %8426 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %8424, i64 noundef %8425, ptr noundef %198)
  %8427 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  store i32 %8426, ptr %8427, align 4
  %8428 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  %8429 = load i32, ptr %8428, align 4
  %8430 = call zeroext i1 @s2n_result_is_ok(i32 %8429)
  br i1 %8430, label %8484, label %8431

8431:                                             ; preds = %8421
  br label %8432

8432:                                             ; preds = %8431
  br label %8433

8433:                                             ; preds = %8432
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %8434 = call ptr @__errno_location() #12
  %8435 = load i32, ptr %8434, align 4, !tbaa !5
  store i32 %8435, ptr %200, align 4, !tbaa !5
  %8436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8437 = call i32 @s2n_print_stacktrace(ptr noundef %8436)
  %8438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8439 = trunc i8 %8438 to i1
  br i1 %8439, label %8440, label %8462

8440:                                             ; preds = %8433
  %8441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8442 = call i32 @fileno(ptr noundef %8441) #11
  %8443 = call i32 @isatty(i32 noundef %8442) #11
  %8444 = icmp ne i32 %8443, 0
  br i1 %8444, label %8445, label %8462

8445:                                             ; preds = %8440
  %8446 = load i32, ptr %200, align 4, !tbaa !5
  %8447 = call ptr @__errno_location() #12
  store i32 %8446, ptr %8447, align 4, !tbaa !5
  %8448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8449 = load i32, ptr @test_count, align 4, !tbaa !5
  %8450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8451 = load i32, ptr %8450, align 4, !tbaa !5
  %8452 = call ptr @s2n_strerror(i32 noundef %8451, ptr noundef @.str.25)
  %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_debug(i32 noundef %8454, ptr noundef @.str.25)
  %8456 = call ptr @__errno_location() #12
  %8457 = load i32, ptr %8456, align 4, !tbaa !5
  %8458 = call ptr @strerror(i32 noundef %8457) #11
  %8459 = call ptr @__errno_location() #12
  %8460 = load i32, ptr %8459, align 4, !tbaa !5
  %8461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8448, ptr noundef @.str.23, i32 noundef %8449, ptr noundef @.str.93, ptr noundef @.str.22, i32 noundef 452, ptr noundef %8452, ptr noundef %8455, ptr noundef %8458, i32 noundef %8460) #11
  br label %8479

8462:                                             ; preds = %8440, %8433
  %8463 = load i32, ptr %200, align 4, !tbaa !5
  %8464 = call ptr @__errno_location() #12
  store i32 %8463, ptr %8464, align 4, !tbaa !5
  %8465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8466 = load i32, ptr @test_count, align 4, !tbaa !5
  %8467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8468 = load i32, ptr %8467, align 4, !tbaa !5
  %8469 = call ptr @s2n_strerror(i32 noundef %8468, ptr noundef @.str.25)
  %8470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8471 = load i32, ptr %8470, align 4, !tbaa !5
  %8472 = call ptr @s2n_strerror_debug(i32 noundef %8471, ptr noundef @.str.25)
  %8473 = call ptr @__errno_location() #12
  %8474 = load i32, ptr %8473, align 4, !tbaa !5
  %8475 = call ptr @strerror(i32 noundef %8474) #11
  %8476 = call ptr @__errno_location() #12
  %8477 = load i32, ptr %8476, align 4, !tbaa !5
  %8478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8465, ptr noundef @.str.26, i32 noundef %8466, ptr noundef @.str.93, ptr noundef @.str.22, i32 noundef 452, ptr noundef %8469, ptr noundef %8472, ptr noundef %8475, i32 noundef %8477) #11
  br label %8479

8479:                                             ; preds = %8462, %8445
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %8480

8480:                                             ; preds = %8479
  br label %8481

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

8482:                                             ; No predecessors!
  br label %8483

8483:                                             ; preds = %8482
  br label %8484

8484:                                             ; preds = %8483, %8421
  br label %8485

8485:                                             ; preds = %8484
  br label %8486

8486:                                             ; preds = %8485
  br label %8487

8487:                                             ; preds = %8486
  %8488 = load i32, ptr @test_count, align 4, !tbaa !5
  %8489 = add nsw i32 %8488, 1
  store i32 %8489, ptr @test_count, align 4, !tbaa !5
  %8490 = load i32, ptr %198, align 4, !tbaa !5
  %8491 = zext i32 %8490 to i64
  %8492 = icmp eq i64 %8491, 1800
  br i1 %8492, label %8546, label %8493

8493:                                             ; preds = %8487
  br label %8494

8494:                                             ; preds = %8493
  br label %8495

8495:                                             ; preds = %8494
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %8496 = call ptr @__errno_location() #12
  %8497 = load i32, ptr %8496, align 4, !tbaa !5
  store i32 %8497, ptr %201, align 4, !tbaa !5
  %8498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8499 = call i32 @s2n_print_stacktrace(ptr noundef %8498)
  %8500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8501 = trunc i8 %8500 to i1
  br i1 %8501, label %8502, label %8524

8502:                                             ; preds = %8495
  %8503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8504 = call i32 @fileno(ptr noundef %8503) #11
  %8505 = call i32 @isatty(i32 noundef %8504) #11
  %8506 = icmp ne i32 %8505, 0
  br i1 %8506, label %8507, label %8524

8507:                                             ; preds = %8502
  %8508 = load i32, ptr %201, align 4, !tbaa !5
  %8509 = call ptr @__errno_location() #12
  store i32 %8508, ptr %8509, align 4, !tbaa !5
  %8510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8511 = load i32, ptr @test_count, align 4, !tbaa !5
  %8512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8513 = load i32, ptr %8512, align 4, !tbaa !5
  %8514 = call ptr @s2n_strerror(i32 noundef %8513, ptr noundef @.str.25)
  %8515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8516 = load i32, ptr %8515, align 4, !tbaa !5
  %8517 = call ptr @s2n_strerror_debug(i32 noundef %8516, ptr noundef @.str.25)
  %8518 = call ptr @__errno_location() #12
  %8519 = load i32, ptr %8518, align 4, !tbaa !5
  %8520 = call ptr @strerror(i32 noundef %8519) #11
  %8521 = call ptr @__errno_location() #12
  %8522 = load i32, ptr %8521, align 4, !tbaa !5
  %8523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8510, ptr noundef @.str.23, i32 noundef %8511, ptr noundef @.str.94, ptr noundef @.str.22, i32 noundef 453, ptr noundef %8514, ptr noundef %8517, ptr noundef %8520, i32 noundef %8522) #11
  br label %8541

8524:                                             ; preds = %8502, %8495
  %8525 = load i32, ptr %201, align 4, !tbaa !5
  %8526 = call ptr @__errno_location() #12
  store i32 %8525, ptr %8526, align 4, !tbaa !5
  %8527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8528 = load i32, ptr @test_count, align 4, !tbaa !5
  %8529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8530 = load i32, ptr %8529, align 4, !tbaa !5
  %8531 = call ptr @s2n_strerror(i32 noundef %8530, ptr noundef @.str.25)
  %8532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8533 = load i32, ptr %8532, align 4, !tbaa !5
  %8534 = call ptr @s2n_strerror_debug(i32 noundef %8533, ptr noundef @.str.25)
  %8535 = call ptr @__errno_location() #12
  %8536 = load i32, ptr %8535, align 4, !tbaa !5
  %8537 = call ptr @strerror(i32 noundef %8536) #11
  %8538 = call ptr @__errno_location() #12
  %8539 = load i32, ptr %8538, align 4, !tbaa !5
  %8540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8527, ptr noundef @.str.26, i32 noundef %8528, ptr noundef @.str.94, ptr noundef @.str.22, i32 noundef 453, ptr noundef %8531, ptr noundef %8534, ptr noundef %8537, i32 noundef %8539) #11
  br label %8541

8541:                                             ; preds = %8524, %8507
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %8542

8542:                                             ; preds = %8541
  br label %8543

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

8544:                                             ; No predecessors!
  br label %8545

8545:                                             ; preds = %8544
  br label %8546

8546:                                             ; preds = %8545, %8487
  br label %8547

8547:                                             ; preds = %8546
  br label %8548

8548:                                             ; preds = %8547
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %171) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #11
  %8549 = call i32 @s2n_config_ptr_free(ptr noundef %159)
  %8550 = getelementptr inbounds %struct.s2n_result, ptr %202, i32 0, i32 0
  store i32 %8549, ptr %8550, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %159) #11
  %8551 = call i32 @s2n_connection_ptr_free(ptr noundef %157)
  %8552 = getelementptr inbounds %struct.s2n_result, ptr %203, i32 0, i32 0
  store i32 %8551, ptr %8552, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  call void @llvm.lifetime.start.p0(i64 28, ptr %204) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %204, ptr align 16 @__const.main.test_cases, i64 28, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %205) #11
  store i64 0, ptr %205, align 8, !tbaa !15
  br label %8553

8553:                                             ; preds = %8826, %8548
  %8554 = load i64, ptr %205, align 8, !tbaa !15
  %8555 = icmp ult i64 %8554, 7
  br i1 %8555, label %8557, label %8556

8556:                                             ; preds = %8553
  call void @llvm.lifetime.end.p0(i64 8, ptr %205) #11
  br label %8829

8557:                                             ; preds = %8553
  call void @llvm.lifetime.start.p0(i64 2, ptr %206) #11
  call void @llvm.memset.p0.i64(ptr align 1 %206, i8 0, i64 2, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %207) #11
  call void @llvm.memset.p0.i64(ptr align 8 %207, i8 0, i64 24, i1 false)
  br label %8558

8558:                                             ; preds = %8557
  %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 [2 x i8], ptr %206, i64 0, i64 0
  %8562 = call i32 @s2n_blob_init(ptr noundef %207, ptr noundef %8561, i32 noundef 2)
  %8563 = icmp eq i32 %8562, -1
  br i1 %8563, label %8564, label %8617

8564:                                             ; preds = %8558
  br label %8565

8565:                                             ; preds = %8564
  br label %8566

8566:                                             ; preds = %8565
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %8567 = call ptr @__errno_location() #12
  %8568 = load i32, ptr %8567, align 4, !tbaa !5
  store i32 %8568, ptr %208, align 4, !tbaa !5
  %8569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8570 = call i32 @s2n_print_stacktrace(ptr noundef %8569)
  %8571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8572 = trunc i8 %8571 to i1
  br i1 %8572, label %8573, label %8595

8573:                                             ; preds = %8566
  %8574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8575 = call i32 @fileno(ptr noundef %8574) #11
  %8576 = call i32 @isatty(i32 noundef %8575) #11
  %8577 = icmp ne i32 %8576, 0
  br i1 %8577, label %8578, label %8595

8578:                                             ; preds = %8573
  %8579 = load i32, ptr %208, 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.25)
  %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.25)
  %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.23, i32 noundef %8582, ptr noundef @.str.97, ptr noundef @.str.22, i32 noundef 475, ptr noundef %8585, ptr noundef %8588, ptr noundef %8591, i32 noundef %8593) #11
  br label %8612

8595:                                             ; preds = %8573, %8566
  %8596 = load i32, ptr %208, align 4, !tbaa !5
  %8597 = call ptr @__errno_location() #12
  store i32 %8596, ptr %8597, align 4, !tbaa !5
  %8598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8599 = load i32, ptr @test_count, align 4, !tbaa !5
  %8600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8601 = load i32, ptr %8600, align 4, !tbaa !5
  %8602 = call ptr @s2n_strerror(i32 noundef %8601, ptr noundef @.str.25)
  %8603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8604 = load i32, ptr %8603, align 4, !tbaa !5
  %8605 = call ptr @s2n_strerror_debug(i32 noundef %8604, ptr noundef @.str.25)
  %8606 = call ptr @__errno_location() #12
  %8607 = load i32, ptr %8606, align 4, !tbaa !5
  %8608 = call ptr @strerror(i32 noundef %8607) #11
  %8609 = call ptr @__errno_location() #12
  %8610 = load i32, ptr %8609, align 4, !tbaa !5
  %8611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8598, ptr noundef @.str.26, i32 noundef %8599, ptr noundef @.str.97, ptr noundef @.str.22, i32 noundef 475, ptr noundef %8602, ptr noundef %8605, ptr noundef %8608, i32 noundef %8610) #11
  br label %8612

8612:                                             ; preds = %8595, %8578
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %8613

8613:                                             ; preds = %8612
  br label %8614

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

8615:                                             ; No predecessors!
  br label %8616

8616:                                             ; preds = %8615
  br label %8617

8617:                                             ; preds = %8616, %8558
  br label %8618

8618:                                             ; preds = %8617
  br label %8619

8619:                                             ; preds = %8618
  br label %8620

8620:                                             ; preds = %8619
  %8621 = load i32, ptr @test_count, align 4, !tbaa !5
  %8622 = add nsw i32 %8621, 1
  store i32 %8622, ptr @test_count, align 4, !tbaa !5
  %8623 = load i64, ptr %205, align 8, !tbaa !15
  %8624 = getelementptr inbounds [7 x %struct.anon], ptr %204, i64 0, i64 %8623
  %8625 = getelementptr inbounds %struct.anon, ptr %8624, i32 0, i32 0
  %8626 = load i16, ptr %8625, align 4, !tbaa !65
  %8627 = call i32 @s2n_generate_ticket_nonce(i16 noundef zeroext %8626, ptr noundef %207)
  %8628 = getelementptr inbounds %struct.s2n_result, ptr %209, i32 0, i32 0
  store i32 %8627, ptr %8628, align 4
  %8629 = getelementptr inbounds %struct.s2n_result, ptr %209, i32 0, i32 0
  %8630 = load i32, ptr %8629, align 4
  %8631 = call zeroext i1 @s2n_result_is_ok(i32 %8630)
  br i1 %8631, label %8685, label %8632

8632:                                             ; preds = %8620
  br label %8633

8633:                                             ; preds = %8632
  br label %8634

8634:                                             ; preds = %8633
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %8635 = call ptr @__errno_location() #12
  %8636 = load i32, ptr %8635, align 4, !tbaa !5
  store i32 %8636, ptr %210, align 4, !tbaa !5
  %8637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8638 = call i32 @s2n_print_stacktrace(ptr noundef %8637)
  %8639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8640 = trunc i8 %8639 to i1
  br i1 %8640, label %8641, label %8663

8641:                                             ; preds = %8634
  %8642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8643 = call i32 @fileno(ptr noundef %8642) #11
  %8644 = call i32 @isatty(i32 noundef %8643) #11
  %8645 = icmp ne i32 %8644, 0
  br i1 %8645, label %8646, label %8663

8646:                                             ; preds = %8641
  %8647 = load i32, ptr %210, align 4, !tbaa !5
  %8648 = call ptr @__errno_location() #12
  store i32 %8647, ptr %8648, align 4, !tbaa !5
  %8649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8650 = load i32, ptr @test_count, align 4, !tbaa !5
  %8651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8652 = load i32, ptr %8651, align 4, !tbaa !5
  %8653 = call ptr @s2n_strerror(i32 noundef %8652, ptr noundef @.str.25)
  %8654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8655 = load i32, ptr %8654, align 4, !tbaa !5
  %8656 = call ptr @s2n_strerror_debug(i32 noundef %8655, ptr noundef @.str.25)
  %8657 = call ptr @__errno_location() #12
  %8658 = load i32, ptr %8657, align 4, !tbaa !5
  %8659 = call ptr @strerror(i32 noundef %8658) #11
  %8660 = call ptr @__errno_location() #12
  %8661 = load i32, ptr %8660, align 4, !tbaa !5
  %8662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8649, ptr noundef @.str.23, i32 noundef %8650, ptr noundef @.str.98, ptr noundef @.str.22, i32 noundef 477, ptr noundef %8653, ptr noundef %8656, ptr noundef %8659, i32 noundef %8661) #11
  br label %8680

8663:                                             ; preds = %8641, %8634
  %8664 = load i32, ptr %210, align 4, !tbaa !5
  %8665 = call ptr @__errno_location() #12
  store i32 %8664, ptr %8665, align 4, !tbaa !5
  %8666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8667 = load i32, ptr @test_count, align 4, !tbaa !5
  %8668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8669 = load i32, ptr %8668, align 4, !tbaa !5
  %8670 = call ptr @s2n_strerror(i32 noundef %8669, ptr noundef @.str.25)
  %8671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8672 = load i32, ptr %8671, align 4, !tbaa !5
  %8673 = call ptr @s2n_strerror_debug(i32 noundef %8672, ptr noundef @.str.25)
  %8674 = call ptr @__errno_location() #12
  %8675 = load i32, ptr %8674, align 4, !tbaa !5
  %8676 = call ptr @strerror(i32 noundef %8675) #11
  %8677 = call ptr @__errno_location() #12
  %8678 = load i32, ptr %8677, align 4, !tbaa !5
  %8679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8666, ptr noundef @.str.26, i32 noundef %8667, ptr noundef @.str.98, ptr noundef @.str.22, i32 noundef 477, ptr noundef %8670, ptr noundef %8673, ptr noundef %8676, i32 noundef %8678) #11
  br label %8680

8680:                                             ; preds = %8663, %8646
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %8681

8681:                                             ; preds = %8680
  br label %8682

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

8683:                                             ; No predecessors!
  br label %8684

8684:                                             ; preds = %8683
  br label %8685

8685:                                             ; preds = %8684, %8620
  br label %8686

8686:                                             ; preds = %8685
  br label %8687

8687:                                             ; preds = %8686
  br label %8688

8688:                                             ; preds = %8687
  %8689 = load i32, ptr @test_count, align 4, !tbaa !5
  %8690 = add nsw i32 %8689, 1
  store i32 %8690, ptr @test_count, align 4, !tbaa !5
  %8691 = load i64, ptr %205, align 8, !tbaa !15
  %8692 = getelementptr inbounds [7 x %struct.anon], ptr %204, i64 0, i64 %8691
  %8693 = getelementptr inbounds %struct.anon, ptr %8692, i32 0, i32 1
  %8694 = getelementptr inbounds [2 x i8], ptr %8693, i64 0, i64 0
  %8695 = load i8, ptr %8694, align 2, !tbaa !51
  %8696 = zext i8 %8695 to i32
  %8697 = getelementptr inbounds [2 x i8], ptr %206, i64 0, i64 0
  %8698 = load i8, ptr %8697, align 1, !tbaa !51
  %8699 = zext i8 %8698 to i32
  %8700 = icmp eq i32 %8696, %8699
  br i1 %8700, label %8754, label %8701

8701:                                             ; preds = %8688
  br label %8702

8702:                                             ; preds = %8701
  br label %8703

8703:                                             ; preds = %8702
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %8704 = call ptr @__errno_location() #12
  %8705 = load i32, ptr %8704, align 4, !tbaa !5
  store i32 %8705, ptr %211, align 4, !tbaa !5
  %8706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8707 = call i32 @s2n_print_stacktrace(ptr noundef %8706)
  %8708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8709 = trunc i8 %8708 to i1
  br i1 %8709, label %8710, label %8732

8710:                                             ; preds = %8703
  %8711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8712 = call i32 @fileno(ptr noundef %8711) #11
  %8713 = call i32 @isatty(i32 noundef %8712) #11
  %8714 = icmp ne i32 %8713, 0
  br i1 %8714, label %8715, label %8732

8715:                                             ; preds = %8710
  %8716 = load i32, ptr %211, align 4, !tbaa !5
  %8717 = call ptr @__errno_location() #12
  store i32 %8716, ptr %8717, align 4, !tbaa !5
  %8718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8719 = load i32, ptr @test_count, align 4, !tbaa !5
  %8720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8721 = load i32, ptr %8720, align 4, !tbaa !5
  %8722 = call ptr @s2n_strerror(i32 noundef %8721, ptr noundef @.str.25)
  %8723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8724 = load i32, ptr %8723, align 4, !tbaa !5
  %8725 = call ptr @s2n_strerror_debug(i32 noundef %8724, ptr noundef @.str.25)
  %8726 = call ptr @__errno_location() #12
  %8727 = load i32, ptr %8726, align 4, !tbaa !5
  %8728 = call ptr @strerror(i32 noundef %8727) #11
  %8729 = call ptr @__errno_location() #12
  %8730 = load i32, ptr %8729, align 4, !tbaa !5
  %8731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8718, ptr noundef @.str.23, i32 noundef %8719, ptr noundef @.str.99, ptr noundef @.str.22, i32 noundef 479, ptr noundef %8722, ptr noundef %8725, ptr noundef %8728, i32 noundef %8730) #11
  br label %8749

8732:                                             ; preds = %8710, %8703
  %8733 = load i32, ptr %211, align 4, !tbaa !5
  %8734 = call ptr @__errno_location() #12
  store i32 %8733, ptr %8734, align 4, !tbaa !5
  %8735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8736 = load i32, ptr @test_count, align 4, !tbaa !5
  %8737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8738 = load i32, ptr %8737, align 4, !tbaa !5
  %8739 = call ptr @s2n_strerror(i32 noundef %8738, ptr noundef @.str.25)
  %8740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8741 = load i32, ptr %8740, align 4, !tbaa !5
  %8742 = call ptr @s2n_strerror_debug(i32 noundef %8741, ptr noundef @.str.25)
  %8743 = call ptr @__errno_location() #12
  %8744 = load i32, ptr %8743, align 4, !tbaa !5
  %8745 = call ptr @strerror(i32 noundef %8744) #11
  %8746 = call ptr @__errno_location() #12
  %8747 = load i32, ptr %8746, align 4, !tbaa !5
  %8748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8735, ptr noundef @.str.26, i32 noundef %8736, ptr noundef @.str.99, ptr noundef @.str.22, i32 noundef 479, ptr noundef %8739, ptr noundef %8742, ptr noundef %8745, i32 noundef %8747) #11
  br label %8749

8749:                                             ; preds = %8732, %8715
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %8750

8750:                                             ; preds = %8749
  br label %8751

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

8752:                                             ; No predecessors!
  br label %8753

8753:                                             ; preds = %8752
  br label %8754

8754:                                             ; preds = %8753, %8688
  br label %8755

8755:                                             ; preds = %8754
  br label %8756

8756:                                             ; preds = %8755
  br label %8757

8757:                                             ; preds = %8756
  %8758 = load i32, ptr @test_count, align 4, !tbaa !5
  %8759 = add nsw i32 %8758, 1
  store i32 %8759, ptr @test_count, align 4, !tbaa !5
  %8760 = load i64, ptr %205, align 8, !tbaa !15
  %8761 = getelementptr inbounds [7 x %struct.anon], ptr %204, i64 0, i64 %8760
  %8762 = getelementptr inbounds %struct.anon, ptr %8761, i32 0, i32 1
  %8763 = getelementptr inbounds [2 x i8], ptr %8762, i64 0, i64 1
  %8764 = load i8, ptr %8763, align 1, !tbaa !51
  %8765 = zext i8 %8764 to i32
  %8766 = getelementptr inbounds [2 x i8], ptr %206, i64 0, i64 1
  %8767 = load i8, ptr %8766, align 1, !tbaa !51
  %8768 = zext i8 %8767 to i32
  %8769 = icmp eq i32 %8765, %8768
  br i1 %8769, label %8823, label %8770

8770:                                             ; preds = %8757
  br label %8771

8771:                                             ; preds = %8770
  br label %8772

8772:                                             ; preds = %8771
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %8773 = call ptr @__errno_location() #12
  %8774 = load i32, ptr %8773, align 4, !tbaa !5
  store i32 %8774, ptr %212, align 4, !tbaa !5
  %8775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8776 = call i32 @s2n_print_stacktrace(ptr noundef %8775)
  %8777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8778 = trunc i8 %8777 to i1
  br i1 %8778, label %8779, label %8801

8779:                                             ; preds = %8772
  %8780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8781 = call i32 @fileno(ptr noundef %8780) #11
  %8782 = call i32 @isatty(i32 noundef %8781) #11
  %8783 = icmp ne i32 %8782, 0
  br i1 %8783, label %8784, label %8801

8784:                                             ; preds = %8779
  %8785 = load i32, ptr %212, align 4, !tbaa !5
  %8786 = call ptr @__errno_location() #12
  store i32 %8785, ptr %8786, align 4, !tbaa !5
  %8787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8788 = load i32, ptr @test_count, align 4, !tbaa !5
  %8789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8790 = load i32, ptr %8789, align 4, !tbaa !5
  %8791 = call ptr @s2n_strerror(i32 noundef %8790, ptr noundef @.str.25)
  %8792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8793 = load i32, ptr %8792, align 4, !tbaa !5
  %8794 = call ptr @s2n_strerror_debug(i32 noundef %8793, ptr noundef @.str.25)
  %8795 = call ptr @__errno_location() #12
  %8796 = load i32, ptr %8795, align 4, !tbaa !5
  %8797 = call ptr @strerror(i32 noundef %8796) #11
  %8798 = call ptr @__errno_location() #12
  %8799 = load i32, ptr %8798, align 4, !tbaa !5
  %8800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8787, ptr noundef @.str.23, i32 noundef %8788, ptr noundef @.str.100, ptr noundef @.str.22, i32 noundef 480, ptr noundef %8791, ptr noundef %8794, ptr noundef %8797, i32 noundef %8799) #11
  br label %8818

8801:                                             ; preds = %8779, %8772
  %8802 = load i32, ptr %212, align 4, !tbaa !5
  %8803 = call ptr @__errno_location() #12
  store i32 %8802, ptr %8803, align 4, !tbaa !5
  %8804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8805 = load i32, ptr @test_count, align 4, !tbaa !5
  %8806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8807 = load i32, ptr %8806, align 4, !tbaa !5
  %8808 = call ptr @s2n_strerror(i32 noundef %8807, ptr noundef @.str.25)
  %8809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8810 = load i32, ptr %8809, align 4, !tbaa !5
  %8811 = call ptr @s2n_strerror_debug(i32 noundef %8810, ptr noundef @.str.25)
  %8812 = call ptr @__errno_location() #12
  %8813 = load i32, ptr %8812, align 4, !tbaa !5
  %8814 = call ptr @strerror(i32 noundef %8813) #11
  %8815 = call ptr @__errno_location() #12
  %8816 = load i32, ptr %8815, align 4, !tbaa !5
  %8817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8804, ptr noundef @.str.26, i32 noundef %8805, ptr noundef @.str.100, ptr noundef @.str.22, i32 noundef 480, ptr noundef %8808, ptr noundef %8811, ptr noundef %8814, i32 noundef %8816) #11
  br label %8818

8818:                                             ; preds = %8801, %8784
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %8819

8819:                                             ; preds = %8818
  br label %8820

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

8821:                                             ; No predecessors!
  br label %8822

8822:                                             ; preds = %8821
  br label %8823

8823:                                             ; preds = %8822, %8757
  br label %8824

8824:                                             ; preds = %8823
  br label %8825

8825:                                             ; preds = %8824
  call void @llvm.lifetime.end.p0(i64 24, ptr %207) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %206) #11
  br label %8826

8826:                                             ; preds = %8825
  %8827 = load i64, ptr %205, align 8, !tbaa !15
  %8828 = add i64 %8827, 1
  store i64 %8828, ptr %205, align 8, !tbaa !15
  br label %8553, !llvm.loop !67

8829:                                             ; preds = %8556
  call void @llvm.lifetime.end.p0(i64 28, ptr %204) #11
  call void @llvm.lifetime.start.p0(i64 64, ptr %213) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %213, ptr align 16 @__const.main.test_cases.101, i64 64, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %214) #11
  store i64 0, ptr %214, align 8, !tbaa !15
  br label %8830

8830:                                             ; preds = %9029, %8829
  %8831 = load i64, ptr %214, align 8, !tbaa !15
  %8832 = icmp ult i64 %8831, 8
  br i1 %8832, label %8834, label %8833

8833:                                             ; preds = %8830
  call void @llvm.lifetime.end.p0(i64 8, ptr %214) #11
  br label %9032

8834:                                             ; preds = %8830
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  store i32 0, ptr %215, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %216) #11
  call void @llvm.memset.p0.i64(ptr align 8 %216, i8 0, i64 24, i1 false)
  br label %8835

8835:                                             ; preds = %8834
  %8836 = load i32, ptr @test_count, align 4, !tbaa !5
  %8837 = add nsw i32 %8836, 1
  store i32 %8837, ptr @test_count, align 4, !tbaa !5
  %8838 = load i64, ptr %214, align 8, !tbaa !15
  %8839 = getelementptr inbounds [8 x %struct.anon.1], ptr %213, i64 0, i64 %8838
  %8840 = getelementptr inbounds %struct.anon.1, ptr %8839, i32 0, i32 0
  %8841 = getelementptr inbounds [4 x i8], ptr %8840, i64 0, i64 0
  %8842 = call i32 @s2n_blob_init(ptr noundef %216, ptr noundef %8841, i32 noundef 4)
  %8843 = icmp eq i32 %8842, -1
  br i1 %8843, label %8844, label %8897

8844:                                             ; preds = %8835
  br label %8845

8845:                                             ; preds = %8844
  br label %8846

8846:                                             ; preds = %8845
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %8847 = call ptr @__errno_location() #12
  %8848 = load i32, ptr %8847, align 4, !tbaa !5
  store i32 %8848, ptr %217, align 4, !tbaa !5
  %8849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8850 = call i32 @s2n_print_stacktrace(ptr noundef %8849)
  %8851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8852 = trunc i8 %8851 to i1
  br i1 %8852, label %8853, label %8875

8853:                                             ; preds = %8846
  %8854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8855 = call i32 @fileno(ptr noundef %8854) #11
  %8856 = call i32 @isatty(i32 noundef %8855) #11
  %8857 = icmp ne i32 %8856, 0
  br i1 %8857, label %8858, label %8875

8858:                                             ; preds = %8853
  %8859 = load i32, ptr %217, align 4, !tbaa !5
  %8860 = call ptr @__errno_location() #12
  store i32 %8859, ptr %8860, align 4, !tbaa !5
  %8861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8862 = load i32, ptr @test_count, align 4, !tbaa !5
  %8863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8864 = load i32, ptr %8863, align 4, !tbaa !5
  %8865 = call ptr @s2n_strerror(i32 noundef %8864, ptr noundef @.str.25)
  %8866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8867 = load i32, ptr %8866, align 4, !tbaa !5
  %8868 = call ptr @s2n_strerror_debug(i32 noundef %8867, ptr noundef @.str.25)
  %8869 = call ptr @__errno_location() #12
  %8870 = load i32, ptr %8869, align 4, !tbaa !5
  %8871 = call ptr @strerror(i32 noundef %8870) #11
  %8872 = call ptr @__errno_location() #12
  %8873 = load i32, ptr %8872, align 4, !tbaa !5
  %8874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8861, ptr noundef @.str.23, i32 noundef %8862, ptr noundef @.str.102, ptr noundef @.str.22, i32 noundef 503, ptr noundef %8865, ptr noundef %8868, ptr noundef %8871, i32 noundef %8873) #11
  br label %8892

8875:                                             ; preds = %8853, %8846
  %8876 = load i32, ptr %217, align 4, !tbaa !5
  %8877 = call ptr @__errno_location() #12
  store i32 %8876, ptr %8877, align 4, !tbaa !5
  %8878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8879 = load i32, ptr @test_count, align 4, !tbaa !5
  %8880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8881 = load i32, ptr %8880, align 4, !tbaa !5
  %8882 = call ptr @s2n_strerror(i32 noundef %8881, ptr noundef @.str.25)
  %8883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8884 = load i32, ptr %8883, align 4, !tbaa !5
  %8885 = call ptr @s2n_strerror_debug(i32 noundef %8884, ptr noundef @.str.25)
  %8886 = call ptr @__errno_location() #12
  %8887 = load i32, ptr %8886, align 4, !tbaa !5
  %8888 = call ptr @strerror(i32 noundef %8887) #11
  %8889 = call ptr @__errno_location() #12
  %8890 = load i32, ptr %8889, align 4, !tbaa !5
  %8891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8878, ptr noundef @.str.26, i32 noundef %8879, ptr noundef @.str.102, ptr noundef @.str.22, i32 noundef 503, ptr noundef %8882, ptr noundef %8885, ptr noundef %8888, i32 noundef %8890) #11
  br label %8892

8892:                                             ; preds = %8875, %8858
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %8893

8893:                                             ; preds = %8892
  br label %8894

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

8895:                                             ; No predecessors!
  br label %8896

8896:                                             ; preds = %8895
  br label %8897

8897:                                             ; preds = %8896, %8835
  br label %8898

8898:                                             ; preds = %8897
  br label %8899

8899:                                             ; preds = %8898
  br label %8900

8900:                                             ; preds = %8899
  %8901 = load i32, ptr @test_count, align 4, !tbaa !5
  %8902 = add nsw i32 %8901, 1
  store i32 %8902, ptr @test_count, align 4, !tbaa !5
  %8903 = call i32 @s2n_generate_ticket_age_add(ptr noundef %216, ptr noundef %215)
  %8904 = getelementptr inbounds %struct.s2n_result, ptr %218, i32 0, i32 0
  store i32 %8903, ptr %8904, align 4
  %8905 = getelementptr inbounds %struct.s2n_result, ptr %218, i32 0, i32 0
  %8906 = load i32, ptr %8905, align 4
  %8907 = call zeroext i1 @s2n_result_is_ok(i32 %8906)
  br i1 %8907, label %8961, label %8908

8908:                                             ; preds = %8900
  br label %8909

8909:                                             ; preds = %8908
  br label %8910

8910:                                             ; preds = %8909
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %8911 = call ptr @__errno_location() #12
  %8912 = load i32, ptr %8911, align 4, !tbaa !5
  store i32 %8912, ptr %219, align 4, !tbaa !5
  %8913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8914 = call i32 @s2n_print_stacktrace(ptr noundef %8913)
  %8915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8916 = trunc i8 %8915 to i1
  br i1 %8916, label %8917, label %8939

8917:                                             ; preds = %8910
  %8918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8919 = call i32 @fileno(ptr noundef %8918) #11
  %8920 = call i32 @isatty(i32 noundef %8919) #11
  %8921 = icmp ne i32 %8920, 0
  br i1 %8921, label %8922, label %8939

8922:                                             ; preds = %8917
  %8923 = load i32, ptr %219, align 4, !tbaa !5
  %8924 = call ptr @__errno_location() #12
  store i32 %8923, ptr %8924, align 4, !tbaa !5
  %8925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8926 = load i32, ptr @test_count, align 4, !tbaa !5
  %8927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8928 = load i32, ptr %8927, align 4, !tbaa !5
  %8929 = call ptr @s2n_strerror(i32 noundef %8928, ptr noundef @.str.25)
  %8930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8931 = load i32, ptr %8930, align 4, !tbaa !5
  %8932 = call ptr @s2n_strerror_debug(i32 noundef %8931, ptr noundef @.str.25)
  %8933 = call ptr @__errno_location() #12
  %8934 = load i32, ptr %8933, align 4, !tbaa !5
  %8935 = call ptr @strerror(i32 noundef %8934) #11
  %8936 = call ptr @__errno_location() #12
  %8937 = load i32, ptr %8936, align 4, !tbaa !5
  %8938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8925, ptr noundef @.str.23, i32 noundef %8926, ptr noundef @.str.103, ptr noundef @.str.22, i32 noundef 504, ptr noundef %8929, ptr noundef %8932, ptr noundef %8935, i32 noundef %8937) #11
  br label %8956

8939:                                             ; preds = %8917, %8910
  %8940 = load i32, ptr %219, align 4, !tbaa !5
  %8941 = call ptr @__errno_location() #12
  store i32 %8940, ptr %8941, align 4, !tbaa !5
  %8942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8943 = load i32, ptr @test_count, align 4, !tbaa !5
  %8944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8945 = load i32, ptr %8944, align 4, !tbaa !5
  %8946 = call ptr @s2n_strerror(i32 noundef %8945, ptr noundef @.str.25)
  %8947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8948 = load i32, ptr %8947, align 4, !tbaa !5
  %8949 = call ptr @s2n_strerror_debug(i32 noundef %8948, ptr noundef @.str.25)
  %8950 = call ptr @__errno_location() #12
  %8951 = load i32, ptr %8950, align 4, !tbaa !5
  %8952 = call ptr @strerror(i32 noundef %8951) #11
  %8953 = call ptr @__errno_location() #12
  %8954 = load i32, ptr %8953, align 4, !tbaa !5
  %8955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8942, ptr noundef @.str.26, i32 noundef %8943, ptr noundef @.str.103, ptr noundef @.str.22, i32 noundef 504, ptr noundef %8946, ptr noundef %8949, ptr noundef %8952, i32 noundef %8954) #11
  br label %8956

8956:                                             ; preds = %8939, %8922
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %8957

8957:                                             ; preds = %8956
  br label %8958

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

8959:                                             ; No predecessors!
  br label %8960

8960:                                             ; preds = %8959
  br label %8961

8961:                                             ; preds = %8960, %8900
  br label %8962

8962:                                             ; preds = %8961
  br label %8963

8963:                                             ; preds = %8962
  br label %8964

8964:                                             ; preds = %8963
  %8965 = load i32, ptr @test_count, align 4, !tbaa !5
  %8966 = add nsw i32 %8965, 1
  store i32 %8966, ptr @test_count, align 4, !tbaa !5
  %8967 = load i32, ptr %215, align 4, !tbaa !5
  %8968 = load i64, ptr %214, align 8, !tbaa !15
  %8969 = getelementptr inbounds [8 x %struct.anon.1], ptr %213, i64 0, i64 %8968
  %8970 = getelementptr inbounds %struct.anon.1, ptr %8969, i32 0, i32 1
  %8971 = load i32, ptr %8970, align 4, !tbaa !69
  %8972 = icmp eq i32 %8967, %8971
  br i1 %8972, label %9026, label %8973

8973:                                             ; preds = %8964
  br label %8974

8974:                                             ; preds = %8973
  br label %8975

8975:                                             ; preds = %8974
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %8976 = call ptr @__errno_location() #12
  %8977 = load i32, ptr %8976, align 4, !tbaa !5
  store i32 %8977, ptr %220, align 4, !tbaa !5
  %8978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8979 = call i32 @s2n_print_stacktrace(ptr noundef %8978)
  %8980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8981 = trunc i8 %8980 to i1
  br i1 %8981, label %8982, label %9004

8982:                                             ; preds = %8975
  %8983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8984 = call i32 @fileno(ptr noundef %8983) #11
  %8985 = call i32 @isatty(i32 noundef %8984) #11
  %8986 = icmp ne i32 %8985, 0
  br i1 %8986, label %8987, label %9004

8987:                                             ; preds = %8982
  %8988 = load i32, ptr %220, align 4, !tbaa !5
  %8989 = call ptr @__errno_location() #12
  store i32 %8988, ptr %8989, align 4, !tbaa !5
  %8990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8991 = load i32, ptr @test_count, align 4, !tbaa !5
  %8992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8993 = load i32, ptr %8992, align 4, !tbaa !5
  %8994 = call ptr @s2n_strerror(i32 noundef %8993, ptr noundef @.str.25)
  %8995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8996 = load i32, ptr %8995, align 4, !tbaa !5
  %8997 = call ptr @s2n_strerror_debug(i32 noundef %8996, ptr noundef @.str.25)
  %8998 = call ptr @__errno_location() #12
  %8999 = load i32, ptr %8998, align 4, !tbaa !5
  %9000 = call ptr @strerror(i32 noundef %8999) #11
  %9001 = call ptr @__errno_location() #12
  %9002 = load i32, ptr %9001, align 4, !tbaa !5
  %9003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8990, ptr noundef @.str.23, i32 noundef %8991, ptr noundef @.str.104, ptr noundef @.str.22, i32 noundef 506, ptr noundef %8994, ptr noundef %8997, ptr noundef %9000, i32 noundef %9002) #11
  br label %9021

9004:                                             ; preds = %8982, %8975
  %9005 = load i32, ptr %220, align 4, !tbaa !5
  %9006 = call ptr @__errno_location() #12
  store i32 %9005, ptr %9006, align 4, !tbaa !5
  %9007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9008 = load i32, ptr @test_count, align 4, !tbaa !5
  %9009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9010 = load i32, ptr %9009, align 4, !tbaa !5
  %9011 = call ptr @s2n_strerror(i32 noundef %9010, ptr noundef @.str.25)
  %9012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9013 = load i32, ptr %9012, align 4, !tbaa !5
  %9014 = call ptr @s2n_strerror_debug(i32 noundef %9013, ptr noundef @.str.25)
  %9015 = call ptr @__errno_location() #12
  %9016 = load i32, ptr %9015, align 4, !tbaa !5
  %9017 = call ptr @strerror(i32 noundef %9016) #11
  %9018 = call ptr @__errno_location() #12
  %9019 = load i32, ptr %9018, align 4, !tbaa !5
  %9020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9007, ptr noundef @.str.26, i32 noundef %9008, ptr noundef @.str.104, ptr noundef @.str.22, i32 noundef 506, ptr noundef %9011, ptr noundef %9014, ptr noundef %9017, i32 noundef %9019) #11
  br label %9021

9021:                                             ; preds = %9004, %8987
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %9022

9022:                                             ; preds = %9021
  br label %9023

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

9024:                                             ; No predecessors!
  br label %9025

9025:                                             ; preds = %9024
  br label %9026

9026:                                             ; preds = %9025, %8964
  br label %9027

9027:                                             ; preds = %9026
  br label %9028

9028:                                             ; preds = %9027
  call void @llvm.lifetime.end.p0(i64 24, ptr %216) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %9029

9029:                                             ; preds = %9028
  %9030 = load i64, ptr %214, align 8, !tbaa !15
  %9031 = add i64 %9030, 1
  store i64 %9031, ptr %214, align 8, !tbaa !15
  br label %8830, !llvm.loop !71

9032:                                             ; preds = %8833
  call void @llvm.lifetime.end.p0(i64 64, ptr %213) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %221) #11
  call void @llvm.memset.p0.i64(ptr align 8 %221, i8 0, i64 24, i1 false)
  br label %9033

9033:                                             ; preds = %9032
  %9034 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %221, ptr noundef @.str.105)
  %9035 = getelementptr inbounds %struct.s2n_result, ptr %222, i32 0, i32 0
  store i32 %9034, ptr %9035, align 4
  %9036 = getelementptr inbounds %struct.s2n_result, ptr %222, i32 0, i32 0
  %9037 = load i32, ptr %9036, align 4
  %9038 = call zeroext i1 @s2n_result_is_ok(i32 %9037)
  br i1 %9038, label %9040, label %9039

9039:                                             ; preds = %9033
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %223, align 4
  br label %9503

9040:                                             ; preds = %9033
  br label %9041

9041:                                             ; preds = %9040
  br label %9042

9042:                                             ; preds = %9041
  call void @llvm.lifetime.start.p0(i64 8, ptr %224) #11
  %9043 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9043, ptr %224, align 8, !tbaa !9
  br label %9044

9044:                                             ; preds = %9042
  %9045 = load i32, ptr @test_count, align 4, !tbaa !5
  %9046 = add nsw i32 %9045, 1
  store i32 %9046, ptr @test_count, align 4, !tbaa !5
  %9047 = load ptr, ptr %224, align 8, !tbaa !9
  %9048 = icmp eq ptr %9047, null
  br i1 %9048, label %9049, label %9102

9049:                                             ; preds = %9044
  br label %9050

9050:                                             ; preds = %9049
  br label %9051

9051:                                             ; preds = %9050
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %9052 = call ptr @__errno_location() #12
  %9053 = load i32, ptr %9052, align 4, !tbaa !5
  store i32 %9053, ptr %225, align 4, !tbaa !5
  %9054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9055 = call i32 @s2n_print_stacktrace(ptr noundef %9054)
  %9056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9057 = trunc i8 %9056 to i1
  br i1 %9057, label %9058, label %9080

9058:                                             ; preds = %9051
  %9059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9060 = call i32 @fileno(ptr noundef %9059) #11
  %9061 = call i32 @isatty(i32 noundef %9060) #11
  %9062 = icmp ne i32 %9061, 0
  br i1 %9062, label %9063, label %9080

9063:                                             ; preds = %9058
  %9064 = load i32, ptr %225, align 4, !tbaa !5
  %9065 = call ptr @__errno_location() #12
  store i32 %9064, ptr %9065, align 4, !tbaa !5
  %9066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9067 = load i32, ptr @test_count, align 4, !tbaa !5
  %9068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9069 = load i32, ptr %9068, align 4, !tbaa !5
  %9070 = call ptr @s2n_strerror(i32 noundef %9069, ptr noundef @.str.25)
  %9071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9072 = load i32, ptr %9071, align 4, !tbaa !5
  %9073 = call ptr @s2n_strerror_debug(i32 noundef %9072, ptr noundef @.str.25)
  %9074 = call ptr @__errno_location() #12
  %9075 = load i32, ptr %9074, align 4, !tbaa !5
  %9076 = call ptr @strerror(i32 noundef %9075) #11
  %9077 = call ptr @__errno_location() #12
  %9078 = load i32, ptr %9077, align 4, !tbaa !5
  %9079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9066, ptr noundef @.str.23, i32 noundef %9067, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 524, ptr noundef %9070, ptr noundef %9073, ptr noundef %9076, i32 noundef %9078) #11
  br label %9097

9080:                                             ; preds = %9058, %9051
  %9081 = load i32, ptr %225, align 4, !tbaa !5
  %9082 = call ptr @__errno_location() #12
  store i32 %9081, ptr %9082, align 4, !tbaa !5
  %9083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9084 = load i32, ptr @test_count, align 4, !tbaa !5
  %9085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9086 = load i32, ptr %9085, align 4, !tbaa !5
  %9087 = call ptr @s2n_strerror(i32 noundef %9086, ptr noundef @.str.25)
  %9088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9089 = load i32, ptr %9088, align 4, !tbaa !5
  %9090 = call ptr @s2n_strerror_debug(i32 noundef %9089, ptr noundef @.str.25)
  %9091 = call ptr @__errno_location() #12
  %9092 = load i32, ptr %9091, align 4, !tbaa !5
  %9093 = call ptr @strerror(i32 noundef %9092) #11
  %9094 = call ptr @__errno_location() #12
  %9095 = load i32, ptr %9094, align 4, !tbaa !5
  %9096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9083, ptr noundef @.str.26, i32 noundef %9084, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 524, ptr noundef %9087, ptr noundef %9090, ptr noundef %9093, i32 noundef %9095) #11
  br label %9097

9097:                                             ; preds = %9080, %9063
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %9098

9098:                                             ; preds = %9097
  br label %9099

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

9100:                                             ; No predecessors!
  br label %9101

9101:                                             ; preds = %9100
  br label %9102

9102:                                             ; preds = %9101, %9044
  br label %9103

9103:                                             ; preds = %9102
  br label %9104

9104:                                             ; preds = %9103
  %9105 = load ptr, ptr %224, align 8, !tbaa !9
  %9106 = getelementptr inbounds %struct.s2n_connection, ptr %9105, i32 0, i32 27
  %9107 = load ptr, ptr %9106, align 8, !tbaa !43
  %9108 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9107, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %9108, align 8, !tbaa !44
  br label %9109

9109:                                             ; preds = %9104
  %9110 = load i32, ptr @test_count, align 4, !tbaa !5
  %9111 = add nsw i32 %9110, 1
  store i32 %9111, ptr @test_count, align 4, !tbaa !5
  %9112 = load ptr, ptr %224, align 8, !tbaa !9
  %9113 = call i32 @s2n_setup_test_resumption_secret(ptr noundef %9112)
  %9114 = icmp eq i32 %9113, -1
  br i1 %9114, label %9115, label %9168

9115:                                             ; preds = %9109
  br label %9116

9116:                                             ; preds = %9115
  br label %9117

9117:                                             ; preds = %9116
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #11
  %9118 = call ptr @__errno_location() #12
  %9119 = load i32, ptr %9118, align 4, !tbaa !5
  store i32 %9119, ptr %226, align 4, !tbaa !5
  %9120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9121 = call i32 @s2n_print_stacktrace(ptr noundef %9120)
  %9122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9123 = trunc i8 %9122 to i1
  br i1 %9123, label %9124, label %9146

9124:                                             ; preds = %9117
  %9125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9126 = call i32 @fileno(ptr noundef %9125) #11
  %9127 = call i32 @isatty(i32 noundef %9126) #11
  %9128 = icmp ne i32 %9127, 0
  br i1 %9128, label %9129, label %9146

9129:                                             ; preds = %9124
  %9130 = load i32, ptr %226, align 4, !tbaa !5
  %9131 = call ptr @__errno_location() #12
  store i32 %9130, ptr %9131, align 4, !tbaa !5
  %9132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9133 = load i32, ptr @test_count, align 4, !tbaa !5
  %9134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9135 = load i32, ptr %9134, align 4, !tbaa !5
  %9136 = call ptr @s2n_strerror(i32 noundef %9135, ptr noundef @.str.25)
  %9137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9138 = load i32, ptr %9137, align 4, !tbaa !5
  %9139 = call ptr @s2n_strerror_debug(i32 noundef %9138, ptr noundef @.str.25)
  %9140 = call ptr @__errno_location() #12
  %9141 = load i32, ptr %9140, align 4, !tbaa !5
  %9142 = call ptr @strerror(i32 noundef %9141) #11
  %9143 = call ptr @__errno_location() #12
  %9144 = load i32, ptr %9143, align 4, !tbaa !5
  %9145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9132, ptr noundef @.str.23, i32 noundef %9133, ptr noundef @.str.106, ptr noundef @.str.22, i32 noundef 527, ptr noundef %9136, ptr noundef %9139, ptr noundef %9142, i32 noundef %9144) #11
  br label %9163

9146:                                             ; preds = %9124, %9117
  %9147 = load i32, ptr %226, align 4, !tbaa !5
  %9148 = call ptr @__errno_location() #12
  store i32 %9147, ptr %9148, align 4, !tbaa !5
  %9149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9150 = load i32, ptr @test_count, align 4, !tbaa !5
  %9151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9152 = load i32, ptr %9151, align 4, !tbaa !5
  %9153 = call ptr @s2n_strerror(i32 noundef %9152, ptr noundef @.str.25)
  %9154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9155 = load i32, ptr %9154, align 4, !tbaa !5
  %9156 = call ptr @s2n_strerror_debug(i32 noundef %9155, ptr noundef @.str.25)
  %9157 = call ptr @__errno_location() #12
  %9158 = load i32, ptr %9157, align 4, !tbaa !5
  %9159 = call ptr @strerror(i32 noundef %9158) #11
  %9160 = call ptr @__errno_location() #12
  %9161 = load i32, ptr %9160, align 4, !tbaa !5
  %9162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9149, ptr noundef @.str.26, i32 noundef %9150, ptr noundef @.str.106, ptr noundef @.str.22, i32 noundef 527, ptr noundef %9153, ptr noundef %9156, ptr noundef %9159, i32 noundef %9161) #11
  br label %9163

9163:                                             ; preds = %9146, %9129
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #11
  br label %9164

9164:                                             ; preds = %9163
  br label %9165

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

9166:                                             ; No predecessors!
  br label %9167

9167:                                             ; preds = %9166
  br label %9168

9168:                                             ; preds = %9167, %9109
  br label %9169

9169:                                             ; preds = %9168
  br label %9170

9170:                                             ; preds = %9169
  call void @llvm.lifetime.start.p0(i64 2, ptr %227) #11
  call void @llvm.memset.p0.i64(ptr align 1 %227, i8 0, i64 2, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %228) #11
  call void @llvm.memset.p0.i64(ptr align 8 %228, i8 0, i64 24, i1 false)
  br label %9171

9171:                                             ; preds = %9170
  %9172 = load i32, ptr @test_count, align 4, !tbaa !5
  %9173 = add nsw i32 %9172, 1
  store i32 %9173, ptr @test_count, align 4, !tbaa !5
  %9174 = getelementptr inbounds [2 x i8], ptr %227, i64 0, i64 0
  %9175 = call i32 @s2n_blob_init(ptr noundef %228, ptr noundef %9174, i32 noundef 2)
  %9176 = icmp eq i32 %9175, -1
  br i1 %9176, label %9177, label %9230

9177:                                             ; preds = %9171
  br label %9178

9178:                                             ; preds = %9177
  br label %9179

9179:                                             ; preds = %9178
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %9180 = call ptr @__errno_location() #12
  %9181 = load i32, ptr %9180, align 4, !tbaa !5
  store i32 %9181, ptr %229, align 4, !tbaa !5
  %9182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9183 = call i32 @s2n_print_stacktrace(ptr noundef %9182)
  %9184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9185 = trunc i8 %9184 to i1
  br i1 %9185, label %9186, label %9208

9186:                                             ; preds = %9179
  %9187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9188 = call i32 @fileno(ptr noundef %9187) #11
  %9189 = call i32 @isatty(i32 noundef %9188) #11
  %9190 = icmp ne i32 %9189, 0
  br i1 %9190, label %9191, label %9208

9191:                                             ; preds = %9186
  %9192 = load i32, ptr %229, align 4, !tbaa !5
  %9193 = call ptr @__errno_location() #12
  store i32 %9192, ptr %9193, align 4, !tbaa !5
  %9194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9195 = load i32, ptr @test_count, align 4, !tbaa !5
  %9196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9197 = load i32, ptr %9196, align 4, !tbaa !5
  %9198 = call ptr @s2n_strerror(i32 noundef %9197, ptr noundef @.str.25)
  %9199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9200 = load i32, ptr %9199, align 4, !tbaa !5
  %9201 = call ptr @s2n_strerror_debug(i32 noundef %9200, ptr noundef @.str.25)
  %9202 = call ptr @__errno_location() #12
  %9203 = load i32, ptr %9202, align 4, !tbaa !5
  %9204 = call ptr @strerror(i32 noundef %9203) #11
  %9205 = call ptr @__errno_location() #12
  %9206 = load i32, ptr %9205, align 4, !tbaa !5
  %9207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9194, ptr noundef @.str.23, i32 noundef %9195, ptr noundef @.str.107, ptr noundef @.str.22, i32 noundef 531, ptr noundef %9198, ptr noundef %9201, ptr noundef %9204, i32 noundef %9206) #11
  br label %9225

9208:                                             ; preds = %9186, %9179
  %9209 = load i32, ptr %229, align 4, !tbaa !5
  %9210 = call ptr @__errno_location() #12
  store i32 %9209, ptr %9210, align 4, !tbaa !5
  %9211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9212 = load i32, ptr @test_count, align 4, !tbaa !5
  %9213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9214 = load i32, ptr %9213, align 4, !tbaa !5
  %9215 = call ptr @s2n_strerror(i32 noundef %9214, ptr noundef @.str.25)
  %9216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9217 = load i32, ptr %9216, align 4, !tbaa !5
  %9218 = call ptr @s2n_strerror_debug(i32 noundef %9217, ptr noundef @.str.25)
  %9219 = call ptr @__errno_location() #12
  %9220 = load i32, ptr %9219, align 4, !tbaa !5
  %9221 = call ptr @strerror(i32 noundef %9220) #11
  %9222 = call ptr @__errno_location() #12
  %9223 = load i32, ptr %9222, align 4, !tbaa !5
  %9224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9211, ptr noundef @.str.26, i32 noundef %9212, ptr noundef @.str.107, ptr noundef @.str.22, i32 noundef 531, ptr noundef %9215, ptr noundef %9218, ptr noundef %9221, i32 noundef %9223) #11
  br label %9225

9225:                                             ; preds = %9208, %9191
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %9226

9226:                                             ; preds = %9225
  br label %9227

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

9228:                                             ; No predecessors!
  br label %9229

9229:                                             ; preds = %9228
  br label %9230

9230:                                             ; preds = %9229, %9171
  br label %9231

9231:                                             ; preds = %9230
  br label %9232

9232:                                             ; preds = %9231
  call void @llvm.lifetime.start.p0(i64 8, ptr %230) #11
  %9233 = load ptr, ptr %224, align 8, !tbaa !9
  %9234 = getelementptr inbounds %struct.s2n_connection, ptr %9233, i32 0, i32 79
  %9235 = getelementptr inbounds %struct.s2n_ticket_fields, ptr %9234, i32 0, i32 0
  store ptr %9235, ptr %230, align 8, !tbaa !9
  br label %9236

9236:                                             ; preds = %9232
  %9237 = load i32, ptr @test_count, align 4, !tbaa !5
  %9238 = add nsw i32 %9237, 1
  store i32 %9238, ptr @test_count, align 4, !tbaa !5
  %9239 = load ptr, ptr %224, align 8, !tbaa !9
  %9240 = load ptr, ptr %230, align 8, !tbaa !9
  %9241 = call i32 @s2n_generate_session_secret(ptr noundef %9239, ptr noundef %228, ptr noundef %9240)
  %9242 = icmp eq i32 %9241, -1
  br i1 %9242, label %9243, label %9296

9243:                                             ; preds = %9236
  br label %9244

9244:                                             ; preds = %9243
  br label %9245

9245:                                             ; preds = %9244
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %9246 = call ptr @__errno_location() #12
  %9247 = load i32, ptr %9246, align 4, !tbaa !5
  store i32 %9247, ptr %231, align 4, !tbaa !5
  %9248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9249 = call i32 @s2n_print_stacktrace(ptr noundef %9248)
  %9250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9251 = trunc i8 %9250 to i1
  br i1 %9251, label %9252, label %9274

9252:                                             ; preds = %9245
  %9253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9254 = call i32 @fileno(ptr noundef %9253) #11
  %9255 = call i32 @isatty(i32 noundef %9254) #11
  %9256 = icmp ne i32 %9255, 0
  br i1 %9256, label %9257, label %9274

9257:                                             ; preds = %9252
  %9258 = load i32, ptr %231, align 4, !tbaa !5
  %9259 = call ptr @__errno_location() #12
  store i32 %9258, ptr %9259, align 4, !tbaa !5
  %9260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9261 = load i32, ptr @test_count, align 4, !tbaa !5
  %9262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9263 = load i32, ptr %9262, align 4, !tbaa !5
  %9264 = call ptr @s2n_strerror(i32 noundef %9263, ptr noundef @.str.25)
  %9265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9266 = load i32, ptr %9265, align 4, !tbaa !5
  %9267 = call ptr @s2n_strerror_debug(i32 noundef %9266, ptr noundef @.str.25)
  %9268 = call ptr @__errno_location() #12
  %9269 = load i32, ptr %9268, align 4, !tbaa !5
  %9270 = call ptr @strerror(i32 noundef %9269) #11
  %9271 = call ptr @__errno_location() #12
  %9272 = load i32, ptr %9271, align 4, !tbaa !5
  %9273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9260, ptr noundef @.str.23, i32 noundef %9261, ptr noundef @.str.108, ptr noundef @.str.22, i32 noundef 534, ptr noundef %9264, ptr noundef %9267, ptr noundef %9270, i32 noundef %9272) #11
  br label %9291

9274:                                             ; preds = %9252, %9245
  %9275 = load i32, ptr %231, align 4, !tbaa !5
  %9276 = call ptr @__errno_location() #12
  store i32 %9275, ptr %9276, align 4, !tbaa !5
  %9277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9278 = load i32, ptr @test_count, align 4, !tbaa !5
  %9279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9280 = load i32, ptr %9279, align 4, !tbaa !5
  %9281 = call ptr @s2n_strerror(i32 noundef %9280, ptr noundef @.str.25)
  %9282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9283 = load i32, ptr %9282, align 4, !tbaa !5
  %9284 = call ptr @s2n_strerror_debug(i32 noundef %9283, ptr noundef @.str.25)
  %9285 = call ptr @__errno_location() #12
  %9286 = load i32, ptr %9285, align 4, !tbaa !5
  %9287 = call ptr @strerror(i32 noundef %9286) #11
  %9288 = call ptr @__errno_location() #12
  %9289 = load i32, ptr %9288, align 4, !tbaa !5
  %9290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9277, ptr noundef @.str.26, i32 noundef %9278, ptr noundef @.str.108, ptr noundef @.str.22, i32 noundef 534, ptr noundef %9281, ptr noundef %9284, ptr noundef %9287, i32 noundef %9289) #11
  br label %9291

9291:                                             ; preds = %9274, %9257
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %9292

9292:                                             ; preds = %9291
  br label %9293

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

9294:                                             ; No predecessors!
  br label %9295

9295:                                             ; preds = %9294
  br label %9296

9296:                                             ; preds = %9295, %9236
  br label %9297

9297:                                             ; preds = %9296
  br label %9298

9298:                                             ; preds = %9297
  br label %9299

9299:                                             ; preds = %9298
  %9300 = load i32, ptr @test_count, align 4, !tbaa !5
  %9301 = add nsw i32 %9300, 1
  store i32 %9301, ptr @test_count, align 4, !tbaa !5
  %9302 = load ptr, ptr %230, align 8, !tbaa !9
  %9303 = getelementptr inbounds %struct.s2n_blob, ptr %9302, i32 0, i32 1
  %9304 = load i32, ptr %9303, align 8, !tbaa !72
  %9305 = getelementptr inbounds %struct.s2n_blob, ptr %221, i32 0, i32 1
  %9306 = load i32, ptr %9305, align 8, !tbaa !72
  %9307 = icmp eq i32 %9304, %9306
  br i1 %9307, label %9361, label %9308

9308:                                             ; preds = %9299
  br label %9309

9309:                                             ; preds = %9308
  br label %9310

9310:                                             ; preds = %9309
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %9311 = call ptr @__errno_location() #12
  %9312 = load i32, ptr %9311, align 4, !tbaa !5
  store i32 %9312, ptr %232, align 4, !tbaa !5
  %9313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9314 = call i32 @s2n_print_stacktrace(ptr noundef %9313)
  %9315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9316 = trunc i8 %9315 to i1
  br i1 %9316, label %9317, label %9339

9317:                                             ; preds = %9310
  %9318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9319 = call i32 @fileno(ptr noundef %9318) #11
  %9320 = call i32 @isatty(i32 noundef %9319) #11
  %9321 = icmp ne i32 %9320, 0
  br i1 %9321, label %9322, label %9339

9322:                                             ; preds = %9317
  %9323 = load i32, ptr %232, align 4, !tbaa !5
  %9324 = call ptr @__errno_location() #12
  store i32 %9323, ptr %9324, align 4, !tbaa !5
  %9325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9326 = load i32, ptr @test_count, align 4, !tbaa !5
  %9327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9328 = load i32, ptr %9327, align 4, !tbaa !5
  %9329 = call ptr @s2n_strerror(i32 noundef %9328, ptr noundef @.str.25)
  %9330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9331 = load i32, ptr %9330, align 4, !tbaa !5
  %9332 = call ptr @s2n_strerror_debug(i32 noundef %9331, ptr noundef @.str.25)
  %9333 = call ptr @__errno_location() #12
  %9334 = load i32, ptr %9333, align 4, !tbaa !5
  %9335 = call ptr @strerror(i32 noundef %9334) #11
  %9336 = call ptr @__errno_location() #12
  %9337 = load i32, ptr %9336, align 4, !tbaa !5
  %9338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9325, ptr noundef @.str.23, i32 noundef %9326, ptr noundef @.str.109, ptr noundef @.str.22, i32 noundef 535, ptr noundef %9329, ptr noundef %9332, ptr noundef %9335, i32 noundef %9337) #11
  br label %9356

9339:                                             ; preds = %9317, %9310
  %9340 = load i32, ptr %232, align 4, !tbaa !5
  %9341 = call ptr @__errno_location() #12
  store i32 %9340, ptr %9341, align 4, !tbaa !5
  %9342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9343 = load i32, ptr @test_count, align 4, !tbaa !5
  %9344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9345 = load i32, ptr %9344, align 4, !tbaa !5
  %9346 = call ptr @s2n_strerror(i32 noundef %9345, ptr noundef @.str.25)
  %9347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9348 = load i32, ptr %9347, align 4, !tbaa !5
  %9349 = call ptr @s2n_strerror_debug(i32 noundef %9348, ptr noundef @.str.25)
  %9350 = call ptr @__errno_location() #12
  %9351 = load i32, ptr %9350, align 4, !tbaa !5
  %9352 = call ptr @strerror(i32 noundef %9351) #11
  %9353 = call ptr @__errno_location() #12
  %9354 = load i32, ptr %9353, align 4, !tbaa !5
  %9355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9342, ptr noundef @.str.26, i32 noundef %9343, ptr noundef @.str.109, ptr noundef @.str.22, i32 noundef 535, ptr noundef %9346, ptr noundef %9349, ptr noundef %9352, i32 noundef %9354) #11
  br label %9356

9356:                                             ; preds = %9339, %9322
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %9357

9357:                                             ; preds = %9356
  br label %9358

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

9359:                                             ; No predecessors!
  br label %9360

9360:                                             ; preds = %9359
  br label %9361

9361:                                             ; preds = %9360, %9299
  br label %9362

9362:                                             ; preds = %9361
  br label %9363

9363:                                             ; preds = %9362
  br label %9364

9364:                                             ; preds = %9363
  %9365 = getelementptr inbounds %struct.s2n_blob, ptr %221, i32 0, i32 1
  %9366 = load i32, ptr %9365, align 8, !tbaa !72
  %9367 = icmp ne i32 %9366, 0
  br i1 %9367, label %9368, label %9438

9368:                                             ; preds = %9364
  br label %9369

9369:                                             ; preds = %9368
  %9370 = load i32, ptr @test_count, align 4, !tbaa !5
  %9371 = add nsw i32 %9370, 1
  store i32 %9371, ptr @test_count, align 4, !tbaa !5
  %9372 = load ptr, ptr %230, align 8, !tbaa !9
  %9373 = getelementptr inbounds %struct.s2n_blob, ptr %9372, i32 0, i32 0
  %9374 = load ptr, ptr %9373, align 8, !tbaa !54
  %9375 = getelementptr inbounds %struct.s2n_blob, ptr %221, i32 0, i32 0
  %9376 = load ptr, ptr %9375, align 8, !tbaa !54
  %9377 = getelementptr inbounds %struct.s2n_blob, ptr %221, i32 0, i32 1
  %9378 = load i32, ptr %9377, align 8, !tbaa !72
  %9379 = zext i32 %9378 to i64
  %9380 = call i32 @memcmp(ptr noundef %9374, ptr noundef %9376, i64 noundef %9379) #14
  %9381 = icmp eq i32 %9380, 0
  br i1 %9381, label %9435, label %9382

9382:                                             ; preds = %9369
  br label %9383

9383:                                             ; preds = %9382
  br label %9384

9384:                                             ; preds = %9383
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %9385 = call ptr @__errno_location() #12
  %9386 = load i32, ptr %9385, align 4, !tbaa !5
  store i32 %9386, ptr %233, align 4, !tbaa !5
  %9387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9388 = call i32 @s2n_print_stacktrace(ptr noundef %9387)
  %9389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9390 = trunc i8 %9389 to i1
  br i1 %9390, label %9391, label %9413

9391:                                             ; preds = %9384
  %9392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9393 = call i32 @fileno(ptr noundef %9392) #11
  %9394 = call i32 @isatty(i32 noundef %9393) #11
  %9395 = icmp ne i32 %9394, 0
  br i1 %9395, label %9396, label %9413

9396:                                             ; preds = %9391
  %9397 = load i32, ptr %233, align 4, !tbaa !5
  %9398 = call ptr @__errno_location() #12
  store i32 %9397, ptr %9398, align 4, !tbaa !5
  %9399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9400 = load i32, ptr @test_count, align 4, !tbaa !5
  %9401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9402 = load i32, ptr %9401, align 4, !tbaa !5
  %9403 = call ptr @s2n_strerror(i32 noundef %9402, ptr noundef @.str.25)
  %9404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9405 = load i32, ptr %9404, align 4, !tbaa !5
  %9406 = call ptr @s2n_strerror_debug(i32 noundef %9405, ptr noundef @.str.25)
  %9407 = call ptr @__errno_location() #12
  %9408 = load i32, ptr %9407, align 4, !tbaa !5
  %9409 = call ptr @strerror(i32 noundef %9408) #11
  %9410 = call ptr @__errno_location() #12
  %9411 = load i32, ptr %9410, align 4, !tbaa !5
  %9412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9399, ptr noundef @.str.23, i32 noundef %9400, ptr noundef @.str.110, ptr noundef @.str.22, i32 noundef 536, ptr noundef %9403, ptr noundef %9406, ptr noundef %9409, i32 noundef %9411) #11
  br label %9430

9413:                                             ; preds = %9391, %9384
  %9414 = load i32, ptr %233, align 4, !tbaa !5
  %9415 = call ptr @__errno_location() #12
  store i32 %9414, ptr %9415, align 4, !tbaa !5
  %9416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9417 = load i32, ptr @test_count, align 4, !tbaa !5
  %9418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9419 = load i32, ptr %9418, align 4, !tbaa !5
  %9420 = call ptr @s2n_strerror(i32 noundef %9419, ptr noundef @.str.25)
  %9421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9422 = load i32, ptr %9421, align 4, !tbaa !5
  %9423 = call ptr @s2n_strerror_debug(i32 noundef %9422, ptr noundef @.str.25)
  %9424 = call ptr @__errno_location() #12
  %9425 = load i32, ptr %9424, align 4, !tbaa !5
  %9426 = call ptr @strerror(i32 noundef %9425) #11
  %9427 = call ptr @__errno_location() #12
  %9428 = load i32, ptr %9427, align 4, !tbaa !5
  %9429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9416, ptr noundef @.str.26, i32 noundef %9417, ptr noundef @.str.110, ptr noundef @.str.22, i32 noundef 536, ptr noundef %9420, ptr noundef %9423, ptr noundef %9426, i32 noundef %9428) #11
  br label %9430

9430:                                             ; preds = %9413, %9396
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %9431

9431:                                             ; preds = %9430
  br label %9432

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

9433:                                             ; No predecessors!
  br label %9434

9434:                                             ; preds = %9433
  br label %9435

9435:                                             ; preds = %9434, %9369
  br label %9436

9436:                                             ; preds = %9435
  br label %9437

9437:                                             ; preds = %9436
  br label %9438

9438:                                             ; preds = %9437, %9364
  br label %9439

9439:                                             ; preds = %9438
  br label %9440

9440:                                             ; preds = %9439
  br label %9441

9441:                                             ; preds = %9440
  %9442 = load i32, ptr @test_count, align 4, !tbaa !5
  %9443 = add nsw i32 %9442, 1
  store i32 %9443, ptr @test_count, align 4, !tbaa !5
  %9444 = load ptr, ptr %224, align 8, !tbaa !9
  %9445 = call i32 @s2n_connection_free(ptr noundef %9444)
  %9446 = icmp eq i32 %9445, -1
  br i1 %9446, label %9447, label %9500

9447:                                             ; preds = %9441
  br label %9448

9448:                                             ; preds = %9447
  br label %9449

9449:                                             ; preds = %9448
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %9450 = call ptr @__errno_location() #12
  %9451 = load i32, ptr %9450, align 4, !tbaa !5
  store i32 %9451, ptr %234, align 4, !tbaa !5
  %9452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9453 = call i32 @s2n_print_stacktrace(ptr noundef %9452)
  %9454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9455 = trunc i8 %9454 to i1
  br i1 %9455, label %9456, label %9478

9456:                                             ; preds = %9449
  %9457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9458 = call i32 @fileno(ptr noundef %9457) #11
  %9459 = call i32 @isatty(i32 noundef %9458) #11
  %9460 = icmp ne i32 %9459, 0
  br i1 %9460, label %9461, label %9478

9461:                                             ; preds = %9456
  %9462 = load i32, ptr %234, align 4, !tbaa !5
  %9463 = call ptr @__errno_location() #12
  store i32 %9462, ptr %9463, align 4, !tbaa !5
  %9464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9465 = load i32, ptr @test_count, align 4, !tbaa !5
  %9466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9467 = load i32, ptr %9466, align 4, !tbaa !5
  %9468 = call ptr @s2n_strerror(i32 noundef %9467, ptr noundef @.str.25)
  %9469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9470 = load i32, ptr %9469, align 4, !tbaa !5
  %9471 = call ptr @s2n_strerror_debug(i32 noundef %9470, ptr noundef @.str.25)
  %9472 = call ptr @__errno_location() #12
  %9473 = load i32, ptr %9472, align 4, !tbaa !5
  %9474 = call ptr @strerror(i32 noundef %9473) #11
  %9475 = call ptr @__errno_location() #12
  %9476 = load i32, ptr %9475, align 4, !tbaa !5
  %9477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9464, ptr noundef @.str.23, i32 noundef %9465, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 538, ptr noundef %9468, ptr noundef %9471, ptr noundef %9474, i32 noundef %9476) #11
  br label %9495

9478:                                             ; preds = %9456, %9449
  %9479 = load i32, ptr %234, align 4, !tbaa !5
  %9480 = call ptr @__errno_location() #12
  store i32 %9479, ptr %9480, align 4, !tbaa !5
  %9481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9482 = load i32, ptr @test_count, align 4, !tbaa !5
  %9483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9484 = load i32, ptr %9483, align 4, !tbaa !5
  %9485 = call ptr @s2n_strerror(i32 noundef %9484, ptr noundef @.str.25)
  %9486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9487 = load i32, ptr %9486, align 4, !tbaa !5
  %9488 = call ptr @s2n_strerror_debug(i32 noundef %9487, ptr noundef @.str.25)
  %9489 = call ptr @__errno_location() #12
  %9490 = load i32, ptr %9489, align 4, !tbaa !5
  %9491 = call ptr @strerror(i32 noundef %9490) #11
  %9492 = call ptr @__errno_location() #12
  %9493 = load i32, ptr %9492, align 4, !tbaa !5
  %9494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9481, ptr noundef @.str.26, i32 noundef %9482, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 538, ptr noundef %9485, ptr noundef %9488, ptr noundef %9491, i32 noundef %9493) #11
  br label %9495

9495:                                             ; preds = %9478, %9461
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %9496

9496:                                             ; preds = %9495
  br label %9497

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

9498:                                             ; No predecessors!
  br label %9499

9499:                                             ; preds = %9498
  br label %9500

9500:                                             ; preds = %9499, %9441
  br label %9501

9501:                                             ; preds = %9500
  br label %9502

9502:                                             ; preds = %9501
  call void @llvm.lifetime.end.p0(i64 8, ptr %230) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %228) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %227) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #11
  store i32 0, ptr %223, align 4
  br label %9503

9503:                                             ; preds = %9502, %9039
  %9504 = call i32 @s2n_free(ptr noundef %221)
  call void @llvm.lifetime.end.p0(i64 24, ptr %221) #11
  %9505 = load i32, ptr %223, align 4
  switch i32 %9505, label %34421 [
    i32 0, label %9506
    i32 1, label %34419
  ]

9506:                                             ; preds = %9503
  call void @llvm.lifetime.start.p0(i64 3, ptr %235) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %235, ptr align 1 @__const.main.test_ticket, i64 3, i1 false)
  call void @llvm.lifetime.start.p0(i64 18, ptr %236) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %236, ptr align 16 @__const.main.nst_data, i64 18, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %237) #11
  %9507 = call ptr @s2n_config_new()
  store ptr %9507, ptr %237, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %238) #11
  %9508 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9508, ptr %238, align 8, !tbaa !9
  br label %9509

9509:                                             ; preds = %9506
  %9510 = load i32, ptr @test_count, align 4, !tbaa !5
  %9511 = add nsw i32 %9510, 1
  store i32 %9511, ptr @test_count, align 4, !tbaa !5
  %9512 = load ptr, ptr %238, align 8, !tbaa !9
  %9513 = icmp eq ptr %9512, null
  br i1 %9513, label %9514, label %9567

9514:                                             ; preds = %9509
  br label %9515

9515:                                             ; preds = %9514
  br label %9516

9516:                                             ; preds = %9515
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #11
  %9517 = call ptr @__errno_location() #12
  %9518 = load i32, ptr %9517, align 4, !tbaa !5
  store i32 %9518, ptr %239, align 4, !tbaa !5
  %9519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9520 = call i32 @s2n_print_stacktrace(ptr noundef %9519)
  %9521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9522 = trunc i8 %9521 to i1
  br i1 %9522, label %9523, label %9545

9523:                                             ; preds = %9516
  %9524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9525 = call i32 @fileno(ptr noundef %9524) #11
  %9526 = call i32 @isatty(i32 noundef %9525) #11
  %9527 = icmp ne i32 %9526, 0
  br i1 %9527, label %9528, label %9545

9528:                                             ; preds = %9523
  %9529 = load i32, ptr %239, align 4, !tbaa !5
  %9530 = call ptr @__errno_location() #12
  store i32 %9529, ptr %9530, align 4, !tbaa !5
  %9531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9532 = load i32, ptr @test_count, align 4, !tbaa !5
  %9533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9534 = load i32, ptr %9533, align 4, !tbaa !5
  %9535 = call ptr @s2n_strerror(i32 noundef %9534, ptr noundef @.str.25)
  %9536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9537 = load i32, ptr %9536, align 4, !tbaa !5
  %9538 = call ptr @s2n_strerror_debug(i32 noundef %9537, ptr noundef @.str.25)
  %9539 = call ptr @__errno_location() #12
  %9540 = load i32, ptr %9539, align 4, !tbaa !5
  %9541 = call ptr @strerror(i32 noundef %9540) #11
  %9542 = call ptr @__errno_location() #12
  %9543 = load i32, ptr %9542, align 4, !tbaa !5
  %9544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9531, ptr noundef @.str.23, i32 noundef %9532, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 558, ptr noundef %9535, ptr noundef %9538, ptr noundef %9541, i32 noundef %9543) #11
  br label %9562

9545:                                             ; preds = %9523, %9516
  %9546 = load i32, ptr %239, align 4, !tbaa !5
  %9547 = call ptr @__errno_location() #12
  store i32 %9546, ptr %9547, align 4, !tbaa !5
  %9548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9549 = load i32, ptr @test_count, align 4, !tbaa !5
  %9550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9551 = load i32, ptr %9550, align 4, !tbaa !5
  %9552 = call ptr @s2n_strerror(i32 noundef %9551, ptr noundef @.str.25)
  %9553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9554 = load i32, ptr %9553, align 4, !tbaa !5
  %9555 = call ptr @s2n_strerror_debug(i32 noundef %9554, ptr noundef @.str.25)
  %9556 = call ptr @__errno_location() #12
  %9557 = load i32, ptr %9556, align 4, !tbaa !5
  %9558 = call ptr @strerror(i32 noundef %9557) #11
  %9559 = call ptr @__errno_location() #12
  %9560 = load i32, ptr %9559, align 4, !tbaa !5
  %9561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9548, ptr noundef @.str.26, i32 noundef %9549, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 558, ptr noundef %9552, ptr noundef %9555, ptr noundef %9558, i32 noundef %9560) #11
  br label %9562

9562:                                             ; preds = %9545, %9528
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #11
  br label %9563

9563:                                             ; preds = %9562
  br label %9564

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

9565:                                             ; No predecessors!
  br label %9566

9566:                                             ; preds = %9565
  br label %9567

9567:                                             ; preds = %9566, %9509
  br label %9568

9568:                                             ; preds = %9567
  br label %9569

9569:                                             ; preds = %9568
  br label %9570

9570:                                             ; preds = %9569
  %9571 = load i32, ptr @test_count, align 4, !tbaa !5
  %9572 = add nsw i32 %9571, 1
  store i32 %9572, ptr @test_count, align 4, !tbaa !5
  %9573 = load ptr, ptr %237, align 8, !tbaa !9
  %9574 = icmp eq ptr %9573, null
  br i1 %9574, label %9575, label %9628

9575:                                             ; preds = %9570
  br label %9576

9576:                                             ; preds = %9575
  br label %9577

9577:                                             ; preds = %9576
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %9578 = call ptr @__errno_location() #12
  %9579 = load i32, ptr %9578, align 4, !tbaa !5
  store i32 %9579, ptr %240, align 4, !tbaa !5
  %9580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9581 = call i32 @s2n_print_stacktrace(ptr noundef %9580)
  %9582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9583 = trunc i8 %9582 to i1
  br i1 %9583, label %9584, label %9606

9584:                                             ; preds = %9577
  %9585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9586 = call i32 @fileno(ptr noundef %9585) #11
  %9587 = call i32 @isatty(i32 noundef %9586) #11
  %9588 = icmp ne i32 %9587, 0
  br i1 %9588, label %9589, label %9606

9589:                                             ; preds = %9584
  %9590 = load i32, ptr %240, align 4, !tbaa !5
  %9591 = call ptr @__errno_location() #12
  store i32 %9590, ptr %9591, align 4, !tbaa !5
  %9592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9593 = load i32, ptr @test_count, align 4, !tbaa !5
  %9594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9595 = load i32, ptr %9594, align 4, !tbaa !5
  %9596 = call ptr @s2n_strerror(i32 noundef %9595, ptr noundef @.str.25)
  %9597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9598 = load i32, ptr %9597, align 4, !tbaa !5
  %9599 = call ptr @s2n_strerror_debug(i32 noundef %9598, ptr noundef @.str.25)
  %9600 = call ptr @__errno_location() #12
  %9601 = load i32, ptr %9600, align 4, !tbaa !5
  %9602 = call ptr @strerror(i32 noundef %9601) #11
  %9603 = call ptr @__errno_location() #12
  %9604 = load i32, ptr %9603, align 4, !tbaa !5
  %9605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9592, ptr noundef @.str.23, i32 noundef %9593, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 559, ptr noundef %9596, ptr noundef %9599, ptr noundef %9602, i32 noundef %9604) #11
  br label %9623

9606:                                             ; preds = %9584, %9577
  %9607 = load i32, ptr %240, align 4, !tbaa !5
  %9608 = call ptr @__errno_location() #12
  store i32 %9607, ptr %9608, align 4, !tbaa !5
  %9609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9610 = load i32, ptr @test_count, align 4, !tbaa !5
  %9611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9612 = load i32, ptr %9611, align 4, !tbaa !5
  %9613 = call ptr @s2n_strerror(i32 noundef %9612, ptr noundef @.str.25)
  %9614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9615 = load i32, ptr %9614, align 4, !tbaa !5
  %9616 = call ptr @s2n_strerror_debug(i32 noundef %9615, ptr noundef @.str.25)
  %9617 = call ptr @__errno_location() #12
  %9618 = load i32, ptr %9617, align 4, !tbaa !5
  %9619 = call ptr @strerror(i32 noundef %9618) #11
  %9620 = call ptr @__errno_location() #12
  %9621 = load i32, ptr %9620, align 4, !tbaa !5
  %9622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9609, ptr noundef @.str.26, i32 noundef %9610, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 559, ptr noundef %9613, ptr noundef %9616, ptr noundef %9619, i32 noundef %9621) #11
  br label %9623

9623:                                             ; preds = %9606, %9589
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %9624

9624:                                             ; preds = %9623
  br label %9625

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

9626:                                             ; No predecessors!
  br label %9627

9627:                                             ; preds = %9626
  br label %9628

9628:                                             ; preds = %9627, %9570
  br label %9629

9629:                                             ; preds = %9628
  br label %9630

9630:                                             ; preds = %9629
  br label %9631

9631:                                             ; preds = %9630
  %9632 = load i32, ptr @test_count, align 4, !tbaa !5
  %9633 = add nsw i32 %9632, 1
  store i32 %9633, ptr @test_count, align 4, !tbaa !5
  %9634 = load ptr, ptr %238, align 8, !tbaa !9
  %9635 = load ptr, ptr %237, align 8, !tbaa !9
  %9636 = call i32 @s2n_connection_set_config(ptr noundef %9634, ptr noundef %9635)
  %9637 = icmp eq i32 %9636, -1
  br i1 %9637, label %9638, label %9691

9638:                                             ; preds = %9631
  br label %9639

9639:                                             ; preds = %9638
  br label %9640

9640:                                             ; preds = %9639
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %9641 = call ptr @__errno_location() #12
  %9642 = load i32, ptr %9641, align 4, !tbaa !5
  store i32 %9642, ptr %241, align 4, !tbaa !5
  %9643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9644 = call i32 @s2n_print_stacktrace(ptr noundef %9643)
  %9645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9646 = trunc i8 %9645 to i1
  br i1 %9646, label %9647, label %9669

9647:                                             ; preds = %9640
  %9648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9649 = call i32 @fileno(ptr noundef %9648) #11
  %9650 = call i32 @isatty(i32 noundef %9649) #11
  %9651 = icmp ne i32 %9650, 0
  br i1 %9651, label %9652, label %9669

9652:                                             ; preds = %9647
  %9653 = load i32, ptr %241, align 4, !tbaa !5
  %9654 = call ptr @__errno_location() #12
  store i32 %9653, ptr %9654, align 4, !tbaa !5
  %9655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9656 = load i32, ptr @test_count, align 4, !tbaa !5
  %9657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9658 = load i32, ptr %9657, align 4, !tbaa !5
  %9659 = call ptr @s2n_strerror(i32 noundef %9658, ptr noundef @.str.25)
  %9660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9661 = load i32, ptr %9660, align 4, !tbaa !5
  %9662 = call ptr @s2n_strerror_debug(i32 noundef %9661, ptr noundef @.str.25)
  %9663 = call ptr @__errno_location() #12
  %9664 = load i32, ptr %9663, align 4, !tbaa !5
  %9665 = call ptr @strerror(i32 noundef %9664) #11
  %9666 = call ptr @__errno_location() #12
  %9667 = load i32, ptr %9666, align 4, !tbaa !5
  %9668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9655, ptr noundef @.str.23, i32 noundef %9656, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 561, ptr noundef %9659, ptr noundef %9662, ptr noundef %9665, i32 noundef %9667) #11
  br label %9686

9669:                                             ; preds = %9647, %9640
  %9670 = load i32, ptr %241, align 4, !tbaa !5
  %9671 = call ptr @__errno_location() #12
  store i32 %9670, ptr %9671, align 4, !tbaa !5
  %9672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9673 = load i32, ptr @test_count, align 4, !tbaa !5
  %9674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9675 = load i32, ptr %9674, align 4, !tbaa !5
  %9676 = call ptr @s2n_strerror(i32 noundef %9675, ptr noundef @.str.25)
  %9677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9678 = load i32, ptr %9677, align 4, !tbaa !5
  %9679 = call ptr @s2n_strerror_debug(i32 noundef %9678, ptr noundef @.str.25)
  %9680 = call ptr @__errno_location() #12
  %9681 = load i32, ptr %9680, align 4, !tbaa !5
  %9682 = call ptr @strerror(i32 noundef %9681) #11
  %9683 = call ptr @__errno_location() #12
  %9684 = load i32, ptr %9683, align 4, !tbaa !5
  %9685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9672, ptr noundef @.str.26, i32 noundef %9673, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 561, ptr noundef %9676, ptr noundef %9679, ptr noundef %9682, i32 noundef %9684) #11
  br label %9686

9686:                                             ; preds = %9669, %9652
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %9687

9687:                                             ; preds = %9686
  br label %9688

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

9689:                                             ; No predecessors!
  br label %9690

9690:                                             ; preds = %9689
  br label %9691

9691:                                             ; preds = %9690, %9631
  br label %9692

9692:                                             ; preds = %9691
  br label %9693

9693:                                             ; preds = %9692
  call void @llvm.lifetime.start.p0(i64 40, ptr %242) #11
  call void @llvm.memset.p0.i64(ptr align 8 %242, i8 0, i64 40, i1 false)
  br label %9694

9694:                                             ; preds = %9693
  %9695 = load i32, ptr @test_count, align 4, !tbaa !5
  %9696 = add nsw i32 %9695, 1
  store i32 %9696, ptr @test_count, align 4, !tbaa !5
  %9697 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %242, i32 noundef 0)
  %9698 = icmp eq i32 %9697, -1
  br i1 %9698, label %9699, label %9752

9699:                                             ; preds = %9694
  br label %9700

9700:                                             ; preds = %9699
  br label %9701

9701:                                             ; preds = %9700
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %9702 = call ptr @__errno_location() #12
  %9703 = load i32, ptr %9702, align 4, !tbaa !5
  store i32 %9703, ptr %243, align 4, !tbaa !5
  %9704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9705 = call i32 @s2n_print_stacktrace(ptr noundef %9704)
  %9706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9707 = trunc i8 %9706 to i1
  br i1 %9707, label %9708, label %9730

9708:                                             ; preds = %9701
  %9709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9710 = call i32 @fileno(ptr noundef %9709) #11
  %9711 = call i32 @isatty(i32 noundef %9710) #11
  %9712 = icmp ne i32 %9711, 0
  br i1 %9712, label %9713, label %9730

9713:                                             ; preds = %9708
  %9714 = load i32, ptr %243, align 4, !tbaa !5
  %9715 = call ptr @__errno_location() #12
  store i32 %9714, ptr %9715, align 4, !tbaa !5
  %9716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9717 = load i32, ptr @test_count, align 4, !tbaa !5
  %9718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9719 = load i32, ptr %9718, align 4, !tbaa !5
  %9720 = call ptr @s2n_strerror(i32 noundef %9719, ptr noundef @.str.25)
  %9721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9722 = load i32, ptr %9721, align 4, !tbaa !5
  %9723 = call ptr @s2n_strerror_debug(i32 noundef %9722, ptr noundef @.str.25)
  %9724 = call ptr @__errno_location() #12
  %9725 = load i32, ptr %9724, align 4, !tbaa !5
  %9726 = call ptr @strerror(i32 noundef %9725) #11
  %9727 = call ptr @__errno_location() #12
  %9728 = load i32, ptr %9727, align 4, !tbaa !5
  %9729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9716, ptr noundef @.str.23, i32 noundef %9717, ptr noundef @.str.111, ptr noundef @.str.22, i32 noundef 565, ptr noundef %9720, ptr noundef %9723, ptr noundef %9726, i32 noundef %9728) #11
  br label %9747

9730:                                             ; preds = %9708, %9701
  %9731 = load i32, ptr %243, align 4, !tbaa !5
  %9732 = call ptr @__errno_location() #12
  store i32 %9731, ptr %9732, align 4, !tbaa !5
  %9733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9734 = load i32, ptr @test_count, align 4, !tbaa !5
  %9735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9736 = load i32, ptr %9735, align 4, !tbaa !5
  %9737 = call ptr @s2n_strerror(i32 noundef %9736, ptr noundef @.str.25)
  %9738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9739 = load i32, ptr %9738, align 4, !tbaa !5
  %9740 = call ptr @s2n_strerror_debug(i32 noundef %9739, ptr noundef @.str.25)
  %9741 = call ptr @__errno_location() #12
  %9742 = load i32, ptr %9741, align 4, !tbaa !5
  %9743 = call ptr @strerror(i32 noundef %9742) #11
  %9744 = call ptr @__errno_location() #12
  %9745 = load i32, ptr %9744, align 4, !tbaa !5
  %9746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9733, ptr noundef @.str.26, i32 noundef %9734, ptr noundef @.str.111, ptr noundef @.str.22, i32 noundef 565, ptr noundef %9737, ptr noundef %9740, ptr noundef %9743, i32 noundef %9745) #11
  br label %9747

9747:                                             ; preds = %9730, %9713
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %9748

9748:                                             ; preds = %9747
  br label %9749

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

9750:                                             ; No predecessors!
  br label %9751

9751:                                             ; preds = %9750
  br label %9752

9752:                                             ; preds = %9751, %9694
  br label %9753

9753:                                             ; preds = %9752
  br label %9754

9754:                                             ; preds = %9753
  call void @llvm.lifetime.start.p0(i64 24, ptr %244) #11
  call void @llvm.memset.p0.i64(ptr align 8 %244, i8 0, i64 24, i1 false)
  br label %9755

9755:                                             ; preds = %9754
  %9756 = load i32, ptr @test_count, align 4, !tbaa !5
  %9757 = add nsw i32 %9756, 1
  store i32 %9757, ptr @test_count, align 4, !tbaa !5
  %9758 = getelementptr inbounds [18 x i8], ptr %236, i64 0, i64 0
  %9759 = call i32 @s2n_blob_init(ptr noundef %244, ptr noundef %9758, i32 noundef 18)
  %9760 = icmp eq i32 %9759, -1
  br i1 %9760, label %9761, label %9814

9761:                                             ; preds = %9755
  br label %9762

9762:                                             ; preds = %9761
  br label %9763

9763:                                             ; preds = %9762
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %9764 = call ptr @__errno_location() #12
  %9765 = load i32, ptr %9764, align 4, !tbaa !5
  store i32 %9765, ptr %245, align 4, !tbaa !5
  %9766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9767 = call i32 @s2n_print_stacktrace(ptr noundef %9766)
  %9768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9769 = trunc i8 %9768 to i1
  br i1 %9769, label %9770, label %9792

9770:                                             ; preds = %9763
  %9771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9772 = call i32 @fileno(ptr noundef %9771) #11
  %9773 = call i32 @isatty(i32 noundef %9772) #11
  %9774 = icmp ne i32 %9773, 0
  br i1 %9774, label %9775, label %9792

9775:                                             ; preds = %9770
  %9776 = load i32, ptr %245, align 4, !tbaa !5
  %9777 = call ptr @__errno_location() #12
  store i32 %9776, ptr %9777, align 4, !tbaa !5
  %9778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9779 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9781, ptr noundef @.str.25)
  %9783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9784 = load i32, ptr %9783, align 4, !tbaa !5
  %9785 = call ptr @s2n_strerror_debug(i32 noundef %9784, ptr noundef @.str.25)
  %9786 = call ptr @__errno_location() #12
  %9787 = load i32, ptr %9786, align 4, !tbaa !5
  %9788 = call ptr @strerror(i32 noundef %9787) #11
  %9789 = call ptr @__errno_location() #12
  %9790 = load i32, ptr %9789, align 4, !tbaa !5
  %9791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9778, ptr noundef @.str.23, i32 noundef %9779, ptr noundef @.str.112, ptr noundef @.str.22, i32 noundef 568, ptr noundef %9782, ptr noundef %9785, ptr noundef %9788, i32 noundef %9790) #11
  br label %9809

9792:                                             ; preds = %9770, %9763
  %9793 = load i32, ptr %245, align 4, !tbaa !5
  %9794 = call ptr @__errno_location() #12
  store i32 %9793, ptr %9794, align 4, !tbaa !5
  %9795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9796 = load i32, ptr @test_count, align 4, !tbaa !5
  %9797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9798 = load i32, ptr %9797, align 4, !tbaa !5
  %9799 = call ptr @s2n_strerror(i32 noundef %9798, ptr noundef @.str.25)
  %9800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9801 = load i32, ptr %9800, align 4, !tbaa !5
  %9802 = call ptr @s2n_strerror_debug(i32 noundef %9801, ptr noundef @.str.25)
  %9803 = call ptr @__errno_location() #12
  %9804 = load i32, ptr %9803, align 4, !tbaa !5
  %9805 = call ptr @strerror(i32 noundef %9804) #11
  %9806 = call ptr @__errno_location() #12
  %9807 = load i32, ptr %9806, align 4, !tbaa !5
  %9808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9795, ptr noundef @.str.26, i32 noundef %9796, ptr noundef @.str.112, ptr noundef @.str.22, i32 noundef 568, ptr noundef %9799, ptr noundef %9802, ptr noundef %9805, i32 noundef %9807) #11
  br label %9809

9809:                                             ; preds = %9792, %9775
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %9810

9810:                                             ; preds = %9809
  br label %9811

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

9812:                                             ; No predecessors!
  br label %9813

9813:                                             ; preds = %9812
  br label %9814

9814:                                             ; preds = %9813, %9755
  br label %9815

9815:                                             ; preds = %9814
  br label %9816

9816:                                             ; preds = %9815
  br label %9817

9817:                                             ; preds = %9816
  %9818 = load i32, ptr @test_count, align 4, !tbaa !5
  %9819 = add nsw i32 %9818, 1
  store i32 %9819, ptr @test_count, align 4, !tbaa !5
  %9820 = call i32 @s2n_stuffer_write(ptr noundef %242, ptr noundef %244)
  %9821 = icmp eq i32 %9820, -1
  br i1 %9821, label %9822, label %9875

9822:                                             ; preds = %9817
  br label %9823

9823:                                             ; preds = %9822
  br label %9824

9824:                                             ; preds = %9823
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %9825 = call ptr @__errno_location() #12
  %9826 = load i32, ptr %9825, align 4, !tbaa !5
  store i32 %9826, ptr %246, align 4, !tbaa !5
  %9827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9828 = call i32 @s2n_print_stacktrace(ptr noundef %9827)
  %9829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9830 = trunc i8 %9829 to i1
  br i1 %9830, label %9831, label %9853

9831:                                             ; preds = %9824
  %9832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9833 = call i32 @fileno(ptr noundef %9832) #11
  %9834 = call i32 @isatty(i32 noundef %9833) #11
  %9835 = icmp ne i32 %9834, 0
  br i1 %9835, label %9836, label %9853

9836:                                             ; preds = %9831
  %9837 = load i32, ptr %246, align 4, !tbaa !5
  %9838 = call ptr @__errno_location() #12
  store i32 %9837, ptr %9838, align 4, !tbaa !5
  %9839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9840 = load i32, ptr @test_count, align 4, !tbaa !5
  %9841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9842 = load i32, ptr %9841, align 4, !tbaa !5
  %9843 = call ptr @s2n_strerror(i32 noundef %9842, ptr noundef @.str.25)
  %9844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9845 = load i32, ptr %9844, align 4, !tbaa !5
  %9846 = call ptr @s2n_strerror_debug(i32 noundef %9845, ptr noundef @.str.25)
  %9847 = call ptr @__errno_location() #12
  %9848 = load i32, ptr %9847, align 4, !tbaa !5
  %9849 = call ptr @strerror(i32 noundef %9848) #11
  %9850 = call ptr @__errno_location() #12
  %9851 = load i32, ptr %9850, align 4, !tbaa !5
  %9852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9839, ptr noundef @.str.23, i32 noundef %9840, ptr noundef @.str.113, ptr noundef @.str.22, i32 noundef 569, ptr noundef %9843, ptr noundef %9846, ptr noundef %9849, i32 noundef %9851) #11
  br label %9870

9853:                                             ; preds = %9831, %9824
  %9854 = load i32, ptr %246, align 4, !tbaa !5
  %9855 = call ptr @__errno_location() #12
  store i32 %9854, ptr %9855, align 4, !tbaa !5
  %9856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9857 = load i32, ptr @test_count, align 4, !tbaa !5
  %9858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9859 = load i32, ptr %9858, align 4, !tbaa !5
  %9860 = call ptr @s2n_strerror(i32 noundef %9859, ptr noundef @.str.25)
  %9861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9862 = load i32, ptr %9861, align 4, !tbaa !5
  %9863 = call ptr @s2n_strerror_debug(i32 noundef %9862, ptr noundef @.str.25)
  %9864 = call ptr @__errno_location() #12
  %9865 = load i32, ptr %9864, align 4, !tbaa !5
  %9866 = call ptr @strerror(i32 noundef %9865) #11
  %9867 = call ptr @__errno_location() #12
  %9868 = load i32, ptr %9867, align 4, !tbaa !5
  %9869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9856, ptr noundef @.str.26, i32 noundef %9857, ptr noundef @.str.113, ptr noundef @.str.22, i32 noundef 569, ptr noundef %9860, ptr noundef %9863, ptr noundef %9866, i32 noundef %9868) #11
  br label %9870

9870:                                             ; preds = %9853, %9836
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %9871

9871:                                             ; preds = %9870
  br label %9872

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

9873:                                             ; No predecessors!
  br label %9874

9874:                                             ; preds = %9873
  br label %9875

9875:                                             ; preds = %9874, %9817
  br label %9876

9876:                                             ; preds = %9875
  br label %9877

9877:                                             ; preds = %9876
  br label %9878

9878:                                             ; preds = %9877
  %9879 = load i32, ptr @test_count, align 4, !tbaa !5
  %9880 = add nsw i32 %9879, 1
  store i32 %9880, ptr @test_count, align 4, !tbaa !5
  %9881 = load ptr, ptr %238, align 8, !tbaa !9
  %9882 = call i32 @s2n_tls13_server_nst_recv(ptr noundef %9881, ptr noundef %242)
  %9883 = getelementptr inbounds %struct.s2n_result, ptr %247, i32 0, i32 0
  store i32 %9882, ptr %9883, align 4
  %9884 = getelementptr inbounds %struct.s2n_result, ptr %247, i32 0, i32 0
  %9885 = load i32, ptr %9884, align 4
  %9886 = call zeroext i1 @s2n_result_is_ok(i32 %9885)
  br i1 %9886, label %9940, label %9887

9887:                                             ; preds = %9878
  br label %9888

9888:                                             ; preds = %9887
  br label %9889

9889:                                             ; preds = %9888
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %9890 = call ptr @__errno_location() #12
  %9891 = load i32, ptr %9890, align 4, !tbaa !5
  store i32 %9891, ptr %248, align 4, !tbaa !5
  %9892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9893 = call i32 @s2n_print_stacktrace(ptr noundef %9892)
  %9894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9895 = trunc i8 %9894 to i1
  br i1 %9895, label %9896, label %9918

9896:                                             ; preds = %9889
  %9897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9898 = call i32 @fileno(ptr noundef %9897) #11
  %9899 = call i32 @isatty(i32 noundef %9898) #11
  %9900 = icmp ne i32 %9899, 0
  br i1 %9900, label %9901, label %9918

9901:                                             ; preds = %9896
  %9902 = load i32, ptr %248, align 4, !tbaa !5
  %9903 = call ptr @__errno_location() #12
  store i32 %9902, ptr %9903, align 4, !tbaa !5
  %9904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9905 = load i32, ptr @test_count, align 4, !tbaa !5
  %9906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9907 = load i32, ptr %9906, align 4, !tbaa !5
  %9908 = call ptr @s2n_strerror(i32 noundef %9907, ptr noundef @.str.25)
  %9909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9910 = load i32, ptr %9909, align 4, !tbaa !5
  %9911 = call ptr @s2n_strerror_debug(i32 noundef %9910, ptr noundef @.str.25)
  %9912 = call ptr @__errno_location() #12
  %9913 = load i32, ptr %9912, align 4, !tbaa !5
  %9914 = call ptr @strerror(i32 noundef %9913) #11
  %9915 = call ptr @__errno_location() #12
  %9916 = load i32, ptr %9915, align 4, !tbaa !5
  %9917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9904, ptr noundef @.str.23, i32 noundef %9905, ptr noundef @.str.114, ptr noundef @.str.22, i32 noundef 571, ptr noundef %9908, ptr noundef %9911, ptr noundef %9914, i32 noundef %9916) #11
  br label %9935

9918:                                             ; preds = %9896, %9889
  %9919 = load i32, ptr %248, align 4, !tbaa !5
  %9920 = call ptr @__errno_location() #12
  store i32 %9919, ptr %9920, align 4, !tbaa !5
  %9921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9922 = load i32, ptr @test_count, align 4, !tbaa !5
  %9923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9924 = load i32, ptr %9923, align 4, !tbaa !5
  %9925 = call ptr @s2n_strerror(i32 noundef %9924, ptr noundef @.str.25)
  %9926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9927 = load i32, ptr %9926, align 4, !tbaa !5
  %9928 = call ptr @s2n_strerror_debug(i32 noundef %9927, ptr noundef @.str.25)
  %9929 = call ptr @__errno_location() #12
  %9930 = load i32, ptr %9929, align 4, !tbaa !5
  %9931 = call ptr @strerror(i32 noundef %9930) #11
  %9932 = call ptr @__errno_location() #12
  %9933 = load i32, ptr %9932, align 4, !tbaa !5
  %9934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9921, ptr noundef @.str.26, i32 noundef %9922, ptr noundef @.str.114, ptr noundef @.str.22, i32 noundef 571, ptr noundef %9925, ptr noundef %9928, ptr noundef %9931, i32 noundef %9933) #11
  br label %9935

9935:                                             ; preds = %9918, %9901
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %9936

9936:                                             ; preds = %9935
  br label %9937

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

9938:                                             ; No predecessors!
  br label %9939

9939:                                             ; preds = %9938
  br label %9940

9940:                                             ; preds = %9939, %9878
  br label %9941

9941:                                             ; preds = %9940
  br label %9942

9942:                                             ; preds = %9941
  br label %9943

9943:                                             ; preds = %9942
  %9944 = load i32, ptr @test_count, align 4, !tbaa !5
  %9945 = add nsw i32 %9944, 1
  store i32 %9945, ptr @test_count, align 4, !tbaa !5
  %9946 = load ptr, ptr %238, align 8, !tbaa !9
  %9947 = getelementptr inbounds %struct.s2n_connection, ptr %9946, i32 0, i32 77
  %9948 = getelementptr inbounds %struct.s2n_blob, ptr %9947, i32 0, i32 1
  %9949 = load i32, ptr %9948, align 8, !tbaa !73
  %9950 = icmp eq i32 %9949, 0
  br i1 %9950, label %10004, label %9951

9951:                                             ; preds = %9943
  br label %9952

9952:                                             ; preds = %9951
  br label %9953

9953:                                             ; preds = %9952
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #11
  %9954 = call ptr @__errno_location() #12
  %9955 = load i32, ptr %9954, align 4, !tbaa !5
  store i32 %9955, ptr %249, align 4, !tbaa !5
  %9956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9957 = call i32 @s2n_print_stacktrace(ptr noundef %9956)
  %9958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9959 = trunc i8 %9958 to i1
  br i1 %9959, label %9960, label %9982

9960:                                             ; preds = %9953
  %9961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9962 = call i32 @fileno(ptr noundef %9961) #11
  %9963 = call i32 @isatty(i32 noundef %9962) #11
  %9964 = icmp ne i32 %9963, 0
  br i1 %9964, label %9965, label %9982

9965:                                             ; preds = %9960
  %9966 = load i32, ptr %249, align 4, !tbaa !5
  %9967 = call ptr @__errno_location() #12
  store i32 %9966, ptr %9967, align 4, !tbaa !5
  %9968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9969 = load i32, ptr @test_count, align 4, !tbaa !5
  %9970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9971 = load i32, ptr %9970, align 4, !tbaa !5
  %9972 = call ptr @s2n_strerror(i32 noundef %9971, ptr noundef @.str.25)
  %9973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9974 = load i32, ptr %9973, align 4, !tbaa !5
  %9975 = call ptr @s2n_strerror_debug(i32 noundef %9974, ptr noundef @.str.25)
  %9976 = call ptr @__errno_location() #12
  %9977 = load i32, ptr %9976, align 4, !tbaa !5
  %9978 = call ptr @strerror(i32 noundef %9977) #11
  %9979 = call ptr @__errno_location() #12
  %9980 = load i32, ptr %9979, align 4, !tbaa !5
  %9981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9968, ptr noundef @.str.23, i32 noundef %9969, ptr noundef @.str.115, ptr noundef @.str.22, i32 noundef 573, ptr noundef %9972, ptr noundef %9975, ptr noundef %9978, i32 noundef %9980) #11
  br label %9999

9982:                                             ; preds = %9960, %9953
  %9983 = load i32, ptr %249, align 4, !tbaa !5
  %9984 = call ptr @__errno_location() #12
  store i32 %9983, ptr %9984, align 4, !tbaa !5
  %9985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9986 = load i32, ptr @test_count, align 4, !tbaa !5
  %9987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9988 = load i32, ptr %9987, align 4, !tbaa !5
  %9989 = call ptr @s2n_strerror(i32 noundef %9988, ptr noundef @.str.25)
  %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_debug(i32 noundef %9991, ptr noundef @.str.25)
  %9993 = call ptr @__errno_location() #12
  %9994 = load i32, ptr %9993, align 4, !tbaa !5
  %9995 = call ptr @strerror(i32 noundef %9994) #11
  %9996 = call ptr @__errno_location() #12
  %9997 = load i32, ptr %9996, align 4, !tbaa !5
  %9998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9985, ptr noundef @.str.26, i32 noundef %9986, ptr noundef @.str.115, ptr noundef @.str.22, i32 noundef 573, ptr noundef %9989, ptr noundef %9992, ptr noundef %9995, i32 noundef %9997) #11
  br label %9999

9999:                                             ; preds = %9982, %9965
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #11
  br label %10000

10000:                                            ; preds = %9999
  br label %10001

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

10002:                                            ; No predecessors!
  br label %10003

10003:                                            ; preds = %10002
  br label %10004

10004:                                            ; preds = %10003, %9943
  br label %10005

10005:                                            ; preds = %10004
  br label %10006

10006:                                            ; preds = %10005
  br label %10007

10007:                                            ; preds = %10006
  %10008 = load i32, ptr @test_count, align 4, !tbaa !5
  %10009 = add nsw i32 %10008, 1
  store i32 %10009, ptr @test_count, align 4, !tbaa !5
  %10010 = getelementptr inbounds %struct.s2n_stuffer, ptr %242, i32 0, i32 2
  %10011 = load i32, ptr %10010, align 4, !tbaa !52
  %10012 = getelementptr inbounds %struct.s2n_stuffer, ptr %242, i32 0, i32 1
  %10013 = load i32, ptr %10012, align 8, !tbaa !53
  %10014 = sub i32 %10011, %10013
  %10015 = icmp ugt i32 %10014, 0
  br i1 %10015, label %10069, label %10016

10016:                                            ; preds = %10007
  br label %10017

10017:                                            ; preds = %10016
  br label %10018

10018:                                            ; preds = %10017
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #11
  %10019 = call ptr @__errno_location() #12
  %10020 = load i32, ptr %10019, align 4, !tbaa !5
  store i32 %10020, ptr %250, align 4, !tbaa !5
  %10021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10022 = call i32 @s2n_print_stacktrace(ptr noundef %10021)
  %10023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10024 = trunc i8 %10023 to i1
  br i1 %10024, label %10025, label %10047

10025:                                            ; preds = %10018
  %10026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10027 = call i32 @fileno(ptr noundef %10026) #11
  %10028 = call i32 @isatty(i32 noundef %10027) #11
  %10029 = icmp ne i32 %10028, 0
  br i1 %10029, label %10030, label %10047

10030:                                            ; preds = %10025
  %10031 = load i32, ptr %250, align 4, !tbaa !5
  %10032 = call ptr @__errno_location() #12
  store i32 %10031, ptr %10032, align 4, !tbaa !5
  %10033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10034 = load i32, ptr @test_count, align 4, !tbaa !5
  %10035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10036 = load i32, ptr %10035, align 4, !tbaa !5
  %10037 = call ptr @s2n_strerror(i32 noundef %10036, ptr noundef @.str.25)
  %10038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10039 = load i32, ptr %10038, align 4, !tbaa !5
  %10040 = call ptr @s2n_strerror_debug(i32 noundef %10039, ptr noundef @.str.25)
  %10041 = call ptr @__errno_location() #12
  %10042 = load i32, ptr %10041, align 4, !tbaa !5
  %10043 = call ptr @strerror(i32 noundef %10042) #11
  %10044 = call ptr @__errno_location() #12
  %10045 = load i32, ptr %10044, align 4, !tbaa !5
  %10046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10033, ptr noundef @.str.23, i32 noundef %10034, ptr noundef @.str.116, ptr noundef @.str.22, i32 noundef 574, ptr noundef %10037, ptr noundef %10040, ptr noundef %10043, i32 noundef %10045) #11
  br label %10064

10047:                                            ; preds = %10025, %10018
  %10048 = load i32, ptr %250, align 4, !tbaa !5
  %10049 = call ptr @__errno_location() #12
  store i32 %10048, ptr %10049, align 4, !tbaa !5
  %10050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10051 = load i32, ptr @test_count, align 4, !tbaa !5
  %10052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10053 = load i32, ptr %10052, align 4, !tbaa !5
  %10054 = call ptr @s2n_strerror(i32 noundef %10053, ptr noundef @.str.25)
  %10055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10056 = load i32, ptr %10055, align 4, !tbaa !5
  %10057 = call ptr @s2n_strerror_debug(i32 noundef %10056, ptr noundef @.str.25)
  %10058 = call ptr @__errno_location() #12
  %10059 = load i32, ptr %10058, align 4, !tbaa !5
  %10060 = call ptr @strerror(i32 noundef %10059) #11
  %10061 = call ptr @__errno_location() #12
  %10062 = load i32, ptr %10061, align 4, !tbaa !5
  %10063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10050, ptr noundef @.str.26, i32 noundef %10051, ptr noundef @.str.116, ptr noundef @.str.22, i32 noundef 574, ptr noundef %10054, ptr noundef %10057, ptr noundef %10060, i32 noundef %10062) #11
  br label %10064

10064:                                            ; preds = %10047, %10030
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #11
  br label %10065

10065:                                            ; preds = %10064
  br label %10066

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

10067:                                            ; No predecessors!
  br label %10068

10068:                                            ; preds = %10067
  br label %10069

10069:                                            ; preds = %10068, %10007
  br label %10070

10070:                                            ; preds = %10069
  br label %10071

10071:                                            ; preds = %10070
  br label %10072

10072:                                            ; preds = %10071
  %10073 = load i32, ptr @test_count, align 4, !tbaa !5
  %10074 = add nsw i32 %10073, 1
  store i32 %10074, ptr @test_count, align 4, !tbaa !5
  %10075 = load ptr, ptr %238, align 8, !tbaa !9
  %10076 = call i32 @s2n_connection_free(ptr noundef %10075)
  %10077 = icmp eq i32 %10076, -1
  br i1 %10077, label %10078, label %10131

10078:                                            ; preds = %10072
  br label %10079

10079:                                            ; preds = %10078
  br label %10080

10080:                                            ; preds = %10079
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %10081 = call ptr @__errno_location() #12
  %10082 = load i32, ptr %10081, align 4, !tbaa !5
  store i32 %10082, ptr %251, align 4, !tbaa !5
  %10083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10084 = call i32 @s2n_print_stacktrace(ptr noundef %10083)
  %10085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10086 = trunc i8 %10085 to i1
  br i1 %10086, label %10087, label %10109

10087:                                            ; preds = %10080
  %10088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10089 = call i32 @fileno(ptr noundef %10088) #11
  %10090 = call i32 @isatty(i32 noundef %10089) #11
  %10091 = icmp ne i32 %10090, 0
  br i1 %10091, label %10092, label %10109

10092:                                            ; preds = %10087
  %10093 = load i32, ptr %251, align 4, !tbaa !5
  %10094 = call ptr @__errno_location() #12
  store i32 %10093, ptr %10094, align 4, !tbaa !5
  %10095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10096 = load i32, ptr @test_count, align 4, !tbaa !5
  %10097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10098 = load i32, ptr %10097, align 4, !tbaa !5
  %10099 = call ptr @s2n_strerror(i32 noundef %10098, ptr noundef @.str.25)
  %10100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10101 = load i32, ptr %10100, align 4, !tbaa !5
  %10102 = call ptr @s2n_strerror_debug(i32 noundef %10101, ptr noundef @.str.25)
  %10103 = call ptr @__errno_location() #12
  %10104 = load i32, ptr %10103, align 4, !tbaa !5
  %10105 = call ptr @strerror(i32 noundef %10104) #11
  %10106 = call ptr @__errno_location() #12
  %10107 = load i32, ptr %10106, align 4, !tbaa !5
  %10108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10095, ptr noundef @.str.23, i32 noundef %10096, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 576, ptr noundef %10099, ptr noundef %10102, ptr noundef %10105, i32 noundef %10107) #11
  br label %10126

10109:                                            ; preds = %10087, %10080
  %10110 = load i32, ptr %251, align 4, !tbaa !5
  %10111 = call ptr @__errno_location() #12
  store i32 %10110, ptr %10111, align 4, !tbaa !5
  %10112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10113 = load i32, ptr @test_count, align 4, !tbaa !5
  %10114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10115 = load i32, ptr %10114, align 4, !tbaa !5
  %10116 = call ptr @s2n_strerror(i32 noundef %10115, ptr noundef @.str.25)
  %10117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10118 = load i32, ptr %10117, align 4, !tbaa !5
  %10119 = call ptr @s2n_strerror_debug(i32 noundef %10118, ptr noundef @.str.25)
  %10120 = call ptr @__errno_location() #12
  %10121 = load i32, ptr %10120, align 4, !tbaa !5
  %10122 = call ptr @strerror(i32 noundef %10121) #11
  %10123 = call ptr @__errno_location() #12
  %10124 = load i32, ptr %10123, align 4, !tbaa !5
  %10125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10112, ptr noundef @.str.26, i32 noundef %10113, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 576, ptr noundef %10116, ptr noundef %10119, ptr noundef %10122, i32 noundef %10124) #11
  br label %10126

10126:                                            ; preds = %10109, %10092
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %10127

10127:                                            ; preds = %10126
  br label %10128

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

10129:                                            ; No predecessors!
  br label %10130

10130:                                            ; preds = %10129
  br label %10131

10131:                                            ; preds = %10130, %10072
  br label %10132

10132:                                            ; preds = %10131
  br label %10133

10133:                                            ; preds = %10132
  br label %10134

10134:                                            ; preds = %10133
  %10135 = load i32, ptr @test_count, align 4, !tbaa !5
  %10136 = add nsw i32 %10135, 1
  store i32 %10136, ptr @test_count, align 4, !tbaa !5
  %10137 = load ptr, ptr %237, align 8, !tbaa !9
  %10138 = call i32 @s2n_config_free(ptr noundef %10137)
  %10139 = icmp eq i32 %10138, -1
  br i1 %10139, label %10140, label %10193

10140:                                            ; preds = %10134
  br label %10141

10141:                                            ; preds = %10140
  br label %10142

10142:                                            ; preds = %10141
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %10143 = call ptr @__errno_location() #12
  %10144 = load i32, ptr %10143, align 4, !tbaa !5
  store i32 %10144, ptr %252, align 4, !tbaa !5
  %10145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10146 = call i32 @s2n_print_stacktrace(ptr noundef %10145)
  %10147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10148 = trunc i8 %10147 to i1
  br i1 %10148, label %10149, label %10171

10149:                                            ; preds = %10142
  %10150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10151 = call i32 @fileno(ptr noundef %10150) #11
  %10152 = call i32 @isatty(i32 noundef %10151) #11
  %10153 = icmp ne i32 %10152, 0
  br i1 %10153, label %10154, label %10171

10154:                                            ; preds = %10149
  %10155 = load i32, ptr %252, align 4, !tbaa !5
  %10156 = call ptr @__errno_location() #12
  store i32 %10155, ptr %10156, align 4, !tbaa !5
  %10157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10158 = load i32, ptr @test_count, align 4, !tbaa !5
  %10159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10160 = load i32, ptr %10159, align 4, !tbaa !5
  %10161 = call ptr @s2n_strerror(i32 noundef %10160, ptr noundef @.str.25)
  %10162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10163 = load i32, ptr %10162, align 4, !tbaa !5
  %10164 = call ptr @s2n_strerror_debug(i32 noundef %10163, ptr noundef @.str.25)
  %10165 = call ptr @__errno_location() #12
  %10166 = load i32, ptr %10165, align 4, !tbaa !5
  %10167 = call ptr @strerror(i32 noundef %10166) #11
  %10168 = call ptr @__errno_location() #12
  %10169 = load i32, ptr %10168, align 4, !tbaa !5
  %10170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10157, ptr noundef @.str.23, i32 noundef %10158, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 577, ptr noundef %10161, ptr noundef %10164, ptr noundef %10167, i32 noundef %10169) #11
  br label %10188

10171:                                            ; preds = %10149, %10142
  %10172 = load i32, ptr %252, align 4, !tbaa !5
  %10173 = call ptr @__errno_location() #12
  store i32 %10172, ptr %10173, align 4, !tbaa !5
  %10174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10175 = load i32, ptr @test_count, align 4, !tbaa !5
  %10176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10177 = load i32, ptr %10176, align 4, !tbaa !5
  %10178 = call ptr @s2n_strerror(i32 noundef %10177, ptr noundef @.str.25)
  %10179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10180 = load i32, ptr %10179, align 4, !tbaa !5
  %10181 = call ptr @s2n_strerror_debug(i32 noundef %10180, ptr noundef @.str.25)
  %10182 = call ptr @__errno_location() #12
  %10183 = load i32, ptr %10182, align 4, !tbaa !5
  %10184 = call ptr @strerror(i32 noundef %10183) #11
  %10185 = call ptr @__errno_location() #12
  %10186 = load i32, ptr %10185, align 4, !tbaa !5
  %10187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10174, ptr noundef @.str.26, i32 noundef %10175, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 577, ptr noundef %10178, ptr noundef %10181, ptr noundef %10184, i32 noundef %10186) #11
  br label %10188

10188:                                            ; preds = %10171, %10154
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %10189

10189:                                            ; preds = %10188
  br label %10190

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

10191:                                            ; No predecessors!
  br label %10192

10192:                                            ; preds = %10191
  br label %10193

10193:                                            ; preds = %10192, %10134
  br label %10194

10194:                                            ; preds = %10193
  br label %10195

10195:                                            ; preds = %10194
  call void @llvm.lifetime.end.p0(i64 24, ptr %244) #11
  %10196 = call i32 @s2n_stuffer_free(ptr noundef %242)
  call void @llvm.lifetime.end.p0(i64 40, ptr %242) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %238) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %237) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %253) #11
  %10197 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10197, ptr %253, align 8, !tbaa !9
  br label %10198

10198:                                            ; preds = %10195
  %10199 = load i32, ptr @test_count, align 4, !tbaa !5
  %10200 = add nsw i32 %10199, 1
  store i32 %10200, ptr @test_count, align 4, !tbaa !5
  %10201 = load ptr, ptr %253, align 8, !tbaa !9
  %10202 = icmp eq ptr %10201, null
  br i1 %10202, label %10203, label %10256

10203:                                            ; preds = %10198
  br label %10204

10204:                                            ; preds = %10203
  br label %10205

10205:                                            ; preds = %10204
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %10206 = call ptr @__errno_location() #12
  %10207 = load i32, ptr %10206, align 4, !tbaa !5
  store i32 %10207, ptr %254, align 4, !tbaa !5
  %10208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10209 = call i32 @s2n_print_stacktrace(ptr noundef %10208)
  %10210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10211 = trunc i8 %10210 to i1
  br i1 %10211, label %10212, label %10234

10212:                                            ; preds = %10205
  %10213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10214 = call i32 @fileno(ptr noundef %10213) #11
  %10215 = call i32 @isatty(i32 noundef %10214) #11
  %10216 = icmp ne i32 %10215, 0
  br i1 %10216, label %10217, label %10234

10217:                                            ; preds = %10212
  %10218 = load i32, ptr %254, align 4, !tbaa !5
  %10219 = call ptr @__errno_location() #12
  store i32 %10218, ptr %10219, align 4, !tbaa !5
  %10220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10221 = load i32, ptr @test_count, align 4, !tbaa !5
  %10222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10223 = load i32, ptr %10222, align 4, !tbaa !5
  %10224 = call ptr @s2n_strerror(i32 noundef %10223, ptr noundef @.str.25)
  %10225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10226 = load i32, ptr %10225, align 4, !tbaa !5
  %10227 = call ptr @s2n_strerror_debug(i32 noundef %10226, ptr noundef @.str.25)
  %10228 = call ptr @__errno_location() #12
  %10229 = load i32, ptr %10228, align 4, !tbaa !5
  %10230 = call ptr @strerror(i32 noundef %10229) #11
  %10231 = call ptr @__errno_location() #12
  %10232 = load i32, ptr %10231, align 4, !tbaa !5
  %10233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10220, ptr noundef @.str.23, i32 noundef %10221, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 583, ptr noundef %10224, ptr noundef %10227, ptr noundef %10230, i32 noundef %10232) #11
  br label %10251

10234:                                            ; preds = %10212, %10205
  %10235 = load i32, ptr %254, align 4, !tbaa !5
  %10236 = call ptr @__errno_location() #12
  store i32 %10235, ptr %10236, align 4, !tbaa !5
  %10237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10238 = load i32, ptr @test_count, align 4, !tbaa !5
  %10239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10240 = load i32, ptr %10239, align 4, !tbaa !5
  %10241 = call ptr @s2n_strerror(i32 noundef %10240, ptr noundef @.str.25)
  %10242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10243 = load i32, ptr %10242, align 4, !tbaa !5
  %10244 = call ptr @s2n_strerror_debug(i32 noundef %10243, ptr noundef @.str.25)
  %10245 = call ptr @__errno_location() #12
  %10246 = load i32, ptr %10245, align 4, !tbaa !5
  %10247 = call ptr @strerror(i32 noundef %10246) #11
  %10248 = call ptr @__errno_location() #12
  %10249 = load i32, ptr %10248, align 4, !tbaa !5
  %10250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10237, ptr noundef @.str.26, i32 noundef %10238, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 583, ptr noundef %10241, ptr noundef %10244, ptr noundef %10247, i32 noundef %10249) #11
  br label %10251

10251:                                            ; preds = %10234, %10217
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %10252

10252:                                            ; preds = %10251
  br label %10253

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

10254:                                            ; No predecessors!
  br label %10255

10255:                                            ; preds = %10254
  br label %10256

10256:                                            ; preds = %10255, %10198
  br label %10257

10257:                                            ; preds = %10256
  br label %10258

10258:                                            ; preds = %10257
  %10259 = load ptr, ptr %253, align 8, !tbaa !9
  %10260 = getelementptr inbounds %struct.s2n_connection, ptr %10259, i32 0, i32 23
  store i8 33, ptr %10260, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 40, ptr %255) #11
  call void @llvm.memset.p0.i64(ptr align 8 %255, i8 0, i64 40, i1 false)
  br label %10261

10261:                                            ; preds = %10258
  %10262 = load i32, ptr @test_count, align 4, !tbaa !5
  %10263 = add nsw i32 %10262, 1
  store i32 %10263, ptr @test_count, align 4, !tbaa !5
  %10264 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %255, i32 noundef 0)
  %10265 = icmp eq i32 %10264, -1
  br i1 %10265, label %10266, label %10319

10266:                                            ; preds = %10261
  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.25)
  %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.25)
  %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.23, i32 noundef %10284, ptr noundef @.str.111, ptr noundef @.str.22, i32 noundef 588, 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.25)
  %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.25)
  %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.26, i32 noundef %10301, ptr noundef @.str.111, ptr noundef @.str.22, i32 noundef 588, 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, %10261
  br label %10320

10320:                                            ; preds = %10319
  br label %10321

10321:                                            ; preds = %10320
  call void @llvm.lifetime.start.p0(i64 24, ptr %257) #11
  call void @llvm.memset.p0.i64(ptr align 8 %257, i8 0, i64 24, i1 false)
  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 = getelementptr inbounds [18 x i8], ptr %236, i64 0, i64 0
  %10326 = call i32 @s2n_blob_init(ptr noundef %257, ptr noundef %10325, i32 noundef 18)
  %10327 = icmp eq i32 %10326, -1
  br i1 %10327, label %10328, label %10381

10328:                                            ; preds = %10322
  br label %10329

10329:                                            ; preds = %10328
  br label %10330

10330:                                            ; preds = %10329
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %10331 = call ptr @__errno_location() #12
  %10332 = load i32, ptr %10331, align 4, !tbaa !5
  store i32 %10332, ptr %258, align 4, !tbaa !5
  %10333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10334 = call i32 @s2n_print_stacktrace(ptr noundef %10333)
  %10335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10336 = trunc i8 %10335 to i1
  br i1 %10336, label %10337, label %10359

10337:                                            ; preds = %10330
  %10338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10339 = call i32 @fileno(ptr noundef %10338) #11
  %10340 = call i32 @isatty(i32 noundef %10339) #11
  %10341 = icmp ne i32 %10340, 0
  br i1 %10341, label %10342, label %10359

10342:                                            ; preds = %10337
  %10343 = load i32, ptr %258, align 4, !tbaa !5
  %10344 = call ptr @__errno_location() #12
  store i32 %10343, ptr %10344, align 4, !tbaa !5
  %10345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10346 = load i32, ptr @test_count, align 4, !tbaa !5
  %10347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10348 = load i32, ptr %10347, align 4, !tbaa !5
  %10349 = call ptr @s2n_strerror(i32 noundef %10348, ptr noundef @.str.25)
  %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_debug(i32 noundef %10351, ptr noundef @.str.25)
  %10353 = call ptr @__errno_location() #12
  %10354 = load i32, ptr %10353, align 4, !tbaa !5
  %10355 = call ptr @strerror(i32 noundef %10354) #11
  %10356 = call ptr @__errno_location() #12
  %10357 = load i32, ptr %10356, align 4, !tbaa !5
  %10358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10345, ptr noundef @.str.23, i32 noundef %10346, ptr noundef @.str.112, ptr noundef @.str.22, i32 noundef 591, ptr noundef %10349, ptr noundef %10352, ptr noundef %10355, i32 noundef %10357) #11
  br label %10376

10359:                                            ; preds = %10337, %10330
  %10360 = load i32, ptr %258, align 4, !tbaa !5
  %10361 = call ptr @__errno_location() #12
  store i32 %10360, ptr %10361, align 4, !tbaa !5
  %10362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10363 = load i32, ptr @test_count, align 4, !tbaa !5
  %10364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10365 = load i32, ptr %10364, align 4, !tbaa !5
  %10366 = call ptr @s2n_strerror(i32 noundef %10365, ptr noundef @.str.25)
  %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_debug(i32 noundef %10368, ptr noundef @.str.25)
  %10370 = call ptr @__errno_location() #12
  %10371 = load i32, ptr %10370, align 4, !tbaa !5
  %10372 = call ptr @strerror(i32 noundef %10371) #11
  %10373 = call ptr @__errno_location() #12
  %10374 = load i32, ptr %10373, align 4, !tbaa !5
  %10375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10362, ptr noundef @.str.26, i32 noundef %10363, ptr noundef @.str.112, ptr noundef @.str.22, i32 noundef 591, ptr noundef %10366, ptr noundef %10369, ptr noundef %10372, i32 noundef %10374) #11
  br label %10376

10376:                                            ; preds = %10359, %10342
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %10377

10377:                                            ; preds = %10376
  br label %10378

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

10379:                                            ; No predecessors!
  br label %10380

10380:                                            ; preds = %10379
  br label %10381

10381:                                            ; preds = %10380, %10322
  br label %10382

10382:                                            ; preds = %10381
  br label %10383

10383:                                            ; preds = %10382
  br label %10384

10384:                                            ; preds = %10383
  %10385 = load i32, ptr @test_count, align 4, !tbaa !5
  %10386 = add nsw i32 %10385, 1
  store i32 %10386, ptr @test_count, align 4, !tbaa !5
  %10387 = call i32 @s2n_stuffer_write(ptr noundef %255, ptr noundef %257)
  %10388 = icmp eq i32 %10387, -1
  br i1 %10388, label %10389, label %10442

10389:                                            ; preds = %10384
  br label %10390

10390:                                            ; preds = %10389
  br label %10391

10391:                                            ; preds = %10390
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %10392 = call ptr @__errno_location() #12
  %10393 = load i32, ptr %10392, align 4, !tbaa !5
  store i32 %10393, ptr %259, align 4, !tbaa !5
  %10394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10395 = call i32 @s2n_print_stacktrace(ptr noundef %10394)
  %10396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10397 = trunc i8 %10396 to i1
  br i1 %10397, label %10398, label %10420

10398:                                            ; preds = %10391
  %10399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10400 = call i32 @fileno(ptr noundef %10399) #11
  %10401 = call i32 @isatty(i32 noundef %10400) #11
  %10402 = icmp ne i32 %10401, 0
  br i1 %10402, label %10403, label %10420

10403:                                            ; preds = %10398
  %10404 = load i32, ptr %259, align 4, !tbaa !5
  %10405 = call ptr @__errno_location() #12
  store i32 %10404, ptr %10405, align 4, !tbaa !5
  %10406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10407 = load i32, ptr @test_count, align 4, !tbaa !5
  %10408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10409 = load i32, ptr %10408, align 4, !tbaa !5
  %10410 = call ptr @s2n_strerror(i32 noundef %10409, ptr noundef @.str.25)
  %10411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10412 = load i32, ptr %10411, align 4, !tbaa !5
  %10413 = call ptr @s2n_strerror_debug(i32 noundef %10412, ptr noundef @.str.25)
  %10414 = call ptr @__errno_location() #12
  %10415 = load i32, ptr %10414, align 4, !tbaa !5
  %10416 = call ptr @strerror(i32 noundef %10415) #11
  %10417 = call ptr @__errno_location() #12
  %10418 = load i32, ptr %10417, align 4, !tbaa !5
  %10419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10406, ptr noundef @.str.23, i32 noundef %10407, ptr noundef @.str.113, ptr noundef @.str.22, i32 noundef 592, ptr noundef %10410, ptr noundef %10413, ptr noundef %10416, i32 noundef %10418) #11
  br label %10437

10420:                                            ; preds = %10398, %10391
  %10421 = load i32, ptr %259, align 4, !tbaa !5
  %10422 = call ptr @__errno_location() #12
  store i32 %10421, ptr %10422, align 4, !tbaa !5
  %10423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10424 = load i32, ptr @test_count, align 4, !tbaa !5
  %10425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10426 = load i32, ptr %10425, align 4, !tbaa !5
  %10427 = call ptr @s2n_strerror(i32 noundef %10426, ptr noundef @.str.25)
  %10428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10429 = load i32, ptr %10428, align 4, !tbaa !5
  %10430 = call ptr @s2n_strerror_debug(i32 noundef %10429, ptr noundef @.str.25)
  %10431 = call ptr @__errno_location() #12
  %10432 = load i32, ptr %10431, align 4, !tbaa !5
  %10433 = call ptr @strerror(i32 noundef %10432) #11
  %10434 = call ptr @__errno_location() #12
  %10435 = load i32, ptr %10434, align 4, !tbaa !5
  %10436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10423, ptr noundef @.str.26, i32 noundef %10424, ptr noundef @.str.113, ptr noundef @.str.22, i32 noundef 592, ptr noundef %10427, ptr noundef %10430, ptr noundef %10433, i32 noundef %10435) #11
  br label %10437

10437:                                            ; preds = %10420, %10403
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %10438

10438:                                            ; preds = %10437
  br label %10439

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

10440:                                            ; No predecessors!
  br label %10441

10441:                                            ; preds = %10440
  br label %10442

10442:                                            ; preds = %10441, %10384
  br label %10443

10443:                                            ; preds = %10442
  br label %10444

10444:                                            ; preds = %10443
  br label %10445

10445:                                            ; preds = %10444
  br label %10446

10446:                                            ; preds = %10445
  br label %10447

10447:                                            ; preds = %10446
  %10448 = load i32, ptr @test_count, align 4, !tbaa !5
  %10449 = add nsw i32 %10448, 1
  store i32 %10449, ptr @test_count, align 4, !tbaa !5
  %10450 = load ptr, ptr %253, align 8, !tbaa !9
  %10451 = call i32 @s2n_tls13_server_nst_recv(ptr noundef %10450, ptr noundef %255)
  %10452 = getelementptr inbounds %struct.s2n_result, ptr %260, i32 0, i32 0
  store i32 %10451, ptr %10452, align 4
  %10453 = getelementptr inbounds %struct.s2n_result, ptr %260, i32 0, i32 0
  %10454 = load i32, ptr %10453, align 4
  %10455 = call zeroext i1 @s2n_result_is_error(i32 %10454)
  br i1 %10455, label %10509, label %10456

10456:                                            ; preds = %10447
  br label %10457

10457:                                            ; preds = %10456
  br label %10458

10458:                                            ; preds = %10457
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  %10459 = call ptr @__errno_location() #12
  %10460 = load i32, ptr %10459, align 4, !tbaa !5
  store i32 %10460, ptr %261, align 4, !tbaa !5
  %10461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10462 = call i32 @s2n_print_stacktrace(ptr noundef %10461)
  %10463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10464 = trunc i8 %10463 to i1
  br i1 %10464, label %10465, label %10487

10465:                                            ; preds = %10458
  %10466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10467 = call i32 @fileno(ptr noundef %10466) #11
  %10468 = call i32 @isatty(i32 noundef %10467) #11
  %10469 = icmp ne i32 %10468, 0
  br i1 %10469, label %10470, label %10487

10470:                                            ; preds = %10465
  %10471 = load i32, ptr %261, align 4, !tbaa !5
  %10472 = call ptr @__errno_location() #12
  store i32 %10471, ptr %10472, align 4, !tbaa !5
  %10473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10474 = load i32, ptr @test_count, align 4, !tbaa !5
  %10475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10476 = load i32, ptr %10475, align 4, !tbaa !5
  %10477 = call ptr @s2n_strerror(i32 noundef %10476, ptr noundef @.str.25)
  %10478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10479 = load i32, ptr %10478, align 4, !tbaa !5
  %10480 = call ptr @s2n_strerror_debug(i32 noundef %10479, ptr noundef @.str.25)
  %10481 = call ptr @__errno_location() #12
  %10482 = load i32, ptr %10481, align 4, !tbaa !5
  %10483 = call ptr @strerror(i32 noundef %10482) #11
  %10484 = call ptr @__errno_location() #12
  %10485 = load i32, ptr %10484, align 4, !tbaa !5
  %10486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10473, ptr noundef @.str.23, i32 noundef %10474, ptr noundef @.str.117, ptr noundef @.str.22, i32 noundef 594, ptr noundef %10477, ptr noundef %10480, ptr noundef %10483, i32 noundef %10485) #11
  br label %10504

10487:                                            ; preds = %10465, %10458
  %10488 = load i32, ptr %261, align 4, !tbaa !5
  %10489 = call ptr @__errno_location() #12
  store i32 %10488, ptr %10489, align 4, !tbaa !5
  %10490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10491 = load i32, ptr @test_count, align 4, !tbaa !5
  %10492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10493 = load i32, ptr %10492, align 4, !tbaa !5
  %10494 = call ptr @s2n_strerror(i32 noundef %10493, ptr noundef @.str.25)
  %10495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10496 = load i32, ptr %10495, align 4, !tbaa !5
  %10497 = call ptr @s2n_strerror_debug(i32 noundef %10496, ptr noundef @.str.25)
  %10498 = call ptr @__errno_location() #12
  %10499 = load i32, ptr %10498, align 4, !tbaa !5
  %10500 = call ptr @strerror(i32 noundef %10499) #11
  %10501 = call ptr @__errno_location() #12
  %10502 = load i32, ptr %10501, align 4, !tbaa !5
  %10503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10490, ptr noundef @.str.26, i32 noundef %10491, ptr noundef @.str.117, ptr noundef @.str.22, i32 noundef 594, ptr noundef %10494, ptr noundef %10497, ptr noundef %10500, i32 noundef %10502) #11
  br label %10504

10504:                                            ; preds = %10487, %10470
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %10505

10505:                                            ; preds = %10504
  br label %10506

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

10507:                                            ; No predecessors!
  br label %10508

10508:                                            ; preds = %10507
  br label %10509

10509:                                            ; preds = %10508, %10447
  br label %10510

10510:                                            ; preds = %10509
  br label %10511

10511:                                            ; preds = %10510
  br label %10512

10512:                                            ; preds = %10511
  %10513 = load i32, ptr @test_count, align 4, !tbaa !5
  %10514 = add nsw i32 %10513, 1
  store i32 %10514, ptr @test_count, align 4, !tbaa !5
  %10515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10516 = load i32, ptr %10515, align 4, !tbaa !5
  %10517 = icmp eq i32 %10516, 335544322
  br i1 %10517, label %10571, label %10518

10518:                                            ; preds = %10512
  br label %10519

10519:                                            ; preds = %10518
  br label %10520

10520:                                            ; preds = %10519
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %10521 = call ptr @__errno_location() #12
  %10522 = load i32, ptr %10521, align 4, !tbaa !5
  store i32 %10522, ptr %262, align 4, !tbaa !5
  %10523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10524 = call i32 @s2n_print_stacktrace(ptr noundef %10523)
  %10525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10526 = trunc i8 %10525 to i1
  br i1 %10526, label %10527, label %10549

10527:                                            ; preds = %10520
  %10528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10529 = call i32 @fileno(ptr noundef %10528) #11
  %10530 = call i32 @isatty(i32 noundef %10529) #11
  %10531 = icmp ne i32 %10530, 0
  br i1 %10531, label %10532, label %10549

10532:                                            ; preds = %10527
  %10533 = load i32, ptr %262, align 4, !tbaa !5
  %10534 = call ptr @__errno_location() #12
  store i32 %10533, ptr %10534, align 4, !tbaa !5
  %10535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10536 = load i32, ptr @test_count, align 4, !tbaa !5
  %10537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10538 = load i32, ptr %10537, align 4, !tbaa !5
  %10539 = call ptr @s2n_strerror(i32 noundef %10538, ptr noundef @.str.25)
  %10540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10541 = load i32, ptr %10540, align 4, !tbaa !5
  %10542 = call ptr @s2n_strerror_debug(i32 noundef %10541, ptr noundef @.str.25)
  %10543 = call ptr @__errno_location() #12
  %10544 = load i32, ptr %10543, align 4, !tbaa !5
  %10545 = call ptr @strerror(i32 noundef %10544) #11
  %10546 = call ptr @__errno_location() #12
  %10547 = load i32, ptr %10546, align 4, !tbaa !5
  %10548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10535, ptr noundef @.str.23, i32 noundef %10536, ptr noundef @.str.118, ptr noundef @.str.22, i32 noundef 594, ptr noundef %10539, ptr noundef %10542, ptr noundef %10545, i32 noundef %10547) #11
  br label %10566

10549:                                            ; preds = %10527, %10520
  %10550 = load i32, ptr %262, align 4, !tbaa !5
  %10551 = call ptr @__errno_location() #12
  store i32 %10550, ptr %10551, align 4, !tbaa !5
  %10552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10553 = load i32, ptr @test_count, align 4, !tbaa !5
  %10554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10555 = load i32, ptr %10554, align 4, !tbaa !5
  %10556 = call ptr @s2n_strerror(i32 noundef %10555, ptr noundef @.str.25)
  %10557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10558 = load i32, ptr %10557, align 4, !tbaa !5
  %10559 = call ptr @s2n_strerror_debug(i32 noundef %10558, ptr noundef @.str.25)
  %10560 = call ptr @__errno_location() #12
  %10561 = load i32, ptr %10560, align 4, !tbaa !5
  %10562 = call ptr @strerror(i32 noundef %10561) #11
  %10563 = call ptr @__errno_location() #12
  %10564 = load i32, ptr %10563, align 4, !tbaa !5
  %10565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10552, ptr noundef @.str.26, i32 noundef %10553, ptr noundef @.str.118, ptr noundef @.str.22, i32 noundef 594, ptr noundef %10556, ptr noundef %10559, ptr noundef %10562, i32 noundef %10564) #11
  br label %10566

10566:                                            ; preds = %10549, %10532
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %10567

10567:                                            ; preds = %10566
  br label %10568

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

10569:                                            ; No predecessors!
  br label %10570

10570:                                            ; preds = %10569
  br label %10571

10571:                                            ; preds = %10570, %10512
  br label %10572

10572:                                            ; preds = %10571
  br label %10573

10573:                                            ; preds = %10572
  br label %10574

10574:                                            ; preds = %10573
  %10575 = load i32, ptr @test_count, align 4, !tbaa !5
  %10576 = add nsw i32 %10575, 1
  store i32 %10576, ptr @test_count, align 4, !tbaa !5
  %10577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10578 = load i32, ptr %10577, align 4, !tbaa !5
  %10579 = call ptr @s2n_strerror_debug(i32 noundef %10578, ptr noundef @.str.25)
  %10580 = icmp eq ptr %10579, null
  br i1 %10580, label %10581, label %10634

10581:                                            ; preds = %10574
  br label %10582

10582:                                            ; preds = %10581
  br label %10583

10583:                                            ; preds = %10582
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #11
  %10584 = call ptr @__errno_location() #12
  %10585 = load i32, ptr %10584, align 4, !tbaa !5
  store i32 %10585, ptr %263, align 4, !tbaa !5
  %10586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10587 = call i32 @s2n_print_stacktrace(ptr noundef %10586)
  %10588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10589 = trunc i8 %10588 to i1
  br i1 %10589, label %10590, label %10612

10590:                                            ; preds = %10583
  %10591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10592 = call i32 @fileno(ptr noundef %10591) #11
  %10593 = call i32 @isatty(i32 noundef %10592) #11
  %10594 = icmp ne i32 %10593, 0
  br i1 %10594, label %10595, label %10612

10595:                                            ; preds = %10590
  %10596 = load i32, ptr %263, align 4, !tbaa !5
  %10597 = call ptr @__errno_location() #12
  store i32 %10596, ptr %10597, align 4, !tbaa !5
  %10598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10599 = load i32, ptr @test_count, align 4, !tbaa !5
  %10600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10601 = load i32, ptr %10600, align 4, !tbaa !5
  %10602 = call ptr @s2n_strerror(i32 noundef %10601, ptr noundef @.str.25)
  %10603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10604 = load i32, ptr %10603, align 4, !tbaa !5
  %10605 = call ptr @s2n_strerror_debug(i32 noundef %10604, ptr noundef @.str.25)
  %10606 = call ptr @__errno_location() #12
  %10607 = load i32, ptr %10606, align 4, !tbaa !5
  %10608 = call ptr @strerror(i32 noundef %10607) #11
  %10609 = call ptr @__errno_location() #12
  %10610 = load i32, ptr %10609, align 4, !tbaa !5
  %10611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10598, ptr noundef @.str.23, i32 noundef %10599, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 594, ptr noundef %10602, ptr noundef %10605, ptr noundef %10608, i32 noundef %10610) #11
  br label %10629

10612:                                            ; preds = %10590, %10583
  %10613 = load i32, ptr %263, align 4, !tbaa !5
  %10614 = call ptr @__errno_location() #12
  store i32 %10613, ptr %10614, align 4, !tbaa !5
  %10615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10616 = load i32, ptr @test_count, align 4, !tbaa !5
  %10617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10618 = load i32, ptr %10617, align 4, !tbaa !5
  %10619 = call ptr @s2n_strerror(i32 noundef %10618, ptr noundef @.str.25)
  %10620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10621 = load i32, ptr %10620, align 4, !tbaa !5
  %10622 = call ptr @s2n_strerror_debug(i32 noundef %10621, ptr noundef @.str.25)
  %10623 = call ptr @__errno_location() #12
  %10624 = load i32, ptr %10623, align 4, !tbaa !5
  %10625 = call ptr @strerror(i32 noundef %10624) #11
  %10626 = call ptr @__errno_location() #12
  %10627 = load i32, ptr %10626, align 4, !tbaa !5
  %10628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10615, ptr noundef @.str.26, i32 noundef %10616, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 594, ptr noundef %10619, ptr noundef %10622, ptr noundef %10625, i32 noundef %10627) #11
  br label %10629

10629:                                            ; preds = %10612, %10595
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #11
  br label %10630

10630:                                            ; preds = %10629
  br label %10631

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

10632:                                            ; No predecessors!
  br label %10633

10633:                                            ; preds = %10632
  br label %10634

10634:                                            ; preds = %10633, %10574
  br label %10635

10635:                                            ; preds = %10634
  br label %10636

10636:                                            ; preds = %10635
  br label %10637

10637:                                            ; preds = %10636
  br label %10638

10638:                                            ; preds = %10637
  br label %10639

10639:                                            ; preds = %10638
  %10640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10640, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10641 = call ptr @__errno_location() #12
  store i32 0, ptr %10641, align 4, !tbaa !5
  br label %10642

10642:                                            ; preds = %10639
  br label %10643

10643:                                            ; preds = %10642
  br label %10644

10644:                                            ; preds = %10643
  br label %10645

10645:                                            ; preds = %10644
  br label %10646

10646:                                            ; preds = %10645
  %10647 = load i32, ptr @test_count, align 4, !tbaa !5
  %10648 = add nsw i32 %10647, 1
  store i32 %10648, ptr @test_count, align 4, !tbaa !5
  %10649 = load ptr, ptr %253, align 8, !tbaa !9
  %10650 = getelementptr inbounds %struct.s2n_connection, ptr %10649, i32 0, i32 77
  %10651 = getelementptr inbounds %struct.s2n_blob, ptr %10650, i32 0, i32 1
  %10652 = load i32, ptr %10651, align 8, !tbaa !73
  %10653 = icmp eq i32 %10652, 0
  br i1 %10653, label %10707, label %10654

10654:                                            ; preds = %10646
  br label %10655

10655:                                            ; preds = %10654
  br label %10656

10656:                                            ; preds = %10655
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #11
  %10657 = call ptr @__errno_location() #12
  %10658 = load i32, ptr %10657, align 4, !tbaa !5
  store i32 %10658, ptr %264, align 4, !tbaa !5
  %10659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10660 = call i32 @s2n_print_stacktrace(ptr noundef %10659)
  %10661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10662 = trunc i8 %10661 to i1
  br i1 %10662, label %10663, label %10685

10663:                                            ; preds = %10656
  %10664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10665 = call i32 @fileno(ptr noundef %10664) #11
  %10666 = call i32 @isatty(i32 noundef %10665) #11
  %10667 = icmp ne i32 %10666, 0
  br i1 %10667, label %10668, label %10685

10668:                                            ; preds = %10663
  %10669 = load i32, ptr %264, align 4, !tbaa !5
  %10670 = call ptr @__errno_location() #12
  store i32 %10669, ptr %10670, align 4, !tbaa !5
  %10671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10672 = load i32, ptr @test_count, align 4, !tbaa !5
  %10673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10674 = load i32, ptr %10673, align 4, !tbaa !5
  %10675 = call ptr @s2n_strerror(i32 noundef %10674, ptr noundef @.str.25)
  %10676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10677 = load i32, ptr %10676, align 4, !tbaa !5
  %10678 = call ptr @s2n_strerror_debug(i32 noundef %10677, ptr noundef @.str.25)
  %10679 = call ptr @__errno_location() #12
  %10680 = load i32, ptr %10679, align 4, !tbaa !5
  %10681 = call ptr @strerror(i32 noundef %10680) #11
  %10682 = call ptr @__errno_location() #12
  %10683 = load i32, ptr %10682, align 4, !tbaa !5
  %10684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10671, ptr noundef @.str.23, i32 noundef %10672, ptr noundef @.str.115, ptr noundef @.str.22, i32 noundef 596, ptr noundef %10675, ptr noundef %10678, ptr noundef %10681, i32 noundef %10683) #11
  br label %10702

10685:                                            ; preds = %10663, %10656
  %10686 = load i32, ptr %264, align 4, !tbaa !5
  %10687 = call ptr @__errno_location() #12
  store i32 %10686, ptr %10687, align 4, !tbaa !5
  %10688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10689 = load i32, ptr @test_count, align 4, !tbaa !5
  %10690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10691 = load i32, ptr %10690, align 4, !tbaa !5
  %10692 = call ptr @s2n_strerror(i32 noundef %10691, ptr noundef @.str.25)
  %10693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10694 = load i32, ptr %10693, align 4, !tbaa !5
  %10695 = call ptr @s2n_strerror_debug(i32 noundef %10694, ptr noundef @.str.25)
  %10696 = call ptr @__errno_location() #12
  %10697 = load i32, ptr %10696, align 4, !tbaa !5
  %10698 = call ptr @strerror(i32 noundef %10697) #11
  %10699 = call ptr @__errno_location() #12
  %10700 = load i32, ptr %10699, align 4, !tbaa !5
  %10701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10688, ptr noundef @.str.26, i32 noundef %10689, ptr noundef @.str.115, ptr noundef @.str.22, i32 noundef 596, ptr noundef %10692, ptr noundef %10695, ptr noundef %10698, i32 noundef %10700) #11
  br label %10702

10702:                                            ; preds = %10685, %10668
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #11
  br label %10703

10703:                                            ; preds = %10702
  br label %10704

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

10705:                                            ; No predecessors!
  br label %10706

10706:                                            ; preds = %10705
  br label %10707

10707:                                            ; preds = %10706, %10646
  br label %10708

10708:                                            ; preds = %10707
  br label %10709

10709:                                            ; preds = %10708
  br label %10710

10710:                                            ; preds = %10709
  %10711 = load i32, ptr @test_count, align 4, !tbaa !5
  %10712 = add nsw i32 %10711, 1
  store i32 %10712, ptr @test_count, align 4, !tbaa !5
  %10713 = getelementptr inbounds %struct.s2n_stuffer, ptr %255, i32 0, i32 2
  %10714 = load i32, ptr %10713, align 4, !tbaa !52
  %10715 = getelementptr inbounds %struct.s2n_stuffer, ptr %255, i32 0, i32 1
  %10716 = load i32, ptr %10715, align 8, !tbaa !53
  %10717 = sub i32 %10714, %10716
  %10718 = icmp ugt i32 %10717, 0
  br i1 %10718, label %10772, label %10719

10719:                                            ; preds = %10710
  br label %10720

10720:                                            ; preds = %10719
  br label %10721

10721:                                            ; preds = %10720
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %10722 = call ptr @__errno_location() #12
  %10723 = load i32, ptr %10722, align 4, !tbaa !5
  store i32 %10723, ptr %265, align 4, !tbaa !5
  %10724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10725 = call i32 @s2n_print_stacktrace(ptr noundef %10724)
  %10726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10727 = trunc i8 %10726 to i1
  br i1 %10727, label %10728, label %10750

10728:                                            ; preds = %10721
  %10729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10730 = call i32 @fileno(ptr noundef %10729) #11
  %10731 = call i32 @isatty(i32 noundef %10730) #11
  %10732 = icmp ne i32 %10731, 0
  br i1 %10732, label %10733, label %10750

10733:                                            ; preds = %10728
  %10734 = load i32, ptr %265, align 4, !tbaa !5
  %10735 = call ptr @__errno_location() #12
  store i32 %10734, ptr %10735, align 4, !tbaa !5
  %10736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10737 = load i32, ptr @test_count, align 4, !tbaa !5
  %10738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10739 = load i32, ptr %10738, align 4, !tbaa !5
  %10740 = call ptr @s2n_strerror(i32 noundef %10739, ptr noundef @.str.25)
  %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_debug(i32 noundef %10742, ptr noundef @.str.25)
  %10744 = call ptr @__errno_location() #12
  %10745 = load i32, ptr %10744, align 4, !tbaa !5
  %10746 = call ptr @strerror(i32 noundef %10745) #11
  %10747 = call ptr @__errno_location() #12
  %10748 = load i32, ptr %10747, align 4, !tbaa !5
  %10749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10736, ptr noundef @.str.23, i32 noundef %10737, ptr noundef @.str.116, ptr noundef @.str.22, i32 noundef 597, ptr noundef %10740, ptr noundef %10743, ptr noundef %10746, i32 noundef %10748) #11
  br label %10767

10750:                                            ; preds = %10728, %10721
  %10751 = load i32, ptr %265, align 4, !tbaa !5
  %10752 = call ptr @__errno_location() #12
  store i32 %10751, ptr %10752, align 4, !tbaa !5
  %10753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10754 = load i32, ptr @test_count, align 4, !tbaa !5
  %10755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10756 = load i32, ptr %10755, align 4, !tbaa !5
  %10757 = call ptr @s2n_strerror(i32 noundef %10756, ptr noundef @.str.25)
  %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_debug(i32 noundef %10759, ptr noundef @.str.25)
  %10761 = call ptr @__errno_location() #12
  %10762 = load i32, ptr %10761, align 4, !tbaa !5
  %10763 = call ptr @strerror(i32 noundef %10762) #11
  %10764 = call ptr @__errno_location() #12
  %10765 = load i32, ptr %10764, align 4, !tbaa !5
  %10766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10753, ptr noundef @.str.26, i32 noundef %10754, ptr noundef @.str.116, ptr noundef @.str.22, i32 noundef 597, ptr noundef %10757, ptr noundef %10760, ptr noundef %10763, i32 noundef %10765) #11
  br label %10767

10767:                                            ; preds = %10750, %10733
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %10768

10768:                                            ; preds = %10767
  br label %10769

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

10770:                                            ; No predecessors!
  br label %10771

10771:                                            ; preds = %10770
  br label %10772

10772:                                            ; preds = %10771, %10710
  br label %10773

10773:                                            ; preds = %10772
  br label %10774

10774:                                            ; preds = %10773
  br label %10775

10775:                                            ; preds = %10774
  %10776 = load i32, ptr @test_count, align 4, !tbaa !5
  %10777 = add nsw i32 %10776, 1
  store i32 %10777, ptr @test_count, align 4, !tbaa !5
  %10778 = load ptr, ptr %253, align 8, !tbaa !9
  %10779 = call i32 @s2n_connection_free(ptr noundef %10778)
  %10780 = icmp eq i32 %10779, -1
  br i1 %10780, label %10781, label %10834

10781:                                            ; preds = %10775
  br label %10782

10782:                                            ; preds = %10781
  br label %10783

10783:                                            ; preds = %10782
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %10784 = call ptr @__errno_location() #12
  %10785 = load i32, ptr %10784, align 4, !tbaa !5
  store i32 %10785, ptr %266, align 4, !tbaa !5
  %10786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10787 = call i32 @s2n_print_stacktrace(ptr noundef %10786)
  %10788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10789 = trunc i8 %10788 to i1
  br i1 %10789, label %10790, label %10812

10790:                                            ; preds = %10783
  %10791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10792 = call i32 @fileno(ptr noundef %10791) #11
  %10793 = call i32 @isatty(i32 noundef %10792) #11
  %10794 = icmp ne i32 %10793, 0
  br i1 %10794, label %10795, label %10812

10795:                                            ; preds = %10790
  %10796 = load i32, ptr %266, align 4, !tbaa !5
  %10797 = call ptr @__errno_location() #12
  store i32 %10796, ptr %10797, align 4, !tbaa !5
  %10798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10799 = load i32, ptr @test_count, align 4, !tbaa !5
  %10800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10801 = load i32, ptr %10800, align 4, !tbaa !5
  %10802 = call ptr @s2n_strerror(i32 noundef %10801, ptr noundef @.str.25)
  %10803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10804 = load i32, ptr %10803, align 4, !tbaa !5
  %10805 = call ptr @s2n_strerror_debug(i32 noundef %10804, ptr noundef @.str.25)
  %10806 = call ptr @__errno_location() #12
  %10807 = load i32, ptr %10806, align 4, !tbaa !5
  %10808 = call ptr @strerror(i32 noundef %10807) #11
  %10809 = call ptr @__errno_location() #12
  %10810 = load i32, ptr %10809, align 4, !tbaa !5
  %10811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10798, ptr noundef @.str.23, i32 noundef %10799, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 599, ptr noundef %10802, ptr noundef %10805, ptr noundef %10808, i32 noundef %10810) #11
  br label %10829

10812:                                            ; preds = %10790, %10783
  %10813 = load i32, ptr %266, align 4, !tbaa !5
  %10814 = call ptr @__errno_location() #12
  store i32 %10813, ptr %10814, align 4, !tbaa !5
  %10815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10816 = load i32, ptr @test_count, align 4, !tbaa !5
  %10817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10818 = load i32, ptr %10817, align 4, !tbaa !5
  %10819 = call ptr @s2n_strerror(i32 noundef %10818, ptr noundef @.str.25)
  %10820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10821 = load i32, ptr %10820, align 4, !tbaa !5
  %10822 = call ptr @s2n_strerror_debug(i32 noundef %10821, ptr noundef @.str.25)
  %10823 = call ptr @__errno_location() #12
  %10824 = load i32, ptr %10823, align 4, !tbaa !5
  %10825 = call ptr @strerror(i32 noundef %10824) #11
  %10826 = call ptr @__errno_location() #12
  %10827 = load i32, ptr %10826, align 4, !tbaa !5
  %10828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10815, ptr noundef @.str.26, i32 noundef %10816, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 599, ptr noundef %10819, ptr noundef %10822, ptr noundef %10825, i32 noundef %10827) #11
  br label %10829

10829:                                            ; preds = %10812, %10795
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %10830

10830:                                            ; preds = %10829
  br label %10831

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

10832:                                            ; No predecessors!
  br label %10833

10833:                                            ; preds = %10832
  br label %10834

10834:                                            ; preds = %10833, %10775
  br label %10835

10835:                                            ; preds = %10834
  br label %10836

10836:                                            ; preds = %10835
  call void @llvm.lifetime.end.p0(i64 24, ptr %257) #11
  %10837 = call i32 @s2n_stuffer_free(ptr noundef %255)
  call void @llvm.lifetime.end.p0(i64 40, ptr %255) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %253) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %267) #11
  %10838 = call ptr @s2n_config_new()
  store ptr %10838, ptr %267, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %268) #11
  %10839 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10839, ptr %268, align 8, !tbaa !9
  br label %10840

10840:                                            ; preds = %10836
  %10841 = load i32, ptr @test_count, align 4, !tbaa !5
  %10842 = add nsw i32 %10841, 1
  store i32 %10842, ptr @test_count, align 4, !tbaa !5
  %10843 = load ptr, ptr %268, align 8, !tbaa !9
  %10844 = icmp eq ptr %10843, null
  br i1 %10844, label %10845, label %10898

10845:                                            ; preds = %10840
  br label %10846

10846:                                            ; preds = %10845
  br label %10847

10847:                                            ; preds = %10846
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %10848 = call ptr @__errno_location() #12
  %10849 = load i32, ptr %10848, align 4, !tbaa !5
  store i32 %10849, ptr %269, align 4, !tbaa !5
  %10850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10851 = call i32 @s2n_print_stacktrace(ptr noundef %10850)
  %10852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10853 = trunc i8 %10852 to i1
  br i1 %10853, label %10854, label %10876

10854:                                            ; preds = %10847
  %10855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10856 = call i32 @fileno(ptr noundef %10855) #11
  %10857 = call i32 @isatty(i32 noundef %10856) #11
  %10858 = icmp ne i32 %10857, 0
  br i1 %10858, label %10859, label %10876

10859:                                            ; preds = %10854
  %10860 = load i32, ptr %269, align 4, !tbaa !5
  %10861 = call ptr @__errno_location() #12
  store i32 %10860, ptr %10861, align 4, !tbaa !5
  %10862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10863 = load i32, ptr @test_count, align 4, !tbaa !5
  %10864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10865 = load i32, ptr %10864, align 4, !tbaa !5
  %10866 = call ptr @s2n_strerror(i32 noundef %10865, ptr noundef @.str.25)
  %10867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10868 = load i32, ptr %10867, align 4, !tbaa !5
  %10869 = call ptr @s2n_strerror_debug(i32 noundef %10868, ptr noundef @.str.25)
  %10870 = call ptr @__errno_location() #12
  %10871 = load i32, ptr %10870, align 4, !tbaa !5
  %10872 = call ptr @strerror(i32 noundef %10871) #11
  %10873 = call ptr @__errno_location() #12
  %10874 = load i32, ptr %10873, align 4, !tbaa !5
  %10875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10862, ptr noundef @.str.23, i32 noundef %10863, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 606, ptr noundef %10866, ptr noundef %10869, ptr noundef %10872, i32 noundef %10874) #11
  br label %10893

10876:                                            ; preds = %10854, %10847
  %10877 = load i32, ptr %269, align 4, !tbaa !5
  %10878 = call ptr @__errno_location() #12
  store i32 %10877, ptr %10878, align 4, !tbaa !5
  %10879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10880 = load i32, ptr @test_count, align 4, !tbaa !5
  %10881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10882 = load i32, ptr %10881, align 4, !tbaa !5
  %10883 = call ptr @s2n_strerror(i32 noundef %10882, ptr noundef @.str.25)
  %10884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10885 = load i32, ptr %10884, align 4, !tbaa !5
  %10886 = call ptr @s2n_strerror_debug(i32 noundef %10885, ptr noundef @.str.25)
  %10887 = call ptr @__errno_location() #12
  %10888 = load i32, ptr %10887, align 4, !tbaa !5
  %10889 = call ptr @strerror(i32 noundef %10888) #11
  %10890 = call ptr @__errno_location() #12
  %10891 = load i32, ptr %10890, align 4, !tbaa !5
  %10892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10879, ptr noundef @.str.26, i32 noundef %10880, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 606, ptr noundef %10883, ptr noundef %10886, ptr noundef %10889, i32 noundef %10891) #11
  br label %10893

10893:                                            ; preds = %10876, %10859
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %10894

10894:                                            ; preds = %10893
  br label %10895

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

10896:                                            ; No predecessors!
  br label %10897

10897:                                            ; preds = %10896
  br label %10898

10898:                                            ; preds = %10897, %10840
  br label %10899

10899:                                            ; preds = %10898
  br label %10900

10900:                                            ; preds = %10899
  br label %10901

10901:                                            ; preds = %10900
  %10902 = load i32, ptr @test_count, align 4, !tbaa !5
  %10903 = add nsw i32 %10902, 1
  store i32 %10903, ptr @test_count, align 4, !tbaa !5
  %10904 = load ptr, ptr %267, align 8, !tbaa !9
  %10905 = icmp eq ptr %10904, null
  br i1 %10905, label %10906, label %10959

10906:                                            ; preds = %10901
  br label %10907

10907:                                            ; preds = %10906
  br label %10908

10908:                                            ; preds = %10907
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %10909 = call ptr @__errno_location() #12
  %10910 = load i32, ptr %10909, align 4, !tbaa !5
  store i32 %10910, ptr %270, align 4, !tbaa !5
  %10911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10912 = call i32 @s2n_print_stacktrace(ptr noundef %10911)
  %10913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10914 = trunc i8 %10913 to i1
  br i1 %10914, label %10915, label %10937

10915:                                            ; preds = %10908
  %10916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10917 = call i32 @fileno(ptr noundef %10916) #11
  %10918 = call i32 @isatty(i32 noundef %10917) #11
  %10919 = icmp ne i32 %10918, 0
  br i1 %10919, label %10920, label %10937

10920:                                            ; preds = %10915
  %10921 = load i32, ptr %270, align 4, !tbaa !5
  %10922 = call ptr @__errno_location() #12
  store i32 %10921, ptr %10922, align 4, !tbaa !5
  %10923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10924 = load i32, ptr @test_count, align 4, !tbaa !5
  %10925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10926 = load i32, ptr %10925, align 4, !tbaa !5
  %10927 = call ptr @s2n_strerror(i32 noundef %10926, ptr noundef @.str.25)
  %10928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10929 = load i32, ptr %10928, align 4, !tbaa !5
  %10930 = call ptr @s2n_strerror_debug(i32 noundef %10929, ptr noundef @.str.25)
  %10931 = call ptr @__errno_location() #12
  %10932 = load i32, ptr %10931, align 4, !tbaa !5
  %10933 = call ptr @strerror(i32 noundef %10932) #11
  %10934 = call ptr @__errno_location() #12
  %10935 = load i32, ptr %10934, align 4, !tbaa !5
  %10936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10923, ptr noundef @.str.23, i32 noundef %10924, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 607, ptr noundef %10927, ptr noundef %10930, ptr noundef %10933, i32 noundef %10935) #11
  br label %10954

10937:                                            ; preds = %10915, %10908
  %10938 = load i32, ptr %270, align 4, !tbaa !5
  %10939 = call ptr @__errno_location() #12
  store i32 %10938, ptr %10939, align 4, !tbaa !5
  %10940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10941 = load i32, ptr @test_count, align 4, !tbaa !5
  %10942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10943 = load i32, ptr %10942, align 4, !tbaa !5
  %10944 = call ptr @s2n_strerror(i32 noundef %10943, ptr noundef @.str.25)
  %10945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10946 = load i32, ptr %10945, align 4, !tbaa !5
  %10947 = call ptr @s2n_strerror_debug(i32 noundef %10946, ptr noundef @.str.25)
  %10948 = call ptr @__errno_location() #12
  %10949 = load i32, ptr %10948, align 4, !tbaa !5
  %10950 = call ptr @strerror(i32 noundef %10949) #11
  %10951 = call ptr @__errno_location() #12
  %10952 = load i32, ptr %10951, align 4, !tbaa !5
  %10953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10940, ptr noundef @.str.26, i32 noundef %10941, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 607, ptr noundef %10944, ptr noundef %10947, ptr noundef %10950, i32 noundef %10952) #11
  br label %10954

10954:                                            ; preds = %10937, %10920
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %10955

10955:                                            ; preds = %10954
  br label %10956

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

10957:                                            ; No predecessors!
  br label %10958

10958:                                            ; preds = %10957
  br label %10959

10959:                                            ; preds = %10958, %10901
  br label %10960

10960:                                            ; preds = %10959
  br label %10961

10961:                                            ; preds = %10960
  br label %10962

10962:                                            ; preds = %10961
  %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 ptr, ptr %267, align 8, !tbaa !9
  %10966 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %10965, i8 noundef zeroext 1)
  %10967 = icmp eq i32 %10966, -1
  br i1 %10967, label %10968, label %11021

10968:                                            ; preds = %10962
  br label %10969

10969:                                            ; preds = %10968
  br label %10970

10970:                                            ; preds = %10969
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %10971 = call ptr @__errno_location() #12
  %10972 = load i32, ptr %10971, align 4, !tbaa !5
  store i32 %10972, ptr %271, align 4, !tbaa !5
  %10973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10974 = call i32 @s2n_print_stacktrace(ptr noundef %10973)
  %10975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10976 = trunc i8 %10975 to i1
  br i1 %10976, label %10977, label %10999

10977:                                            ; preds = %10970
  %10978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10979 = call i32 @fileno(ptr noundef %10978) #11
  %10980 = call i32 @isatty(i32 noundef %10979) #11
  %10981 = icmp ne i32 %10980, 0
  br i1 %10981, label %10982, label %10999

10982:                                            ; preds = %10977
  %10983 = load i32, ptr %271, align 4, !tbaa !5
  %10984 = call ptr @__errno_location() #12
  store i32 %10983, ptr %10984, align 4, !tbaa !5
  %10985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10986 = load i32, ptr @test_count, align 4, !tbaa !5
  %10987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10988 = load i32, ptr %10987, align 4, !tbaa !5
  %10989 = call ptr @s2n_strerror(i32 noundef %10988, ptr noundef @.str.25)
  %10990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10991 = load i32, ptr %10990, align 4, !tbaa !5
  %10992 = call ptr @s2n_strerror_debug(i32 noundef %10991, ptr noundef @.str.25)
  %10993 = call ptr @__errno_location() #12
  %10994 = load i32, ptr %10993, align 4, !tbaa !5
  %10995 = call ptr @strerror(i32 noundef %10994) #11
  %10996 = call ptr @__errno_location() #12
  %10997 = load i32, ptr %10996, align 4, !tbaa !5
  %10998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10985, ptr noundef @.str.23, i32 noundef %10986, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 609, ptr noundef %10989, ptr noundef %10992, ptr noundef %10995, i32 noundef %10997) #11
  br label %11016

10999:                                            ; preds = %10977, %10970
  %11000 = load i32, ptr %271, align 4, !tbaa !5
  %11001 = call ptr @__errno_location() #12
  store i32 %11000, ptr %11001, align 4, !tbaa !5
  %11002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11003 = load i32, ptr @test_count, align 4, !tbaa !5
  %11004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11005 = load i32, ptr %11004, align 4, !tbaa !5
  %11006 = call ptr @s2n_strerror(i32 noundef %11005, ptr noundef @.str.25)
  %11007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11008 = load i32, ptr %11007, align 4, !tbaa !5
  %11009 = call ptr @s2n_strerror_debug(i32 noundef %11008, ptr noundef @.str.25)
  %11010 = call ptr @__errno_location() #12
  %11011 = load i32, ptr %11010, align 4, !tbaa !5
  %11012 = call ptr @strerror(i32 noundef %11011) #11
  %11013 = call ptr @__errno_location() #12
  %11014 = load i32, ptr %11013, align 4, !tbaa !5
  %11015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11002, ptr noundef @.str.26, i32 noundef %11003, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 609, ptr noundef %11006, ptr noundef %11009, ptr noundef %11012, i32 noundef %11014) #11
  br label %11016

11016:                                            ; preds = %10999, %10982
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %11017

11017:                                            ; preds = %11016
  br label %11018

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

11019:                                            ; No predecessors!
  br label %11020

11020:                                            ; preds = %11019
  br label %11021

11021:                                            ; preds = %11020, %10962
  br label %11022

11022:                                            ; preds = %11021
  br label %11023

11023:                                            ; preds = %11022
  br label %11024

11024:                                            ; preds = %11023
  %11025 = load i32, ptr @test_count, align 4, !tbaa !5
  %11026 = add nsw i32 %11025, 1
  store i32 %11026, ptr @test_count, align 4, !tbaa !5
  %11027 = load ptr, ptr %267, align 8, !tbaa !9
  %11028 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %11027, ptr noundef @s2n_test_session_ticket_cb, ptr noundef null)
  %11029 = icmp eq i32 %11028, -1
  br i1 %11029, label %11030, label %11083

11030:                                            ; preds = %11024
  br label %11031

11031:                                            ; preds = %11030
  br label %11032

11032:                                            ; preds = %11031
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %11033 = call ptr @__errno_location() #12
  %11034 = load i32, ptr %11033, align 4, !tbaa !5
  store i32 %11034, ptr %272, align 4, !tbaa !5
  %11035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11036 = call i32 @s2n_print_stacktrace(ptr noundef %11035)
  %11037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11038 = trunc i8 %11037 to i1
  br i1 %11038, label %11039, label %11061

11039:                                            ; preds = %11032
  %11040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11041 = call i32 @fileno(ptr noundef %11040) #11
  %11042 = call i32 @isatty(i32 noundef %11041) #11
  %11043 = icmp ne i32 %11042, 0
  br i1 %11043, label %11044, label %11061

11044:                                            ; preds = %11039
  %11045 = load i32, ptr %272, align 4, !tbaa !5
  %11046 = call ptr @__errno_location() #12
  store i32 %11045, ptr %11046, align 4, !tbaa !5
  %11047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11048 = load i32, ptr @test_count, align 4, !tbaa !5
  %11049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11050 = load i32, ptr %11049, align 4, !tbaa !5
  %11051 = call ptr @s2n_strerror(i32 noundef %11050, ptr noundef @.str.25)
  %11052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11053 = load i32, ptr %11052, align 4, !tbaa !5
  %11054 = call ptr @s2n_strerror_debug(i32 noundef %11053, ptr noundef @.str.25)
  %11055 = call ptr @__errno_location() #12
  %11056 = load i32, ptr %11055, align 4, !tbaa !5
  %11057 = call ptr @strerror(i32 noundef %11056) #11
  %11058 = call ptr @__errno_location() #12
  %11059 = load i32, ptr %11058, align 4, !tbaa !5
  %11060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11047, ptr noundef @.str.23, i32 noundef %11048, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 610, ptr noundef %11051, ptr noundef %11054, ptr noundef %11057, i32 noundef %11059) #11
  br label %11078

11061:                                            ; preds = %11039, %11032
  %11062 = load i32, ptr %272, align 4, !tbaa !5
  %11063 = call ptr @__errno_location() #12
  store i32 %11062, ptr %11063, align 4, !tbaa !5
  %11064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11065 = load i32, ptr @test_count, align 4, !tbaa !5
  %11066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11067 = load i32, ptr %11066, align 4, !tbaa !5
  %11068 = call ptr @s2n_strerror(i32 noundef %11067, ptr noundef @.str.25)
  %11069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11070 = load i32, ptr %11069, align 4, !tbaa !5
  %11071 = call ptr @s2n_strerror_debug(i32 noundef %11070, ptr noundef @.str.25)
  %11072 = call ptr @__errno_location() #12
  %11073 = load i32, ptr %11072, align 4, !tbaa !5
  %11074 = call ptr @strerror(i32 noundef %11073) #11
  %11075 = call ptr @__errno_location() #12
  %11076 = load i32, ptr %11075, align 4, !tbaa !5
  %11077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11064, ptr noundef @.str.26, i32 noundef %11065, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 610, ptr noundef %11068, ptr noundef %11071, ptr noundef %11074, i32 noundef %11076) #11
  br label %11078

11078:                                            ; preds = %11061, %11044
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %11079

11079:                                            ; preds = %11078
  br label %11080

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

11081:                                            ; No predecessors!
  br label %11082

11082:                                            ; preds = %11081
  br label %11083

11083:                                            ; preds = %11082, %11024
  br label %11084

11084:                                            ; preds = %11083
  br label %11085

11085:                                            ; preds = %11084
  br label %11086

11086:                                            ; preds = %11085
  %11087 = load i32, ptr @test_count, align 4, !tbaa !5
  %11088 = add nsw i32 %11087, 1
  store i32 %11088, ptr @test_count, align 4, !tbaa !5
  %11089 = load ptr, ptr %268, align 8, !tbaa !9
  %11090 = load ptr, ptr %267, align 8, !tbaa !9
  %11091 = call i32 @s2n_connection_set_config(ptr noundef %11089, ptr noundef %11090)
  %11092 = icmp eq i32 %11091, -1
  br i1 %11092, label %11093, label %11146

11093:                                            ; preds = %11086
  br label %11094

11094:                                            ; preds = %11093
  br label %11095

11095:                                            ; preds = %11094
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %11096 = call ptr @__errno_location() #12
  %11097 = load i32, ptr %11096, align 4, !tbaa !5
  store i32 %11097, ptr %273, align 4, !tbaa !5
  %11098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11099 = call i32 @s2n_print_stacktrace(ptr noundef %11098)
  %11100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11101 = trunc i8 %11100 to i1
  br i1 %11101, label %11102, label %11124

11102:                                            ; preds = %11095
  %11103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11104 = call i32 @fileno(ptr noundef %11103) #11
  %11105 = call i32 @isatty(i32 noundef %11104) #11
  %11106 = icmp ne i32 %11105, 0
  br i1 %11106, label %11107, label %11124

11107:                                            ; preds = %11102
  %11108 = load i32, ptr %273, align 4, !tbaa !5
  %11109 = call ptr @__errno_location() #12
  store i32 %11108, ptr %11109, align 4, !tbaa !5
  %11110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11111 = load i32, ptr @test_count, align 4, !tbaa !5
  %11112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11113 = load i32, ptr %11112, align 4, !tbaa !5
  %11114 = call ptr @s2n_strerror(i32 noundef %11113, ptr noundef @.str.25)
  %11115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11116 = load i32, ptr %11115, align 4, !tbaa !5
  %11117 = call ptr @s2n_strerror_debug(i32 noundef %11116, ptr noundef @.str.25)
  %11118 = call ptr @__errno_location() #12
  %11119 = load i32, ptr %11118, align 4, !tbaa !5
  %11120 = call ptr @strerror(i32 noundef %11119) #11
  %11121 = call ptr @__errno_location() #12
  %11122 = load i32, ptr %11121, align 4, !tbaa !5
  %11123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11110, ptr noundef @.str.23, i32 noundef %11111, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 611, ptr noundef %11114, ptr noundef %11117, ptr noundef %11120, i32 noundef %11122) #11
  br label %11141

11124:                                            ; preds = %11102, %11095
  %11125 = load i32, ptr %273, align 4, !tbaa !5
  %11126 = call ptr @__errno_location() #12
  store i32 %11125, ptr %11126, align 4, !tbaa !5
  %11127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11128 = load i32, ptr @test_count, align 4, !tbaa !5
  %11129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11130 = load i32, ptr %11129, align 4, !tbaa !5
  %11131 = call ptr @s2n_strerror(i32 noundef %11130, ptr noundef @.str.25)
  %11132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11133 = load i32, ptr %11132, align 4, !tbaa !5
  %11134 = call ptr @s2n_strerror_debug(i32 noundef %11133, ptr noundef @.str.25)
  %11135 = call ptr @__errno_location() #12
  %11136 = load i32, ptr %11135, align 4, !tbaa !5
  %11137 = call ptr @strerror(i32 noundef %11136) #11
  %11138 = call ptr @__errno_location() #12
  %11139 = load i32, ptr %11138, align 4, !tbaa !5
  %11140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11127, ptr noundef @.str.26, i32 noundef %11128, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 611, ptr noundef %11131, ptr noundef %11134, ptr noundef %11137, i32 noundef %11139) #11
  br label %11141

11141:                                            ; preds = %11124, %11107
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %11142

11142:                                            ; preds = %11141
  br label %11143

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

11144:                                            ; No predecessors!
  br label %11145

11145:                                            ; preds = %11144
  br label %11146

11146:                                            ; preds = %11145, %11086
  br label %11147

11147:                                            ; preds = %11146
  br label %11148

11148:                                            ; preds = %11147
  %11149 = load ptr, ptr %268, align 8, !tbaa !9
  %11150 = getelementptr inbounds %struct.s2n_connection, ptr %11149, i32 0, i32 23
  store i8 34, ptr %11150, align 4, !tbaa !17
  %11151 = load ptr, ptr %268, align 8, !tbaa !9
  %11152 = getelementptr inbounds %struct.s2n_connection, ptr %11151, i32 0, i32 27
  %11153 = load ptr, ptr %11152, align 8, !tbaa !43
  %11154 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %11153, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %11154, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr %274) #11
  call void @llvm.memset.p0.i64(ptr align 8 %274, i8 0, i64 40, i1 false)
  br label %11155

11155:                                            ; preds = %11148
  %11156 = load i32, ptr @test_count, align 4, !tbaa !5
  %11157 = add nsw i32 %11156, 1
  store i32 %11157, ptr @test_count, align 4, !tbaa !5
  %11158 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %274, i32 noundef 0)
  %11159 = icmp eq i32 %11158, -1
  br i1 %11159, label %11160, label %11213

11160:                                            ; preds = %11155
  br label %11161

11161:                                            ; preds = %11160
  br label %11162

11162:                                            ; preds = %11161
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  %11163 = call ptr @__errno_location() #12
  %11164 = load i32, ptr %11163, align 4, !tbaa !5
  store i32 %11164, ptr %275, align 4, !tbaa !5
  %11165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11166 = call i32 @s2n_print_stacktrace(ptr noundef %11165)
  %11167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11168 = trunc i8 %11167 to i1
  br i1 %11168, label %11169, label %11191

11169:                                            ; preds = %11162
  %11170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11171 = call i32 @fileno(ptr noundef %11170) #11
  %11172 = call i32 @isatty(i32 noundef %11171) #11
  %11173 = icmp ne i32 %11172, 0
  br i1 %11173, label %11174, label %11191

11174:                                            ; preds = %11169
  %11175 = load i32, ptr %275, align 4, !tbaa !5
  %11176 = call ptr @__errno_location() #12
  store i32 %11175, ptr %11176, align 4, !tbaa !5
  %11177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11178 = load i32, ptr @test_count, align 4, !tbaa !5
  %11179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11180 = load i32, ptr %11179, align 4, !tbaa !5
  %11181 = call ptr @s2n_strerror(i32 noundef %11180, ptr noundef @.str.25)
  %11182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11183 = load i32, ptr %11182, align 4, !tbaa !5
  %11184 = call ptr @s2n_strerror_debug(i32 noundef %11183, ptr noundef @.str.25)
  %11185 = call ptr @__errno_location() #12
  %11186 = load i32, ptr %11185, align 4, !tbaa !5
  %11187 = call ptr @strerror(i32 noundef %11186) #11
  %11188 = call ptr @__errno_location() #12
  %11189 = load i32, ptr %11188, align 4, !tbaa !5
  %11190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11177, ptr noundef @.str.23, i32 noundef %11178, ptr noundef @.str.111, ptr noundef @.str.22, i32 noundef 618, ptr noundef %11181, ptr noundef %11184, ptr noundef %11187, i32 noundef %11189) #11
  br label %11208

11191:                                            ; preds = %11169, %11162
  %11192 = load i32, ptr %275, align 4, !tbaa !5
  %11193 = call ptr @__errno_location() #12
  store i32 %11192, ptr %11193, align 4, !tbaa !5
  %11194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11195 = load i32, ptr @test_count, align 4, !tbaa !5
  %11196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11197 = load i32, ptr %11196, align 4, !tbaa !5
  %11198 = call ptr @s2n_strerror(i32 noundef %11197, ptr noundef @.str.25)
  %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_debug(i32 noundef %11200, ptr noundef @.str.25)
  %11202 = call ptr @__errno_location() #12
  %11203 = load i32, ptr %11202, align 4, !tbaa !5
  %11204 = call ptr @strerror(i32 noundef %11203) #11
  %11205 = call ptr @__errno_location() #12
  %11206 = load i32, ptr %11205, align 4, !tbaa !5
  %11207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11194, ptr noundef @.str.26, i32 noundef %11195, ptr noundef @.str.111, ptr noundef @.str.22, i32 noundef 618, ptr noundef %11198, ptr noundef %11201, ptr noundef %11204, i32 noundef %11206) #11
  br label %11208

11208:                                            ; preds = %11191, %11174
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  br label %11209

11209:                                            ; preds = %11208
  br label %11210

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

11211:                                            ; No predecessors!
  br label %11212

11212:                                            ; preds = %11211
  br label %11213

11213:                                            ; preds = %11212, %11155
  br label %11214

11214:                                            ; preds = %11213
  br label %11215

11215:                                            ; preds = %11214
  call void @llvm.lifetime.start.p0(i64 24, ptr %276) #11
  call void @llvm.memset.p0.i64(ptr align 8 %276, i8 0, i64 24, i1 false)
  br label %11216

11216:                                            ; preds = %11215
  %11217 = load i32, ptr @test_count, align 4, !tbaa !5
  %11218 = add nsw i32 %11217, 1
  store i32 %11218, ptr @test_count, align 4, !tbaa !5
  %11219 = getelementptr inbounds [18 x i8], ptr %236, i64 0, i64 0
  %11220 = call i32 @s2n_blob_init(ptr noundef %276, ptr noundef %11219, i32 noundef 18)
  %11221 = icmp eq i32 %11220, -1
  br i1 %11221, label %11222, label %11275

11222:                                            ; preds = %11216
  br label %11223

11223:                                            ; preds = %11222
  br label %11224

11224:                                            ; preds = %11223
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #11
  %11225 = call ptr @__errno_location() #12
  %11226 = load i32, ptr %11225, align 4, !tbaa !5
  store i32 %11226, ptr %277, align 4, !tbaa !5
  %11227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11228 = call i32 @s2n_print_stacktrace(ptr noundef %11227)
  %11229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11230 = trunc i8 %11229 to i1
  br i1 %11230, label %11231, label %11253

11231:                                            ; preds = %11224
  %11232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11233 = call i32 @fileno(ptr noundef %11232) #11
  %11234 = call i32 @isatty(i32 noundef %11233) #11
  %11235 = icmp ne i32 %11234, 0
  br i1 %11235, label %11236, label %11253

11236:                                            ; preds = %11231
  %11237 = load i32, ptr %277, align 4, !tbaa !5
  %11238 = call ptr @__errno_location() #12
  store i32 %11237, ptr %11238, align 4, !tbaa !5
  %11239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11240 = load i32, ptr @test_count, align 4, !tbaa !5
  %11241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11242 = load i32, ptr %11241, align 4, !tbaa !5
  %11243 = call ptr @s2n_strerror(i32 noundef %11242, ptr noundef @.str.25)
  %11244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11245 = load i32, ptr %11244, align 4, !tbaa !5
  %11246 = call ptr @s2n_strerror_debug(i32 noundef %11245, ptr noundef @.str.25)
  %11247 = call ptr @__errno_location() #12
  %11248 = load i32, ptr %11247, align 4, !tbaa !5
  %11249 = call ptr @strerror(i32 noundef %11248) #11
  %11250 = call ptr @__errno_location() #12
  %11251 = load i32, ptr %11250, align 4, !tbaa !5
  %11252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11239, ptr noundef @.str.23, i32 noundef %11240, ptr noundef @.str.112, ptr noundef @.str.22, i32 noundef 621, ptr noundef %11243, ptr noundef %11246, ptr noundef %11249, i32 noundef %11251) #11
  br label %11270

11253:                                            ; preds = %11231, %11224
  %11254 = load i32, ptr %277, align 4, !tbaa !5
  %11255 = call ptr @__errno_location() #12
  store i32 %11254, ptr %11255, align 4, !tbaa !5
  %11256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11257 = load i32, ptr @test_count, align 4, !tbaa !5
  %11258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11259 = load i32, ptr %11258, align 4, !tbaa !5
  %11260 = call ptr @s2n_strerror(i32 noundef %11259, ptr noundef @.str.25)
  %11261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11262 = load i32, ptr %11261, align 4, !tbaa !5
  %11263 = call ptr @s2n_strerror_debug(i32 noundef %11262, ptr noundef @.str.25)
  %11264 = call ptr @__errno_location() #12
  %11265 = load i32, ptr %11264, align 4, !tbaa !5
  %11266 = call ptr @strerror(i32 noundef %11265) #11
  %11267 = call ptr @__errno_location() #12
  %11268 = load i32, ptr %11267, align 4, !tbaa !5
  %11269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11256, ptr noundef @.str.26, i32 noundef %11257, ptr noundef @.str.112, ptr noundef @.str.22, i32 noundef 621, ptr noundef %11260, ptr noundef %11263, ptr noundef %11266, i32 noundef %11268) #11
  br label %11270

11270:                                            ; preds = %11253, %11236
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #11
  br label %11271

11271:                                            ; preds = %11270
  br label %11272

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

11273:                                            ; No predecessors!
  br label %11274

11274:                                            ; preds = %11273
  br label %11275

11275:                                            ; preds = %11274, %11216
  br label %11276

11276:                                            ; preds = %11275
  br label %11277

11277:                                            ; preds = %11276
  br label %11278

11278:                                            ; preds = %11277
  %11279 = load i32, ptr @test_count, align 4, !tbaa !5
  %11280 = add nsw i32 %11279, 1
  store i32 %11280, ptr @test_count, align 4, !tbaa !5
  %11281 = call i32 @s2n_stuffer_write(ptr noundef %274, ptr noundef %276)
  %11282 = icmp eq i32 %11281, -1
  br i1 %11282, label %11283, label %11336

11283:                                            ; preds = %11278
  br label %11284

11284:                                            ; preds = %11283
  br label %11285

11285:                                            ; preds = %11284
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %11286 = call ptr @__errno_location() #12
  %11287 = load i32, ptr %11286, align 4, !tbaa !5
  store i32 %11287, ptr %278, align 4, !tbaa !5
  %11288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11289 = call i32 @s2n_print_stacktrace(ptr noundef %11288)
  %11290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11291 = trunc i8 %11290 to i1
  br i1 %11291, label %11292, label %11314

11292:                                            ; preds = %11285
  %11293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11294 = call i32 @fileno(ptr noundef %11293) #11
  %11295 = call i32 @isatty(i32 noundef %11294) #11
  %11296 = icmp ne i32 %11295, 0
  br i1 %11296, label %11297, label %11314

11297:                                            ; preds = %11292
  %11298 = load i32, ptr %278, align 4, !tbaa !5
  %11299 = call ptr @__errno_location() #12
  store i32 %11298, ptr %11299, align 4, !tbaa !5
  %11300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11301 = load i32, ptr @test_count, align 4, !tbaa !5
  %11302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11303 = load i32, ptr %11302, align 4, !tbaa !5
  %11304 = call ptr @s2n_strerror(i32 noundef %11303, ptr noundef @.str.25)
  %11305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11306 = load i32, ptr %11305, align 4, !tbaa !5
  %11307 = call ptr @s2n_strerror_debug(i32 noundef %11306, ptr noundef @.str.25)
  %11308 = call ptr @__errno_location() #12
  %11309 = load i32, ptr %11308, align 4, !tbaa !5
  %11310 = call ptr @strerror(i32 noundef %11309) #11
  %11311 = call ptr @__errno_location() #12
  %11312 = load i32, ptr %11311, align 4, !tbaa !5
  %11313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11300, ptr noundef @.str.23, i32 noundef %11301, ptr noundef @.str.113, ptr noundef @.str.22, i32 noundef 622, ptr noundef %11304, ptr noundef %11307, ptr noundef %11310, i32 noundef %11312) #11
  br label %11331

11314:                                            ; preds = %11292, %11285
  %11315 = load i32, ptr %278, align 4, !tbaa !5
  %11316 = call ptr @__errno_location() #12
  store i32 %11315, ptr %11316, align 4, !tbaa !5
  %11317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11318 = load i32, ptr @test_count, align 4, !tbaa !5
  %11319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11320 = load i32, ptr %11319, align 4, !tbaa !5
  %11321 = call ptr @s2n_strerror(i32 noundef %11320, ptr noundef @.str.25)
  %11322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11323 = load i32, ptr %11322, align 4, !tbaa !5
  %11324 = call ptr @s2n_strerror_debug(i32 noundef %11323, ptr noundef @.str.25)
  %11325 = call ptr @__errno_location() #12
  %11326 = load i32, ptr %11325, align 4, !tbaa !5
  %11327 = call ptr @strerror(i32 noundef %11326) #11
  %11328 = call ptr @__errno_location() #12
  %11329 = load i32, ptr %11328, align 4, !tbaa !5
  %11330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11317, ptr noundef @.str.26, i32 noundef %11318, ptr noundef @.str.113, ptr noundef @.str.22, i32 noundef 622, ptr noundef %11321, ptr noundef %11324, ptr noundef %11327, i32 noundef %11329) #11
  br label %11331

11331:                                            ; preds = %11314, %11297
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %11332

11332:                                            ; preds = %11331
  br label %11333

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

11334:                                            ; No predecessors!
  br label %11335

11335:                                            ; preds = %11334
  br label %11336

11336:                                            ; preds = %11335, %11278
  br label %11337

11337:                                            ; preds = %11336
  br label %11338

11338:                                            ; preds = %11337
  br label %11339

11339:                                            ; preds = %11338
  %11340 = load i32, ptr @test_count, align 4, !tbaa !5
  %11341 = add nsw i32 %11340, 1
  store i32 %11341, ptr @test_count, align 4, !tbaa !5
  %11342 = load ptr, ptr %268, align 8, !tbaa !9
  %11343 = call i32 @s2n_tls13_server_nst_recv(ptr noundef %11342, ptr noundef %274)
  %11344 = getelementptr inbounds %struct.s2n_result, ptr %279, i32 0, i32 0
  store i32 %11343, ptr %11344, align 4
  %11345 = getelementptr inbounds %struct.s2n_result, ptr %279, i32 0, i32 0
  %11346 = load i32, ptr %11345, align 4
  %11347 = call zeroext i1 @s2n_result_is_ok(i32 %11346)
  br i1 %11347, label %11401, label %11348

11348:                                            ; preds = %11339
  br label %11349

11349:                                            ; preds = %11348
  br label %11350

11350:                                            ; preds = %11349
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %11351 = call ptr @__errno_location() #12
  %11352 = load i32, ptr %11351, align 4, !tbaa !5
  store i32 %11352, ptr %280, align 4, !tbaa !5
  %11353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11354 = call i32 @s2n_print_stacktrace(ptr noundef %11353)
  %11355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11356 = trunc i8 %11355 to i1
  br i1 %11356, label %11357, label %11379

11357:                                            ; preds = %11350
  %11358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11359 = call i32 @fileno(ptr noundef %11358) #11
  %11360 = call i32 @isatty(i32 noundef %11359) #11
  %11361 = icmp ne i32 %11360, 0
  br i1 %11361, label %11362, label %11379

11362:                                            ; preds = %11357
  %11363 = load i32, ptr %280, align 4, !tbaa !5
  %11364 = call ptr @__errno_location() #12
  store i32 %11363, ptr %11364, align 4, !tbaa !5
  %11365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11366 = load i32, ptr @test_count, align 4, !tbaa !5
  %11367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11368 = load i32, ptr %11367, align 4, !tbaa !5
  %11369 = call ptr @s2n_strerror(i32 noundef %11368, ptr noundef @.str.25)
  %11370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11371 = load i32, ptr %11370, align 4, !tbaa !5
  %11372 = call ptr @s2n_strerror_debug(i32 noundef %11371, ptr noundef @.str.25)
  %11373 = call ptr @__errno_location() #12
  %11374 = load i32, ptr %11373, align 4, !tbaa !5
  %11375 = call ptr @strerror(i32 noundef %11374) #11
  %11376 = call ptr @__errno_location() #12
  %11377 = load i32, ptr %11376, align 4, !tbaa !5
  %11378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11365, ptr noundef @.str.23, i32 noundef %11366, ptr noundef @.str.114, ptr noundef @.str.22, i32 noundef 624, ptr noundef %11369, ptr noundef %11372, ptr noundef %11375, i32 noundef %11377) #11
  br label %11396

11379:                                            ; preds = %11357, %11350
  %11380 = load i32, ptr %280, align 4, !tbaa !5
  %11381 = call ptr @__errno_location() #12
  store i32 %11380, ptr %11381, align 4, !tbaa !5
  %11382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11383 = load i32, ptr @test_count, align 4, !tbaa !5
  %11384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11385 = load i32, ptr %11384, align 4, !tbaa !5
  %11386 = call ptr @s2n_strerror(i32 noundef %11385, ptr noundef @.str.25)
  %11387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11388 = load i32, ptr %11387, align 4, !tbaa !5
  %11389 = call ptr @s2n_strerror_debug(i32 noundef %11388, ptr noundef @.str.25)
  %11390 = call ptr @__errno_location() #12
  %11391 = load i32, ptr %11390, align 4, !tbaa !5
  %11392 = call ptr @strerror(i32 noundef %11391) #11
  %11393 = call ptr @__errno_location() #12
  %11394 = load i32, ptr %11393, align 4, !tbaa !5
  %11395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11382, ptr noundef @.str.26, i32 noundef %11383, ptr noundef @.str.114, ptr noundef @.str.22, i32 noundef 624, ptr noundef %11386, ptr noundef %11389, ptr noundef %11392, i32 noundef %11394) #11
  br label %11396

11396:                                            ; preds = %11379, %11362
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %11397

11397:                                            ; preds = %11396
  br label %11398

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

11399:                                            ; No predecessors!
  br label %11400

11400:                                            ; preds = %11399
  br label %11401

11401:                                            ; preds = %11400, %11339
  br label %11402

11402:                                            ; preds = %11401
  br label %11403

11403:                                            ; preds = %11402
  br label %11404

11404:                                            ; preds = %11403
  br label %11405

11405:                                            ; preds = %11404
  %11406 = load i32, ptr @test_count, align 4, !tbaa !5
  %11407 = add nsw i32 %11406, 1
  store i32 %11407, ptr @test_count, align 4, !tbaa !5
  %11408 = load ptr, ptr %268, align 8, !tbaa !9
  %11409 = getelementptr inbounds %struct.s2n_connection, ptr %11408, i32 0, i32 77
  %11410 = getelementptr inbounds %struct.s2n_blob, ptr %11409, i32 0, i32 0
  %11411 = load ptr, ptr %11410, align 8, !tbaa !74
  %11412 = getelementptr inbounds [3 x i8], ptr %235, i64 0, i64 0
  %11413 = call i32 @memcmp(ptr noundef %11411, ptr noundef %11412, i64 noundef 3) #14
  %11414 = icmp eq i32 %11413, 0
  br i1 %11414, label %11468, label %11415

11415:                                            ; preds = %11405
  br label %11416

11416:                                            ; preds = %11415
  br label %11417

11417:                                            ; preds = %11416
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #11
  %11418 = call ptr @__errno_location() #12
  %11419 = load i32, ptr %11418, align 4, !tbaa !5
  store i32 %11419, ptr %281, align 4, !tbaa !5
  %11420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11421 = call i32 @s2n_print_stacktrace(ptr noundef %11420)
  %11422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11423 = trunc i8 %11422 to i1
  br i1 %11423, label %11424, label %11446

11424:                                            ; preds = %11417
  %11425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11426 = call i32 @fileno(ptr noundef %11425) #11
  %11427 = call i32 @isatty(i32 noundef %11426) #11
  %11428 = icmp ne i32 %11427, 0
  br i1 %11428, label %11429, label %11446

11429:                                            ; preds = %11424
  %11430 = load i32, ptr %281, align 4, !tbaa !5
  %11431 = call ptr @__errno_location() #12
  store i32 %11430, ptr %11431, align 4, !tbaa !5
  %11432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11433 = load i32, ptr @test_count, align 4, !tbaa !5
  %11434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11435 = load i32, ptr %11434, align 4, !tbaa !5
  %11436 = call ptr @s2n_strerror(i32 noundef %11435, ptr noundef @.str.25)
  %11437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11438 = load i32, ptr %11437, align 4, !tbaa !5
  %11439 = call ptr @s2n_strerror_debug(i32 noundef %11438, ptr noundef @.str.25)
  %11440 = call ptr @__errno_location() #12
  %11441 = load i32, ptr %11440, align 4, !tbaa !5
  %11442 = call ptr @strerror(i32 noundef %11441) #11
  %11443 = call ptr @__errno_location() #12
  %11444 = load i32, ptr %11443, align 4, !tbaa !5
  %11445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11432, ptr noundef @.str.23, i32 noundef %11433, ptr noundef @.str.119, ptr noundef @.str.22, i32 noundef 625, ptr noundef %11436, ptr noundef %11439, ptr noundef %11442, i32 noundef %11444) #11
  br label %11463

11446:                                            ; preds = %11424, %11417
  %11447 = load i32, ptr %281, align 4, !tbaa !5
  %11448 = call ptr @__errno_location() #12
  store i32 %11447, ptr %11448, align 4, !tbaa !5
  %11449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11450 = load i32, ptr @test_count, align 4, !tbaa !5
  %11451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11452 = load i32, ptr %11451, align 4, !tbaa !5
  %11453 = call ptr @s2n_strerror(i32 noundef %11452, ptr noundef @.str.25)
  %11454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11455 = load i32, ptr %11454, align 4, !tbaa !5
  %11456 = call ptr @s2n_strerror_debug(i32 noundef %11455, ptr noundef @.str.25)
  %11457 = call ptr @__errno_location() #12
  %11458 = load i32, ptr %11457, align 4, !tbaa !5
  %11459 = call ptr @strerror(i32 noundef %11458) #11
  %11460 = call ptr @__errno_location() #12
  %11461 = load i32, ptr %11460, align 4, !tbaa !5
  %11462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11449, ptr noundef @.str.26, i32 noundef %11450, ptr noundef @.str.119, ptr noundef @.str.22, i32 noundef 625, ptr noundef %11453, ptr noundef %11456, ptr noundef %11459, i32 noundef %11461) #11
  br label %11463

11463:                                            ; preds = %11446, %11429
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #11
  br label %11464

11464:                                            ; preds = %11463
  br label %11465

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

11466:                                            ; No predecessors!
  br label %11467

11467:                                            ; preds = %11466
  br label %11468

11468:                                            ; preds = %11467, %11405
  br label %11469

11469:                                            ; preds = %11468
  br label %11470

11470:                                            ; preds = %11469
  br label %11471

11471:                                            ; preds = %11470
  br label %11472

11472:                                            ; preds = %11471
  br label %11473

11473:                                            ; preds = %11472
  %11474 = load i32, ptr @test_count, align 4, !tbaa !5
  %11475 = add nsw i32 %11474, 1
  store i32 %11475, ptr @test_count, align 4, !tbaa !5
  %11476 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 2
  %11477 = load i32, ptr %11476, align 4, !tbaa !52
  %11478 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 1
  %11479 = load i32, ptr %11478, align 8, !tbaa !53
  %11480 = sub i32 %11477, %11479
  %11481 = icmp eq i32 %11480, 0
  br i1 %11481, label %11535, label %11482

11482:                                            ; preds = %11473
  br label %11483

11483:                                            ; preds = %11482
  br label %11484

11484:                                            ; preds = %11483
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %11485 = call ptr @__errno_location() #12
  %11486 = load i32, ptr %11485, align 4, !tbaa !5
  store i32 %11486, ptr %282, align 4, !tbaa !5
  %11487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11488 = call i32 @s2n_print_stacktrace(ptr noundef %11487)
  %11489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11490 = trunc i8 %11489 to i1
  br i1 %11490, label %11491, label %11513

11491:                                            ; preds = %11484
  %11492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11493 = call i32 @fileno(ptr noundef %11492) #11
  %11494 = call i32 @isatty(i32 noundef %11493) #11
  %11495 = icmp ne i32 %11494, 0
  br i1 %11495, label %11496, label %11513

11496:                                            ; preds = %11491
  %11497 = load i32, ptr %282, align 4, !tbaa !5
  %11498 = call ptr @__errno_location() #12
  store i32 %11497, ptr %11498, align 4, !tbaa !5
  %11499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11500 = load i32, ptr @test_count, align 4, !tbaa !5
  %11501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11502 = load i32, ptr %11501, align 4, !tbaa !5
  %11503 = call ptr @s2n_strerror(i32 noundef %11502, ptr noundef @.str.25)
  %11504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11505 = load i32, ptr %11504, align 4, !tbaa !5
  %11506 = call ptr @s2n_strerror_debug(i32 noundef %11505, ptr noundef @.str.25)
  %11507 = call ptr @__errno_location() #12
  %11508 = load i32, ptr %11507, align 4, !tbaa !5
  %11509 = call ptr @strerror(i32 noundef %11508) #11
  %11510 = call ptr @__errno_location() #12
  %11511 = load i32, ptr %11510, align 4, !tbaa !5
  %11512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11499, ptr noundef @.str.23, i32 noundef %11500, ptr noundef @.str.120, ptr noundef @.str.22, i32 noundef 626, ptr noundef %11503, ptr noundef %11506, ptr noundef %11509, i32 noundef %11511) #11
  br label %11530

11513:                                            ; preds = %11491, %11484
  %11514 = load i32, ptr %282, align 4, !tbaa !5
  %11515 = call ptr @__errno_location() #12
  store i32 %11514, ptr %11515, align 4, !tbaa !5
  %11516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11517 = load i32, ptr @test_count, align 4, !tbaa !5
  %11518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11519 = load i32, ptr %11518, align 4, !tbaa !5
  %11520 = call ptr @s2n_strerror(i32 noundef %11519, ptr noundef @.str.25)
  %11521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11522 = load i32, ptr %11521, align 4, !tbaa !5
  %11523 = call ptr @s2n_strerror_debug(i32 noundef %11522, ptr noundef @.str.25)
  %11524 = call ptr @__errno_location() #12
  %11525 = load i32, ptr %11524, align 4, !tbaa !5
  %11526 = call ptr @strerror(i32 noundef %11525) #11
  %11527 = call ptr @__errno_location() #12
  %11528 = load i32, ptr %11527, align 4, !tbaa !5
  %11529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11516, ptr noundef @.str.26, i32 noundef %11517, ptr noundef @.str.120, ptr noundef @.str.22, i32 noundef 626, ptr noundef %11520, ptr noundef %11523, ptr noundef %11526, i32 noundef %11528) #11
  br label %11530

11530:                                            ; preds = %11513, %11496
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %11531

11531:                                            ; preds = %11530
  br label %11532

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

11533:                                            ; No predecessors!
  br label %11534

11534:                                            ; preds = %11533
  br label %11535

11535:                                            ; preds = %11534, %11473
  br label %11536

11536:                                            ; preds = %11535
  br label %11537

11537:                                            ; preds = %11536
  call void @llvm.lifetime.start.p0(i64 24, ptr %283) #11
  call void @llvm.memset.p0.i64(ptr align 8 %283, i8 0, i64 24, i1 false)
  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 %11538

11538:                                            ; preds = %11537
  %11539 = load i32, ptr @test_count, align 4, !tbaa !5
  %11540 = add nsw i32 %11539, 1
  store i32 %11540, ptr @test_count, align 4, !tbaa !5
  %11541 = load i64, ptr @cb_session_data_len, align 8, !tbaa !15
  %11542 = trunc i64 %11541 to i32
  %11543 = call i32 @s2n_blob_init(ptr noundef %283, ptr noundef @cb_session_data, i32 noundef %11542)
  %11544 = icmp eq i32 %11543, -1
  br i1 %11544, label %11545, label %11598

11545:                                            ; preds = %11538
  br label %11546

11546:                                            ; preds = %11545
  br label %11547

11547:                                            ; preds = %11546
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #11
  %11548 = call ptr @__errno_location() #12
  %11549 = load i32, ptr %11548, align 4, !tbaa !5
  store i32 %11549, ptr %285, align 4, !tbaa !5
  %11550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11551 = call i32 @s2n_print_stacktrace(ptr noundef %11550)
  %11552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11553 = trunc i8 %11552 to i1
  br i1 %11553, label %11554, label %11576

11554:                                            ; preds = %11547
  %11555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11556 = call i32 @fileno(ptr noundef %11555) #11
  %11557 = call i32 @isatty(i32 noundef %11556) #11
  %11558 = icmp ne i32 %11557, 0
  br i1 %11558, label %11559, label %11576

11559:                                            ; preds = %11554
  %11560 = load i32, ptr %285, align 4, !tbaa !5
  %11561 = call ptr @__errno_location() #12
  store i32 %11560, ptr %11561, align 4, !tbaa !5
  %11562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11563 = load i32, ptr @test_count, align 4, !tbaa !5
  %11564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11565 = load i32, ptr %11564, align 4, !tbaa !5
  %11566 = call ptr @s2n_strerror(i32 noundef %11565, ptr noundef @.str.25)
  %11567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11568 = load i32, ptr %11567, align 4, !tbaa !5
  %11569 = call ptr @s2n_strerror_debug(i32 noundef %11568, ptr noundef @.str.25)
  %11570 = call ptr @__errno_location() #12
  %11571 = load i32, ptr %11570, align 4, !tbaa !5
  %11572 = call ptr @strerror(i32 noundef %11571) #11
  %11573 = call ptr @__errno_location() #12
  %11574 = load i32, ptr %11573, align 4, !tbaa !5
  %11575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11562, ptr noundef @.str.23, i32 noundef %11563, ptr noundef @.str.121, ptr noundef @.str.22, i32 noundef 631, ptr noundef %11566, ptr noundef %11569, ptr noundef %11572, i32 noundef %11574) #11
  br label %11593

11576:                                            ; preds = %11554, %11547
  %11577 = load i32, ptr %285, align 4, !tbaa !5
  %11578 = call ptr @__errno_location() #12
  store i32 %11577, ptr %11578, align 4, !tbaa !5
  %11579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11580 = load i32, ptr @test_count, align 4, !tbaa !5
  %11581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11582 = load i32, ptr %11581, align 4, !tbaa !5
  %11583 = call ptr @s2n_strerror(i32 noundef %11582, ptr noundef @.str.25)
  %11584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11585 = load i32, ptr %11584, align 4, !tbaa !5
  %11586 = call ptr @s2n_strerror_debug(i32 noundef %11585, ptr noundef @.str.25)
  %11587 = call ptr @__errno_location() #12
  %11588 = load i32, ptr %11587, align 4, !tbaa !5
  %11589 = call ptr @strerror(i32 noundef %11588) #11
  %11590 = call ptr @__errno_location() #12
  %11591 = load i32, ptr %11590, align 4, !tbaa !5
  %11592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11579, ptr noundef @.str.26, i32 noundef %11580, ptr noundef @.str.121, ptr noundef @.str.22, i32 noundef 631, ptr noundef %11583, ptr noundef %11586, ptr noundef %11589, i32 noundef %11591) #11
  br label %11593

11593:                                            ; preds = %11576, %11559
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #11
  br label %11594

11594:                                            ; preds = %11593
  br label %11595

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

11596:                                            ; No predecessors!
  br label %11597

11597:                                            ; preds = %11596
  br label %11598

11598:                                            ; preds = %11597, %11538
  br label %11599

11599:                                            ; preds = %11598
  br label %11600

11600:                                            ; preds = %11599
  br label %11601

11601:                                            ; preds = %11600
  %11602 = load i32, ptr @test_count, align 4, !tbaa !5
  %11603 = add nsw i32 %11602, 1
  store i32 %11603, ptr @test_count, align 4, !tbaa !5
  %11604 = call i32 @s2n_stuffer_init(ptr noundef %284, ptr noundef %283)
  %11605 = icmp eq i32 %11604, -1
  br i1 %11605, label %11606, label %11659

11606:                                            ; preds = %11601
  br label %11607

11607:                                            ; preds = %11606
  br label %11608

11608:                                            ; preds = %11607
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %11609 = call ptr @__errno_location() #12
  %11610 = load i32, ptr %11609, align 4, !tbaa !5
  store i32 %11610, ptr %286, align 4, !tbaa !5
  %11611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11612 = call i32 @s2n_print_stacktrace(ptr noundef %11611)
  %11613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11614 = trunc i8 %11613 to i1
  br i1 %11614, label %11615, label %11637

11615:                                            ; preds = %11608
  %11616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11617 = call i32 @fileno(ptr noundef %11616) #11
  %11618 = call i32 @isatty(i32 noundef %11617) #11
  %11619 = icmp ne i32 %11618, 0
  br i1 %11619, label %11620, label %11637

11620:                                            ; preds = %11615
  %11621 = load i32, ptr %286, align 4, !tbaa !5
  %11622 = call ptr @__errno_location() #12
  store i32 %11621, ptr %11622, align 4, !tbaa !5
  %11623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11624 = load i32, ptr @test_count, align 4, !tbaa !5
  %11625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11626 = load i32, ptr %11625, align 4, !tbaa !5
  %11627 = call ptr @s2n_strerror(i32 noundef %11626, ptr noundef @.str.25)
  %11628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11629 = load i32, ptr %11628, align 4, !tbaa !5
  %11630 = call ptr @s2n_strerror_debug(i32 noundef %11629, ptr noundef @.str.25)
  %11631 = call ptr @__errno_location() #12
  %11632 = load i32, ptr %11631, align 4, !tbaa !5
  %11633 = call ptr @strerror(i32 noundef %11632) #11
  %11634 = call ptr @__errno_location() #12
  %11635 = load i32, ptr %11634, align 4, !tbaa !5
  %11636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11623, ptr noundef @.str.23, i32 noundef %11624, ptr noundef @.str.122, ptr noundef @.str.22, i32 noundef 632, ptr noundef %11627, ptr noundef %11630, ptr noundef %11633, i32 noundef %11635) #11
  br label %11654

11637:                                            ; preds = %11615, %11608
  %11638 = load i32, ptr %286, align 4, !tbaa !5
  %11639 = call ptr @__errno_location() #12
  store i32 %11638, ptr %11639, align 4, !tbaa !5
  %11640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11641 = load i32, ptr @test_count, align 4, !tbaa !5
  %11642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11643 = load i32, ptr %11642, align 4, !tbaa !5
  %11644 = call ptr @s2n_strerror(i32 noundef %11643, ptr noundef @.str.25)
  %11645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11646 = load i32, ptr %11645, align 4, !tbaa !5
  %11647 = call ptr @s2n_strerror_debug(i32 noundef %11646, ptr noundef @.str.25)
  %11648 = call ptr @__errno_location() #12
  %11649 = load i32, ptr %11648, align 4, !tbaa !5
  %11650 = call ptr @strerror(i32 noundef %11649) #11
  %11651 = call ptr @__errno_location() #12
  %11652 = load i32, ptr %11651, align 4, !tbaa !5
  %11653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11640, ptr noundef @.str.26, i32 noundef %11641, ptr noundef @.str.122, ptr noundef @.str.22, i32 noundef 632, ptr noundef %11644, ptr noundef %11647, ptr noundef %11650, i32 noundef %11652) #11
  br label %11654

11654:                                            ; preds = %11637, %11620
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %11655

11655:                                            ; preds = %11654
  br label %11656

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

11657:                                            ; No predecessors!
  br label %11658

11658:                                            ; preds = %11657
  br label %11659

11659:                                            ; preds = %11658, %11601
  br label %11660

11660:                                            ; preds = %11659
  br label %11661

11661:                                            ; preds = %11660
  br label %11662

11662:                                            ; preds = %11661
  %11663 = load i32, ptr @test_count, align 4, !tbaa !5
  %11664 = add nsw i32 %11663, 1
  store i32 %11664, ptr @test_count, align 4, !tbaa !5
  %11665 = load i64, ptr @cb_session_data_len, align 8, !tbaa !15
  %11666 = trunc i64 %11665 to i32
  %11667 = call i32 @s2n_stuffer_skip_write(ptr noundef %284, i32 noundef %11666)
  %11668 = icmp eq i32 %11667, -1
  br i1 %11668, label %11669, label %11722

11669:                                            ; preds = %11662
  br label %11670

11670:                                            ; preds = %11669
  br label %11671

11671:                                            ; preds = %11670
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #11
  %11672 = call ptr @__errno_location() #12
  %11673 = load i32, ptr %11672, align 4, !tbaa !5
  store i32 %11673, ptr %287, align 4, !tbaa !5
  %11674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11675 = call i32 @s2n_print_stacktrace(ptr noundef %11674)
  %11676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11677 = trunc i8 %11676 to i1
  br i1 %11677, label %11678, label %11700

11678:                                            ; preds = %11671
  %11679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11680 = call i32 @fileno(ptr noundef %11679) #11
  %11681 = call i32 @isatty(i32 noundef %11680) #11
  %11682 = icmp ne i32 %11681, 0
  br i1 %11682, label %11683, label %11700

11683:                                            ; preds = %11678
  %11684 = load i32, ptr %287, align 4, !tbaa !5
  %11685 = call ptr @__errno_location() #12
  store i32 %11684, ptr %11685, align 4, !tbaa !5
  %11686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11687 = load i32, ptr @test_count, align 4, !tbaa !5
  %11688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11689 = load i32, ptr %11688, align 4, !tbaa !5
  %11690 = call ptr @s2n_strerror(i32 noundef %11689, ptr noundef @.str.25)
  %11691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11692 = load i32, ptr %11691, align 4, !tbaa !5
  %11693 = call ptr @s2n_strerror_debug(i32 noundef %11692, ptr noundef @.str.25)
  %11694 = call ptr @__errno_location() #12
  %11695 = load i32, ptr %11694, align 4, !tbaa !5
  %11696 = call ptr @strerror(i32 noundef %11695) #11
  %11697 = call ptr @__errno_location() #12
  %11698 = load i32, ptr %11697, align 4, !tbaa !5
  %11699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11686, ptr noundef @.str.23, i32 noundef %11687, ptr noundef @.str.123, ptr noundef @.str.22, i32 noundef 633, ptr noundef %11690, ptr noundef %11693, ptr noundef %11696, i32 noundef %11698) #11
  br label %11717

11700:                                            ; preds = %11678, %11671
  %11701 = load i32, ptr %287, align 4, !tbaa !5
  %11702 = call ptr @__errno_location() #12
  store i32 %11701, ptr %11702, align 4, !tbaa !5
  %11703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11704 = load i32, ptr @test_count, align 4, !tbaa !5
  %11705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11706 = load i32, ptr %11705, align 4, !tbaa !5
  %11707 = call ptr @s2n_strerror(i32 noundef %11706, ptr noundef @.str.25)
  %11708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11709 = load i32, ptr %11708, align 4, !tbaa !5
  %11710 = call ptr @s2n_strerror_debug(i32 noundef %11709, ptr noundef @.str.25)
  %11711 = call ptr @__errno_location() #12
  %11712 = load i32, ptr %11711, align 4, !tbaa !5
  %11713 = call ptr @strerror(i32 noundef %11712) #11
  %11714 = call ptr @__errno_location() #12
  %11715 = load i32, ptr %11714, align 4, !tbaa !5
  %11716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11703, ptr noundef @.str.26, i32 noundef %11704, ptr noundef @.str.123, ptr noundef @.str.22, i32 noundef 633, ptr noundef %11707, ptr noundef %11710, ptr noundef %11713, i32 noundef %11715) #11
  br label %11717

11717:                                            ; preds = %11700, %11683
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #11
  br label %11718

11718:                                            ; preds = %11717
  br label %11719

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

11720:                                            ; No predecessors!
  br label %11721

11721:                                            ; preds = %11720
  br label %11722

11722:                                            ; preds = %11721, %11662
  br label %11723

11723:                                            ; preds = %11722
  br label %11724

11724:                                            ; preds = %11723
  br label %11725

11725:                                            ; preds = %11724
  %11726 = load i32, ptr @test_count, align 4, !tbaa !5
  %11727 = add nsw i32 %11726, 1
  store i32 %11727, ptr @test_count, align 4, !tbaa !5
  %11728 = call i32 @s2n_stuffer_skip_read(ptr noundef %284, i32 noundef 1)
  %11729 = icmp eq i32 %11728, -1
  br i1 %11729, label %11730, label %11783

11730:                                            ; preds = %11725
  br label %11731

11731:                                            ; preds = %11730
  br label %11732

11732:                                            ; preds = %11731
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  %11733 = call ptr @__errno_location() #12
  %11734 = load i32, ptr %11733, align 4, !tbaa !5
  store i32 %11734, ptr %288, align 4, !tbaa !5
  %11735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11736 = call i32 @s2n_print_stacktrace(ptr noundef %11735)
  %11737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11738 = trunc i8 %11737 to i1
  br i1 %11738, label %11739, label %11761

11739:                                            ; preds = %11732
  %11740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11741 = call i32 @fileno(ptr noundef %11740) #11
  %11742 = call i32 @isatty(i32 noundef %11741) #11
  %11743 = icmp ne i32 %11742, 0
  br i1 %11743, label %11744, label %11761

11744:                                            ; preds = %11739
  %11745 = load i32, ptr %288, align 4, !tbaa !5
  %11746 = call ptr @__errno_location() #12
  store i32 %11745, ptr %11746, align 4, !tbaa !5
  %11747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11748 = load i32, ptr @test_count, align 4, !tbaa !5
  %11749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11750 = load i32, ptr %11749, align 4, !tbaa !5
  %11751 = call ptr @s2n_strerror(i32 noundef %11750, ptr noundef @.str.25)
  %11752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11753 = load i32, ptr %11752, align 4, !tbaa !5
  %11754 = call ptr @s2n_strerror_debug(i32 noundef %11753, ptr noundef @.str.25)
  %11755 = call ptr @__errno_location() #12
  %11756 = load i32, ptr %11755, align 4, !tbaa !5
  %11757 = call ptr @strerror(i32 noundef %11756) #11
  %11758 = call ptr @__errno_location() #12
  %11759 = load i32, ptr %11758, align 4, !tbaa !5
  %11760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11747, ptr noundef @.str.23, i32 noundef %11748, ptr noundef @.str.124, ptr noundef @.str.22, i32 noundef 638, ptr noundef %11751, ptr noundef %11754, ptr noundef %11757, i32 noundef %11759) #11
  br label %11778

11761:                                            ; preds = %11739, %11732
  %11762 = load i32, ptr %288, align 4, !tbaa !5
  %11763 = call ptr @__errno_location() #12
  store i32 %11762, ptr %11763, align 4, !tbaa !5
  %11764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11765 = load i32, ptr @test_count, align 4, !tbaa !5
  %11766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11767 = load i32, ptr %11766, align 4, !tbaa !5
  %11768 = call ptr @s2n_strerror(i32 noundef %11767, ptr noundef @.str.25)
  %11769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11770 = load i32, ptr %11769, align 4, !tbaa !5
  %11771 = call ptr @s2n_strerror_debug(i32 noundef %11770, ptr noundef @.str.25)
  %11772 = call ptr @__errno_location() #12
  %11773 = load i32, ptr %11772, align 4, !tbaa !5
  %11774 = call ptr @strerror(i32 noundef %11773) #11
  %11775 = call ptr @__errno_location() #12
  %11776 = load i32, ptr %11775, align 4, !tbaa !5
  %11777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11764, ptr noundef @.str.26, i32 noundef %11765, ptr noundef @.str.124, ptr noundef @.str.22, i32 noundef 638, ptr noundef %11768, ptr noundef %11771, ptr noundef %11774, i32 noundef %11776) #11
  br label %11778

11778:                                            ; preds = %11761, %11744
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  br label %11779

11779:                                            ; preds = %11778
  br label %11780

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

11781:                                            ; No predecessors!
  br label %11782

11782:                                            ; preds = %11781
  br label %11783

11783:                                            ; preds = %11782, %11725
  br label %11784

11784:                                            ; preds = %11783
  br label %11785

11785:                                            ; preds = %11784
  call void @llvm.lifetime.start.p0(i64 2, ptr %289) #11
  store i16 0, ptr %289, align 2, !tbaa !49
  br label %11786

11786:                                            ; preds = %11785
  %11787 = load i32, ptr @test_count, align 4, !tbaa !5
  %11788 = add nsw i32 %11787, 1
  store i32 %11788, ptr @test_count, align 4, !tbaa !5
  %11789 = call i32 @s2n_stuffer_read_uint16(ptr noundef %284, ptr noundef %289)
  %11790 = icmp eq i32 %11789, -1
  br i1 %11790, label %11791, label %11844

11791:                                            ; preds = %11786
  br label %11792

11792:                                            ; preds = %11791
  br label %11793

11793:                                            ; preds = %11792
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #11
  %11794 = call ptr @__errno_location() #12
  %11795 = load i32, ptr %11794, align 4, !tbaa !5
  store i32 %11795, ptr %290, align 4, !tbaa !5
  %11796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11797 = call i32 @s2n_print_stacktrace(ptr noundef %11796)
  %11798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11799 = trunc i8 %11798 to i1
  br i1 %11799, label %11800, label %11822

11800:                                            ; preds = %11793
  %11801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11802 = call i32 @fileno(ptr noundef %11801) #11
  %11803 = call i32 @isatty(i32 noundef %11802) #11
  %11804 = icmp ne i32 %11803, 0
  br i1 %11804, label %11805, label %11822

11805:                                            ; preds = %11800
  %11806 = load i32, ptr %290, align 4, !tbaa !5
  %11807 = call ptr @__errno_location() #12
  store i32 %11806, ptr %11807, align 4, !tbaa !5
  %11808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11809 = load i32, ptr @test_count, align 4, !tbaa !5
  %11810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11811 = load i32, ptr %11810, align 4, !tbaa !5
  %11812 = call ptr @s2n_strerror(i32 noundef %11811, ptr noundef @.str.25)
  %11813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11814 = load i32, ptr %11813, align 4, !tbaa !5
  %11815 = call ptr @s2n_strerror_debug(i32 noundef %11814, ptr noundef @.str.25)
  %11816 = call ptr @__errno_location() #12
  %11817 = load i32, ptr %11816, align 4, !tbaa !5
  %11818 = call ptr @strerror(i32 noundef %11817) #11
  %11819 = call ptr @__errno_location() #12
  %11820 = load i32, ptr %11819, align 4, !tbaa !5
  %11821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11808, ptr noundef @.str.23, i32 noundef %11809, ptr noundef @.str.125, ptr noundef @.str.22, i32 noundef 641, ptr noundef %11812, ptr noundef %11815, ptr noundef %11818, i32 noundef %11820) #11
  br label %11839

11822:                                            ; preds = %11800, %11793
  %11823 = load i32, ptr %290, align 4, !tbaa !5
  %11824 = call ptr @__errno_location() #12
  store i32 %11823, ptr %11824, align 4, !tbaa !5
  %11825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11826 = load i32, ptr @test_count, align 4, !tbaa !5
  %11827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11828 = load i32, ptr %11827, align 4, !tbaa !5
  %11829 = call ptr @s2n_strerror(i32 noundef %11828, ptr noundef @.str.25)
  %11830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11831 = load i32, ptr %11830, align 4, !tbaa !5
  %11832 = call ptr @s2n_strerror_debug(i32 noundef %11831, ptr noundef @.str.25)
  %11833 = call ptr @__errno_location() #12
  %11834 = load i32, ptr %11833, align 4, !tbaa !5
  %11835 = call ptr @strerror(i32 noundef %11834) #11
  %11836 = call ptr @__errno_location() #12
  %11837 = load i32, ptr %11836, align 4, !tbaa !5
  %11838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11825, ptr noundef @.str.26, i32 noundef %11826, ptr noundef @.str.125, ptr noundef @.str.22, i32 noundef 641, ptr noundef %11829, ptr noundef %11832, ptr noundef %11835, i32 noundef %11837) #11
  br label %11839

11839:                                            ; preds = %11822, %11805
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #11
  br label %11840

11840:                                            ; preds = %11839
  br label %11841

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

11842:                                            ; No predecessors!
  br label %11843

11843:                                            ; preds = %11842
  br label %11844

11844:                                            ; preds = %11843, %11786
  br label %11845

11845:                                            ; preds = %11844
  br label %11846

11846:                                            ; preds = %11845
  br label %11847

11847:                                            ; preds = %11846
  %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 i16, ptr %289, align 2, !tbaa !49
  %11851 = zext i16 %11850 to i64
  %11852 = icmp eq i64 %11851, 3
  br i1 %11852, label %11906, label %11853

11853:                                            ; preds = %11847
  br label %11854

11854:                                            ; preds = %11853
  br label %11855

11855:                                            ; preds = %11854
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %11856 = call ptr @__errno_location() #12
  %11857 = load i32, ptr %11856, align 4, !tbaa !5
  store i32 %11857, ptr %291, align 4, !tbaa !5
  %11858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11859 = call i32 @s2n_print_stacktrace(ptr noundef %11858)
  %11860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11861 = trunc i8 %11860 to i1
  br i1 %11861, label %11862, label %11884

11862:                                            ; preds = %11855
  %11863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11864 = call i32 @fileno(ptr noundef %11863) #11
  %11865 = call i32 @isatty(i32 noundef %11864) #11
  %11866 = icmp ne i32 %11865, 0
  br i1 %11866, label %11867, label %11884

11867:                                            ; preds = %11862
  %11868 = load i32, ptr %291, align 4, !tbaa !5
  %11869 = call ptr @__errno_location() #12
  store i32 %11868, ptr %11869, align 4, !tbaa !5
  %11870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11871 = load i32, ptr @test_count, align 4, !tbaa !5
  %11872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11873 = load i32, ptr %11872, align 4, !tbaa !5
  %11874 = call ptr @s2n_strerror(i32 noundef %11873, ptr noundef @.str.25)
  %11875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11876 = load i32, ptr %11875, align 4, !tbaa !5
  %11877 = call ptr @s2n_strerror_debug(i32 noundef %11876, ptr noundef @.str.25)
  %11878 = call ptr @__errno_location() #12
  %11879 = load i32, ptr %11878, align 4, !tbaa !5
  %11880 = call ptr @strerror(i32 noundef %11879) #11
  %11881 = call ptr @__errno_location() #12
  %11882 = load i32, ptr %11881, align 4, !tbaa !5
  %11883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11870, ptr noundef @.str.23, i32 noundef %11871, ptr noundef @.str.126, ptr noundef @.str.22, i32 noundef 642, ptr noundef %11874, ptr noundef %11877, ptr noundef %11880, i32 noundef %11882) #11
  br label %11901

11884:                                            ; preds = %11862, %11855
  %11885 = load i32, ptr %291, align 4, !tbaa !5
  %11886 = call ptr @__errno_location() #12
  store i32 %11885, ptr %11886, align 4, !tbaa !5
  %11887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11888 = load i32, ptr @test_count, align 4, !tbaa !5
  %11889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11890 = load i32, ptr %11889, align 4, !tbaa !5
  %11891 = call ptr @s2n_strerror(i32 noundef %11890, ptr noundef @.str.25)
  %11892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11893 = load i32, ptr %11892, align 4, !tbaa !5
  %11894 = call ptr @s2n_strerror_debug(i32 noundef %11893, ptr noundef @.str.25)
  %11895 = call ptr @__errno_location() #12
  %11896 = load i32, ptr %11895, align 4, !tbaa !5
  %11897 = call ptr @strerror(i32 noundef %11896) #11
  %11898 = call ptr @__errno_location() #12
  %11899 = load i32, ptr %11898, align 4, !tbaa !5
  %11900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11887, ptr noundef @.str.26, i32 noundef %11888, ptr noundef @.str.126, ptr noundef @.str.22, i32 noundef 642, ptr noundef %11891, ptr noundef %11894, ptr noundef %11897, i32 noundef %11899) #11
  br label %11901

11901:                                            ; preds = %11884, %11867
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %11902

11902:                                            ; preds = %11901
  br label %11903

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

11904:                                            ; No predecessors!
  br label %11905

11905:                                            ; preds = %11904
  br label %11906

11906:                                            ; preds = %11905, %11847
  br label %11907

11907:                                            ; preds = %11906
  br label %11908

11908:                                            ; preds = %11907
  call void @llvm.lifetime.start.p0(i64 8, ptr %292) #11
  %11909 = load i16, ptr %289, align 2, !tbaa !49
  %11910 = zext i16 %11909 to i32
  %11911 = call ptr @s2n_stuffer_raw_read(ptr noundef %284, i32 noundef %11910)
  store ptr %11911, ptr %292, align 8, !tbaa !9
  br label %11912

11912:                                            ; preds = %11908
  %11913 = load i32, ptr @test_count, align 4, !tbaa !5
  %11914 = add nsw i32 %11913, 1
  store i32 %11914, ptr @test_count, align 4, !tbaa !5
  %11915 = load ptr, ptr %292, align 8, !tbaa !9
  %11916 = icmp eq ptr %11915, null
  br i1 %11916, label %11917, label %11970

11917:                                            ; preds = %11912
  br label %11918

11918:                                            ; preds = %11917
  br label %11919

11919:                                            ; preds = %11918
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %11920 = call ptr @__errno_location() #12
  %11921 = load i32, ptr %11920, align 4, !tbaa !5
  store i32 %11921, ptr %293, align 4, !tbaa !5
  %11922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11923 = call i32 @s2n_print_stacktrace(ptr noundef %11922)
  %11924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11925 = trunc i8 %11924 to i1
  br i1 %11925, label %11926, label %11948

11926:                                            ; preds = %11919
  %11927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11928 = call i32 @fileno(ptr noundef %11927) #11
  %11929 = call i32 @isatty(i32 noundef %11928) #11
  %11930 = icmp ne i32 %11929, 0
  br i1 %11930, label %11931, label %11948

11931:                                            ; preds = %11926
  %11932 = load i32, ptr %293, align 4, !tbaa !5
  %11933 = call ptr @__errno_location() #12
  store i32 %11932, ptr %11933, align 4, !tbaa !5
  %11934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11935 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11937, ptr noundef @.str.25)
  %11939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11940 = load i32, ptr %11939, align 4, !tbaa !5
  %11941 = call ptr @s2n_strerror_debug(i32 noundef %11940, ptr noundef @.str.25)
  %11942 = call ptr @__errno_location() #12
  %11943 = load i32, ptr %11942, align 4, !tbaa !5
  %11944 = call ptr @strerror(i32 noundef %11943) #11
  %11945 = call ptr @__errno_location() #12
  %11946 = load i32, ptr %11945, align 4, !tbaa !5
  %11947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11934, ptr noundef @.str.23, i32 noundef %11935, ptr noundef @.str.127, ptr noundef @.str.22, i32 noundef 645, ptr noundef %11938, ptr noundef %11941, ptr noundef %11944, i32 noundef %11946) #11
  br label %11965

11948:                                            ; preds = %11926, %11919
  %11949 = load i32, ptr %293, align 4, !tbaa !5
  %11950 = call ptr @__errno_location() #12
  store i32 %11949, ptr %11950, align 4, !tbaa !5
  %11951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11952 = load i32, ptr @test_count, align 4, !tbaa !5
  %11953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11954 = load i32, ptr %11953, align 4, !tbaa !5
  %11955 = call ptr @s2n_strerror(i32 noundef %11954, ptr noundef @.str.25)
  %11956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11957 = load i32, ptr %11956, align 4, !tbaa !5
  %11958 = call ptr @s2n_strerror_debug(i32 noundef %11957, ptr noundef @.str.25)
  %11959 = call ptr @__errno_location() #12
  %11960 = load i32, ptr %11959, align 4, !tbaa !5
  %11961 = call ptr @strerror(i32 noundef %11960) #11
  %11962 = call ptr @__errno_location() #12
  %11963 = load i32, ptr %11962, align 4, !tbaa !5
  %11964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11951, ptr noundef @.str.26, i32 noundef %11952, ptr noundef @.str.127, ptr noundef @.str.22, i32 noundef 645, ptr noundef %11955, ptr noundef %11958, ptr noundef %11961, i32 noundef %11963) #11
  br label %11965

11965:                                            ; preds = %11948, %11931
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %11966

11966:                                            ; preds = %11965
  br label %11967

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

11968:                                            ; No predecessors!
  br label %11969

11969:                                            ; preds = %11968
  br label %11970

11970:                                            ; preds = %11969, %11912
  br label %11971

11971:                                            ; preds = %11970
  br label %11972

11972:                                            ; preds = %11971
  br label %11973

11973:                                            ; preds = %11972
  %11974 = load i16, ptr %289, align 2, !tbaa !49
  %11975 = zext i16 %11974 to i32
  %11976 = icmp ne i32 %11975, 0
  br i1 %11976, label %11977, label %12043

11977:                                            ; preds = %11973
  br label %11978

11978:                                            ; preds = %11977
  %11979 = load i32, ptr @test_count, align 4, !tbaa !5
  %11980 = add nsw i32 %11979, 1
  store i32 %11980, ptr @test_count, align 4, !tbaa !5
  %11981 = load ptr, ptr %292, align 8, !tbaa !9
  %11982 = getelementptr inbounds [3 x i8], ptr %235, i64 0, i64 0
  %11983 = load i16, ptr %289, align 2, !tbaa !49
  %11984 = zext i16 %11983 to i64
  %11985 = call i32 @memcmp(ptr noundef %11981, ptr noundef %11982, i64 noundef %11984) #14
  %11986 = icmp eq i32 %11985, 0
  br i1 %11986, label %12040, label %11987

11987:                                            ; preds = %11978
  br label %11988

11988:                                            ; preds = %11987
  br label %11989

11989:                                            ; preds = %11988
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %11990 = call ptr @__errno_location() #12
  %11991 = load i32, ptr %11990, align 4, !tbaa !5
  store i32 %11991, ptr %294, align 4, !tbaa !5
  %11992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11993 = call i32 @s2n_print_stacktrace(ptr noundef %11992)
  %11994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11995 = trunc i8 %11994 to i1
  br i1 %11995, label %11996, label %12018

11996:                                            ; preds = %11989
  %11997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11998 = call i32 @fileno(ptr noundef %11997) #11
  %11999 = call i32 @isatty(i32 noundef %11998) #11
  %12000 = icmp ne i32 %11999, 0
  br i1 %12000, label %12001, label %12018

12001:                                            ; preds = %11996
  %12002 = load i32, ptr %294, align 4, !tbaa !5
  %12003 = call ptr @__errno_location() #12
  store i32 %12002, ptr %12003, align 4, !tbaa !5
  %12004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12005 = load i32, ptr @test_count, align 4, !tbaa !5
  %12006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12007 = load i32, ptr %12006, align 4, !tbaa !5
  %12008 = call ptr @s2n_strerror(i32 noundef %12007, ptr noundef @.str.25)
  %12009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12010 = load i32, ptr %12009, align 4, !tbaa !5
  %12011 = call ptr @s2n_strerror_debug(i32 noundef %12010, ptr noundef @.str.25)
  %12012 = call ptr @__errno_location() #12
  %12013 = load i32, ptr %12012, align 4, !tbaa !5
  %12014 = call ptr @strerror(i32 noundef %12013) #11
  %12015 = call ptr @__errno_location() #12
  %12016 = load i32, ptr %12015, align 4, !tbaa !5
  %12017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12004, ptr noundef @.str.23, i32 noundef %12005, ptr noundef @.str.128, ptr noundef @.str.22, i32 noundef 646, ptr noundef %12008, ptr noundef %12011, ptr noundef %12014, i32 noundef %12016) #11
  br label %12035

12018:                                            ; preds = %11996, %11989
  %12019 = load i32, ptr %294, align 4, !tbaa !5
  %12020 = call ptr @__errno_location() #12
  store i32 %12019, ptr %12020, align 4, !tbaa !5
  %12021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12022 = load i32, ptr @test_count, align 4, !tbaa !5
  %12023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12024 = load i32, ptr %12023, align 4, !tbaa !5
  %12025 = call ptr @s2n_strerror(i32 noundef %12024, ptr noundef @.str.25)
  %12026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12027 = load i32, ptr %12026, align 4, !tbaa !5
  %12028 = call ptr @s2n_strerror_debug(i32 noundef %12027, ptr noundef @.str.25)
  %12029 = call ptr @__errno_location() #12
  %12030 = load i32, ptr %12029, align 4, !tbaa !5
  %12031 = call ptr @strerror(i32 noundef %12030) #11
  %12032 = call ptr @__errno_location() #12
  %12033 = load i32, ptr %12032, align 4, !tbaa !5
  %12034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12021, ptr noundef @.str.26, i32 noundef %12022, ptr noundef @.str.128, ptr noundef @.str.22, i32 noundef 646, ptr noundef %12025, ptr noundef %12028, ptr noundef %12031, i32 noundef %12033) #11
  br label %12035

12035:                                            ; preds = %12018, %12001
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %12036

12036:                                            ; preds = %12035
  br label %12037

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

12038:                                            ; No predecessors!
  br label %12039

12039:                                            ; preds = %12038
  br label %12040

12040:                                            ; preds = %12039, %11978
  br label %12041

12041:                                            ; preds = %12040
  br label %12042

12042:                                            ; preds = %12041
  br label %12043

12043:                                            ; preds = %12042, %11973
  br label %12044

12044:                                            ; preds = %12043
  br label %12045

12045:                                            ; preds = %12044
  call void @llvm.lifetime.end.p0(i64 8, ptr %292) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %289) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %295, ptr align 1 @__const.main.test_ticket_age_add, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr %296) #11
  store i8 12, ptr %296, align 1, !tbaa !51
  br label %12046

12046:                                            ; preds = %12045
  %12047 = load i32, ptr @test_count, align 4, !tbaa !5
  %12048 = add nsw i32 %12047, 1
  store i32 %12048, ptr @test_count, align 4, !tbaa !5
  %12049 = load i8, ptr %296, align 1, !tbaa !51
  %12050 = zext i8 %12049 to i32
  %12051 = call i32 @s2n_stuffer_skip_read(ptr noundef %284, i32 noundef %12050)
  %12052 = icmp eq i32 %12051, -1
  br i1 %12052, label %12053, label %12106

12053:                                            ; preds = %12046
  br label %12054

12054:                                            ; preds = %12053
  br label %12055

12055:                                            ; preds = %12054
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #11
  %12056 = call ptr @__errno_location() #12
  %12057 = load i32, ptr %12056, align 4, !tbaa !5
  store i32 %12057, ptr %297, align 4, !tbaa !5
  %12058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12059 = call i32 @s2n_print_stacktrace(ptr noundef %12058)
  %12060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12061 = trunc i8 %12060 to i1
  br i1 %12061, label %12062, label %12084

12062:                                            ; preds = %12055
  %12063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12064 = call i32 @fileno(ptr noundef %12063) #11
  %12065 = call i32 @isatty(i32 noundef %12064) #11
  %12066 = icmp ne i32 %12065, 0
  br i1 %12066, label %12067, label %12084

12067:                                            ; preds = %12062
  %12068 = load i32, ptr %297, align 4, !tbaa !5
  %12069 = call ptr @__errno_location() #12
  store i32 %12068, ptr %12069, align 4, !tbaa !5
  %12070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12071 = load i32, ptr @test_count, align 4, !tbaa !5
  %12072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12073 = load i32, ptr %12072, align 4, !tbaa !5
  %12074 = call ptr @s2n_strerror(i32 noundef %12073, ptr noundef @.str.25)
  %12075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12076 = load i32, ptr %12075, align 4, !tbaa !5
  %12077 = call ptr @s2n_strerror_debug(i32 noundef %12076, ptr noundef @.str.25)
  %12078 = call ptr @__errno_location() #12
  %12079 = load i32, ptr %12078, align 4, !tbaa !5
  %12080 = call ptr @strerror(i32 noundef %12079) #11
  %12081 = call ptr @__errno_location() #12
  %12082 = load i32, ptr %12081, align 4, !tbaa !5
  %12083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12070, ptr noundef @.str.23, i32 noundef %12071, ptr noundef @.str.129, ptr noundef @.str.22, i32 noundef 657, ptr noundef %12074, ptr noundef %12077, ptr noundef %12080, i32 noundef %12082) #11
  br label %12101

12084:                                            ; preds = %12062, %12055
  %12085 = load i32, ptr %297, align 4, !tbaa !5
  %12086 = call ptr @__errno_location() #12
  store i32 %12085, ptr %12086, align 4, !tbaa !5
  %12087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12088 = load i32, ptr @test_count, align 4, !tbaa !5
  %12089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12090 = load i32, ptr %12089, align 4, !tbaa !5
  %12091 = call ptr @s2n_strerror(i32 noundef %12090, ptr noundef @.str.25)
  %12092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12093 = load i32, ptr %12092, align 4, !tbaa !5
  %12094 = call ptr @s2n_strerror_debug(i32 noundef %12093, ptr noundef @.str.25)
  %12095 = call ptr @__errno_location() #12
  %12096 = load i32, ptr %12095, align 4, !tbaa !5
  %12097 = call ptr @strerror(i32 noundef %12096) #11
  %12098 = call ptr @__errno_location() #12
  %12099 = load i32, ptr %12098, align 4, !tbaa !5
  %12100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12087, ptr noundef @.str.26, i32 noundef %12088, ptr noundef @.str.129, ptr noundef @.str.22, i32 noundef 657, ptr noundef %12091, ptr noundef %12094, ptr noundef %12097, i32 noundef %12099) #11
  br label %12101

12101:                                            ; preds = %12084, %12067
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #11
  br label %12102

12102:                                            ; preds = %12101
  br label %12103

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

12104:                                            ; No predecessors!
  br label %12105

12105:                                            ; preds = %12104
  br label %12106

12106:                                            ; preds = %12105, %12046
  br label %12107

12107:                                            ; preds = %12106
  br label %12108

12108:                                            ; preds = %12107
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  call void @llvm.memset.p0.i64(ptr align 1 %298, i8 0, i64 4, i1 false)
  br label %12109

12109:                                            ; preds = %12108
  %12110 = load i32, ptr @test_count, align 4, !tbaa !5
  %12111 = add nsw i32 %12110, 1
  store i32 %12111, ptr @test_count, align 4, !tbaa !5
  %12112 = getelementptr inbounds [4 x i8], ptr %298, i64 0, i64 0
  %12113 = call i32 @s2n_stuffer_read_bytes(ptr noundef %284, ptr noundef %12112, i32 noundef 4)
  %12114 = icmp eq i32 %12113, -1
  br i1 %12114, label %12115, label %12168

12115:                                            ; preds = %12109
  br label %12116

12116:                                            ; preds = %12115
  br label %12117

12117:                                            ; preds = %12116
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #11
  %12118 = call ptr @__errno_location() #12
  %12119 = load i32, ptr %12118, align 4, !tbaa !5
  store i32 %12119, ptr %299, align 4, !tbaa !5
  %12120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12121 = call i32 @s2n_print_stacktrace(ptr noundef %12120)
  %12122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12123 = trunc i8 %12122 to i1
  br i1 %12123, label %12124, label %12146

12124:                                            ; preds = %12117
  %12125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12126 = call i32 @fileno(ptr noundef %12125) #11
  %12127 = call i32 @isatty(i32 noundef %12126) #11
  %12128 = icmp ne i32 %12127, 0
  br i1 %12128, label %12129, label %12146

12129:                                            ; preds = %12124
  %12130 = load i32, ptr %299, align 4, !tbaa !5
  %12131 = call ptr @__errno_location() #12
  store i32 %12130, ptr %12131, align 4, !tbaa !5
  %12132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12133 = load i32, ptr @test_count, align 4, !tbaa !5
  %12134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12135 = load i32, ptr %12134, align 4, !tbaa !5
  %12136 = call ptr @s2n_strerror(i32 noundef %12135, ptr noundef @.str.25)
  %12137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12138 = load i32, ptr %12137, align 4, !tbaa !5
  %12139 = call ptr @s2n_strerror_debug(i32 noundef %12138, ptr noundef @.str.25)
  %12140 = call ptr @__errno_location() #12
  %12141 = load i32, ptr %12140, align 4, !tbaa !5
  %12142 = call ptr @strerror(i32 noundef %12141) #11
  %12143 = call ptr @__errno_location() #12
  %12144 = load i32, ptr %12143, align 4, !tbaa !5
  %12145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12132, ptr noundef @.str.23, i32 noundef %12133, ptr noundef @.str.130, ptr noundef @.str.22, i32 noundef 660, ptr noundef %12136, ptr noundef %12139, ptr noundef %12142, i32 noundef %12144) #11
  br label %12163

12146:                                            ; preds = %12124, %12117
  %12147 = load i32, ptr %299, align 4, !tbaa !5
  %12148 = call ptr @__errno_location() #12
  store i32 %12147, ptr %12148, align 4, !tbaa !5
  %12149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12150 = load i32, ptr @test_count, align 4, !tbaa !5
  %12151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12152 = load i32, ptr %12151, align 4, !tbaa !5
  %12153 = call ptr @s2n_strerror(i32 noundef %12152, ptr noundef @.str.25)
  %12154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12155 = load i32, ptr %12154, align 4, !tbaa !5
  %12156 = call ptr @s2n_strerror_debug(i32 noundef %12155, ptr noundef @.str.25)
  %12157 = call ptr @__errno_location() #12
  %12158 = load i32, ptr %12157, align 4, !tbaa !5
  %12159 = call ptr @strerror(i32 noundef %12158) #11
  %12160 = call ptr @__errno_location() #12
  %12161 = load i32, ptr %12160, align 4, !tbaa !5
  %12162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12149, ptr noundef @.str.26, i32 noundef %12150, ptr noundef @.str.130, ptr noundef @.str.22, i32 noundef 660, ptr noundef %12153, ptr noundef %12156, ptr noundef %12159, i32 noundef %12161) #11
  br label %12163

12163:                                            ; preds = %12146, %12129
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #11
  br label %12164

12164:                                            ; preds = %12163
  br label %12165

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

12166:                                            ; No predecessors!
  br label %12167

12167:                                            ; preds = %12166
  br label %12168

12168:                                            ; preds = %12167, %12109
  br label %12169

12169:                                            ; preds = %12168
  br label %12170

12170:                                            ; preds = %12169
  br label %12171

12171:                                            ; preds = %12170
  br label %12172

12172:                                            ; preds = %12171
  %12173 = load i32, ptr @test_count, align 4, !tbaa !5
  %12174 = add nsw i32 %12173, 1
  store i32 %12174, ptr @test_count, align 4, !tbaa !5
  %12175 = getelementptr inbounds [4 x i8], ptr %298, i64 0, i64 0
  %12176 = getelementptr inbounds [4 x i8], ptr %295, i64 0, i64 0
  %12177 = call i32 @memcmp(ptr noundef %12175, ptr noundef %12176, i64 noundef 4) #14
  %12178 = icmp eq i32 %12177, 0
  br i1 %12178, label %12232, label %12179

12179:                                            ; preds = %12172
  br label %12180

12180:                                            ; preds = %12179
  br label %12181

12181:                                            ; preds = %12180
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #11
  %12182 = call ptr @__errno_location() #12
  %12183 = load i32, ptr %12182, align 4, !tbaa !5
  store i32 %12183, ptr %300, align 4, !tbaa !5
  %12184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12185 = call i32 @s2n_print_stacktrace(ptr noundef %12184)
  %12186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12187 = trunc i8 %12186 to i1
  br i1 %12187, label %12188, label %12210

12188:                                            ; preds = %12181
  %12189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12190 = call i32 @fileno(ptr noundef %12189) #11
  %12191 = call i32 @isatty(i32 noundef %12190) #11
  %12192 = icmp ne i32 %12191, 0
  br i1 %12192, label %12193, label %12210

12193:                                            ; preds = %12188
  %12194 = load i32, ptr %300, align 4, !tbaa !5
  %12195 = call ptr @__errno_location() #12
  store i32 %12194, ptr %12195, align 4, !tbaa !5
  %12196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12197 = load i32, ptr @test_count, align 4, !tbaa !5
  %12198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12199 = load i32, ptr %12198, align 4, !tbaa !5
  %12200 = call ptr @s2n_strerror(i32 noundef %12199, ptr noundef @.str.25)
  %12201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12202 = load i32, ptr %12201, align 4, !tbaa !5
  %12203 = call ptr @s2n_strerror_debug(i32 noundef %12202, ptr noundef @.str.25)
  %12204 = call ptr @__errno_location() #12
  %12205 = load i32, ptr %12204, align 4, !tbaa !5
  %12206 = call ptr @strerror(i32 noundef %12205) #11
  %12207 = call ptr @__errno_location() #12
  %12208 = load i32, ptr %12207, align 4, !tbaa !5
  %12209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12196, ptr noundef @.str.23, i32 noundef %12197, ptr noundef @.str.131, ptr noundef @.str.22, i32 noundef 661, ptr noundef %12200, ptr noundef %12203, ptr noundef %12206, i32 noundef %12208) #11
  br label %12227

12210:                                            ; preds = %12188, %12181
  %12211 = load i32, ptr %300, align 4, !tbaa !5
  %12212 = call ptr @__errno_location() #12
  store i32 %12211, ptr %12212, align 4, !tbaa !5
  %12213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12214 = load i32, ptr @test_count, align 4, !tbaa !5
  %12215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12216 = load i32, ptr %12215, align 4, !tbaa !5
  %12217 = call ptr @s2n_strerror(i32 noundef %12216, ptr noundef @.str.25)
  %12218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12219 = load i32, ptr %12218, align 4, !tbaa !5
  %12220 = call ptr @s2n_strerror_debug(i32 noundef %12219, ptr noundef @.str.25)
  %12221 = call ptr @__errno_location() #12
  %12222 = load i32, ptr %12221, align 4, !tbaa !5
  %12223 = call ptr @strerror(i32 noundef %12222) #11
  %12224 = call ptr @__errno_location() #12
  %12225 = load i32, ptr %12224, align 4, !tbaa !5
  %12226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12213, ptr noundef @.str.26, i32 noundef %12214, ptr noundef @.str.131, ptr noundef @.str.22, i32 noundef 661, ptr noundef %12217, ptr noundef %12220, ptr noundef %12223, i32 noundef %12225) #11
  br label %12227

12227:                                            ; preds = %12210, %12193
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #11
  br label %12228

12228:                                            ; preds = %12227
  br label %12229

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

12230:                                            ; No predecessors!
  br label %12231

12231:                                            ; preds = %12230
  br label %12232

12232:                                            ; preds = %12231, %12172
  br label %12233

12233:                                            ; preds = %12232
  br label %12234

12234:                                            ; preds = %12233
  br label %12235

12235:                                            ; preds = %12234
  br label %12236

12236:                                            ; preds = %12235
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %296) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %301, ptr align 1 @__const.main.test_lifetime, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #11
  %12237 = getelementptr inbounds [4 x i8], ptr %301, i64 0, i64 3
  %12238 = load i8, ptr %12237, align 1, !tbaa !51
  %12239 = zext i8 %12238 to i32
  %12240 = getelementptr inbounds [4 x i8], ptr %301, i64 0, i64 2
  %12241 = load i8, ptr %12240, align 1, !tbaa !51
  %12242 = zext i8 %12241 to i32
  %12243 = shl i32 %12242, 8
  %12244 = or i32 %12239, %12243
  %12245 = getelementptr inbounds [4 x i8], ptr %301, i64 0, i64 1
  %12246 = load i8, ptr %12245, align 1, !tbaa !51
  %12247 = zext i8 %12246 to i32
  %12248 = shl i32 %12247, 16
  %12249 = or i32 %12244, %12248
  %12250 = getelementptr inbounds [4 x i8], ptr %301, i64 0, i64 0
  %12251 = load i8, ptr %12250, align 1, !tbaa !51
  %12252 = zext i8 %12251 to i32
  %12253 = shl i32 %12252, 24
  %12254 = or i32 %12249, %12253
  store i32 %12254, ptr %302, align 4, !tbaa !5
  br label %12255

12255:                                            ; preds = %12236
  %12256 = load i32, ptr @test_count, align 4, !tbaa !5
  %12257 = add nsw i32 %12256, 1
  store i32 %12257, ptr @test_count, align 4, !tbaa !5
  %12258 = load i32, ptr %302, align 4, !tbaa !5
  %12259 = load i32, ptr @cb_session_lifetime, align 4, !tbaa !5
  %12260 = icmp eq i32 %12258, %12259
  br i1 %12260, label %12314, label %12261

12261:                                            ; preds = %12255
  br label %12262

12262:                                            ; preds = %12261
  br label %12263

12263:                                            ; preds = %12262
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #11
  %12264 = call ptr @__errno_location() #12
  %12265 = load i32, ptr %12264, align 4, !tbaa !5
  store i32 %12265, ptr %303, align 4, !tbaa !5
  %12266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12267 = call i32 @s2n_print_stacktrace(ptr noundef %12266)
  %12268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12269 = trunc i8 %12268 to i1
  br i1 %12269, label %12270, label %12292

12270:                                            ; preds = %12263
  %12271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12272 = call i32 @fileno(ptr noundef %12271) #11
  %12273 = call i32 @isatty(i32 noundef %12272) #11
  %12274 = icmp ne i32 %12273, 0
  br i1 %12274, label %12275, label %12292

12275:                                            ; preds = %12270
  %12276 = load i32, ptr %303, align 4, !tbaa !5
  %12277 = call ptr @__errno_location() #12
  store i32 %12276, ptr %12277, align 4, !tbaa !5
  %12278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12279 = load i32, ptr @test_count, align 4, !tbaa !5
  %12280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12281 = load i32, ptr %12280, align 4, !tbaa !5
  %12282 = call ptr @s2n_strerror(i32 noundef %12281, ptr noundef @.str.25)
  %12283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12284 = load i32, ptr %12283, align 4, !tbaa !5
  %12285 = call ptr @s2n_strerror_debug(i32 noundef %12284, ptr noundef @.str.25)
  %12286 = call ptr @__errno_location() #12
  %12287 = load i32, ptr %12286, align 4, !tbaa !5
  %12288 = call ptr @strerror(i32 noundef %12287) #11
  %12289 = call ptr @__errno_location() #12
  %12290 = load i32, ptr %12289, align 4, !tbaa !5
  %12291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12278, ptr noundef @.str.23, i32 noundef %12279, ptr noundef @.str.132, ptr noundef @.str.22, i32 noundef 668, ptr noundef %12282, ptr noundef %12285, ptr noundef %12288, i32 noundef %12290) #11
  br label %12309

12292:                                            ; preds = %12270, %12263
  %12293 = load i32, ptr %303, align 4, !tbaa !5
  %12294 = call ptr @__errno_location() #12
  store i32 %12293, ptr %12294, align 4, !tbaa !5
  %12295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12296 = load i32, ptr @test_count, align 4, !tbaa !5
  %12297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12298 = load i32, ptr %12297, align 4, !tbaa !5
  %12299 = call ptr @s2n_strerror(i32 noundef %12298, ptr noundef @.str.25)
  %12300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12301 = load i32, ptr %12300, align 4, !tbaa !5
  %12302 = call ptr @s2n_strerror_debug(i32 noundef %12301, ptr noundef @.str.25)
  %12303 = call ptr @__errno_location() #12
  %12304 = load i32, ptr %12303, align 4, !tbaa !5
  %12305 = call ptr @strerror(i32 noundef %12304) #11
  %12306 = call ptr @__errno_location() #12
  %12307 = load i32, ptr %12306, align 4, !tbaa !5
  %12308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12295, ptr noundef @.str.26, i32 noundef %12296, ptr noundef @.str.132, ptr noundef @.str.22, i32 noundef 668, ptr noundef %12299, ptr noundef %12302, ptr noundef %12305, i32 noundef %12307) #11
  br label %12309

12309:                                            ; preds = %12292, %12275
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #11
  br label %12310

12310:                                            ; preds = %12309
  br label %12311

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

12312:                                            ; No predecessors!
  br label %12313

12313:                                            ; preds = %12312
  br label %12314

12314:                                            ; preds = %12313, %12255
  br label %12315

12315:                                            ; preds = %12314
  br label %12316

12316:                                            ; preds = %12315
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #11
  br label %12317

12317:                                            ; preds = %12316
  %12318 = load i32, ptr @test_count, align 4, !tbaa !5
  %12319 = add nsw i32 %12318, 1
  store i32 %12319, ptr @test_count, align 4, !tbaa !5
  %12320 = load ptr, ptr %268, align 8, !tbaa !9
  %12321 = call i32 @s2n_connection_free(ptr noundef %12320)
  %12322 = icmp eq i32 %12321, -1
  br i1 %12322, label %12323, label %12376

12323:                                            ; preds = %12317
  br label %12324

12324:                                            ; preds = %12323
  br label %12325

12325:                                            ; preds = %12324
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #11
  %12326 = call ptr @__errno_location() #12
  %12327 = load i32, ptr %12326, align 4, !tbaa !5
  store i32 %12327, ptr %304, align 4, !tbaa !5
  %12328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12329 = call i32 @s2n_print_stacktrace(ptr noundef %12328)
  %12330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12331 = trunc i8 %12330 to i1
  br i1 %12331, label %12332, label %12354

12332:                                            ; preds = %12325
  %12333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12334 = call i32 @fileno(ptr noundef %12333) #11
  %12335 = call i32 @isatty(i32 noundef %12334) #11
  %12336 = icmp ne i32 %12335, 0
  br i1 %12336, label %12337, label %12354

12337:                                            ; preds = %12332
  %12338 = load i32, ptr %304, align 4, !tbaa !5
  %12339 = call ptr @__errno_location() #12
  store i32 %12338, ptr %12339, align 4, !tbaa !5
  %12340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12341 = load i32, ptr @test_count, align 4, !tbaa !5
  %12342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12343 = load i32, ptr %12342, align 4, !tbaa !5
  %12344 = call ptr @s2n_strerror(i32 noundef %12343, ptr noundef @.str.25)
  %12345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12346 = load i32, ptr %12345, align 4, !tbaa !5
  %12347 = call ptr @s2n_strerror_debug(i32 noundef %12346, ptr noundef @.str.25)
  %12348 = call ptr @__errno_location() #12
  %12349 = load i32, ptr %12348, align 4, !tbaa !5
  %12350 = call ptr @strerror(i32 noundef %12349) #11
  %12351 = call ptr @__errno_location() #12
  %12352 = load i32, ptr %12351, align 4, !tbaa !5
  %12353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12340, ptr noundef @.str.23, i32 noundef %12341, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 670, ptr noundef %12344, ptr noundef %12347, ptr noundef %12350, i32 noundef %12352) #11
  br label %12371

12354:                                            ; preds = %12332, %12325
  %12355 = load i32, ptr %304, align 4, !tbaa !5
  %12356 = call ptr @__errno_location() #12
  store i32 %12355, ptr %12356, align 4, !tbaa !5
  %12357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12358 = load i32, ptr @test_count, align 4, !tbaa !5
  %12359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12360 = load i32, ptr %12359, align 4, !tbaa !5
  %12361 = call ptr @s2n_strerror(i32 noundef %12360, ptr noundef @.str.25)
  %12362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12363 = load i32, ptr %12362, align 4, !tbaa !5
  %12364 = call ptr @s2n_strerror_debug(i32 noundef %12363, ptr noundef @.str.25)
  %12365 = call ptr @__errno_location() #12
  %12366 = load i32, ptr %12365, align 4, !tbaa !5
  %12367 = call ptr @strerror(i32 noundef %12366) #11
  %12368 = call ptr @__errno_location() #12
  %12369 = load i32, ptr %12368, align 4, !tbaa !5
  %12370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12357, ptr noundef @.str.26, i32 noundef %12358, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 670, ptr noundef %12361, ptr noundef %12364, ptr noundef %12367, i32 noundef %12369) #11
  br label %12371

12371:                                            ; preds = %12354, %12337
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #11
  br label %12372

12372:                                            ; preds = %12371
  br label %12373

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

12374:                                            ; No predecessors!
  br label %12375

12375:                                            ; preds = %12374
  br label %12376

12376:                                            ; preds = %12375, %12317
  br label %12377

12377:                                            ; preds = %12376
  br label %12378

12378:                                            ; preds = %12377
  br label %12379

12379:                                            ; preds = %12378
  %12380 = load i32, ptr @test_count, align 4, !tbaa !5
  %12381 = add nsw i32 %12380, 1
  store i32 %12381, ptr @test_count, align 4, !tbaa !5
  %12382 = call i32 @s2n_stuffer_free(ptr noundef %274)
  %12383 = icmp eq i32 %12382, -1
  br i1 %12383, label %12384, label %12437

12384:                                            ; preds = %12379
  br label %12385

12385:                                            ; preds = %12384
  br label %12386

12386:                                            ; preds = %12385
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #11
  %12387 = call ptr @__errno_location() #12
  %12388 = load i32, ptr %12387, align 4, !tbaa !5
  store i32 %12388, ptr %305, align 4, !tbaa !5
  %12389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12390 = call i32 @s2n_print_stacktrace(ptr noundef %12389)
  %12391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12392 = trunc i8 %12391 to i1
  br i1 %12392, label %12393, label %12415

12393:                                            ; preds = %12386
  %12394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12395 = call i32 @fileno(ptr noundef %12394) #11
  %12396 = call i32 @isatty(i32 noundef %12395) #11
  %12397 = icmp ne i32 %12396, 0
  br i1 %12397, label %12398, label %12415

12398:                                            ; preds = %12393
  %12399 = load i32, ptr %305, align 4, !tbaa !5
  %12400 = call ptr @__errno_location() #12
  store i32 %12399, ptr %12400, align 4, !tbaa !5
  %12401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12402 = load i32, ptr @test_count, align 4, !tbaa !5
  %12403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12404 = load i32, ptr %12403, align 4, !tbaa !5
  %12405 = call ptr @s2n_strerror(i32 noundef %12404, ptr noundef @.str.25)
  %12406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12407 = load i32, ptr %12406, align 4, !tbaa !5
  %12408 = call ptr @s2n_strerror_debug(i32 noundef %12407, ptr noundef @.str.25)
  %12409 = call ptr @__errno_location() #12
  %12410 = load i32, ptr %12409, align 4, !tbaa !5
  %12411 = call ptr @strerror(i32 noundef %12410) #11
  %12412 = call ptr @__errno_location() #12
  %12413 = load i32, ptr %12412, align 4, !tbaa !5
  %12414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12401, ptr noundef @.str.23, i32 noundef %12402, ptr noundef @.str.133, ptr noundef @.str.22, i32 noundef 671, ptr noundef %12405, ptr noundef %12408, ptr noundef %12411, i32 noundef %12413) #11
  br label %12432

12415:                                            ; preds = %12393, %12386
  %12416 = load i32, ptr %305, align 4, !tbaa !5
  %12417 = call ptr @__errno_location() #12
  store i32 %12416, ptr %12417, align 4, !tbaa !5
  %12418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12419 = load i32, ptr @test_count, align 4, !tbaa !5
  %12420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12421 = load i32, ptr %12420, align 4, !tbaa !5
  %12422 = call ptr @s2n_strerror(i32 noundef %12421, ptr noundef @.str.25)
  %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_debug(i32 noundef %12424, ptr noundef @.str.25)
  %12426 = call ptr @__errno_location() #12
  %12427 = load i32, ptr %12426, align 4, !tbaa !5
  %12428 = call ptr @strerror(i32 noundef %12427) #11
  %12429 = call ptr @__errno_location() #12
  %12430 = load i32, ptr %12429, align 4, !tbaa !5
  %12431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12418, ptr noundef @.str.26, i32 noundef %12419, ptr noundef @.str.133, ptr noundef @.str.22, i32 noundef 671, ptr noundef %12422, ptr noundef %12425, ptr noundef %12428, i32 noundef %12430) #11
  br label %12432

12432:                                            ; preds = %12415, %12398
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #11
  br label %12433

12433:                                            ; preds = %12432
  br label %12434

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

12435:                                            ; No predecessors!
  br label %12436

12436:                                            ; preds = %12435
  br label %12437

12437:                                            ; preds = %12436, %12379
  br label %12438

12438:                                            ; preds = %12437
  br label %12439

12439:                                            ; preds = %12438
  br label %12440

12440:                                            ; preds = %12439
  %12441 = load i32, ptr @test_count, align 4, !tbaa !5
  %12442 = add nsw i32 %12441, 1
  store i32 %12442, ptr @test_count, align 4, !tbaa !5
  %12443 = load ptr, ptr %267, align 8, !tbaa !9
  %12444 = call i32 @s2n_config_free(ptr noundef %12443)
  %12445 = icmp eq i32 %12444, -1
  br i1 %12445, label %12446, label %12499

12446:                                            ; preds = %12440
  br label %12447

12447:                                            ; preds = %12446
  br label %12448

12448:                                            ; preds = %12447
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #11
  %12449 = call ptr @__errno_location() #12
  %12450 = load i32, ptr %12449, align 4, !tbaa !5
  store i32 %12450, ptr %306, align 4, !tbaa !5
  %12451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12452 = call i32 @s2n_print_stacktrace(ptr noundef %12451)
  %12453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12454 = trunc i8 %12453 to i1
  br i1 %12454, label %12455, label %12477

12455:                                            ; preds = %12448
  %12456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12457 = call i32 @fileno(ptr noundef %12456) #11
  %12458 = call i32 @isatty(i32 noundef %12457) #11
  %12459 = icmp ne i32 %12458, 0
  br i1 %12459, label %12460, label %12477

12460:                                            ; preds = %12455
  %12461 = load i32, ptr %306, align 4, !tbaa !5
  %12462 = call ptr @__errno_location() #12
  store i32 %12461, ptr %12462, align 4, !tbaa !5
  %12463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12464 = load i32, ptr @test_count, align 4, !tbaa !5
  %12465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12466 = load i32, ptr %12465, align 4, !tbaa !5
  %12467 = call ptr @s2n_strerror(i32 noundef %12466, ptr noundef @.str.25)
  %12468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12469 = load i32, ptr %12468, align 4, !tbaa !5
  %12470 = call ptr @s2n_strerror_debug(i32 noundef %12469, ptr noundef @.str.25)
  %12471 = call ptr @__errno_location() #12
  %12472 = load i32, ptr %12471, align 4, !tbaa !5
  %12473 = call ptr @strerror(i32 noundef %12472) #11
  %12474 = call ptr @__errno_location() #12
  %12475 = load i32, ptr %12474, align 4, !tbaa !5
  %12476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12463, ptr noundef @.str.23, i32 noundef %12464, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 672, ptr noundef %12467, ptr noundef %12470, ptr noundef %12473, i32 noundef %12475) #11
  br label %12494

12477:                                            ; preds = %12455, %12448
  %12478 = load i32, ptr %306, align 4, !tbaa !5
  %12479 = call ptr @__errno_location() #12
  store i32 %12478, ptr %12479, align 4, !tbaa !5
  %12480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12481 = load i32, ptr @test_count, align 4, !tbaa !5
  %12482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12483 = load i32, ptr %12482, align 4, !tbaa !5
  %12484 = call ptr @s2n_strerror(i32 noundef %12483, ptr noundef @.str.25)
  %12485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12486 = load i32, ptr %12485, align 4, !tbaa !5
  %12487 = call ptr @s2n_strerror_debug(i32 noundef %12486, ptr noundef @.str.25)
  %12488 = call ptr @__errno_location() #12
  %12489 = load i32, ptr %12488, align 4, !tbaa !5
  %12490 = call ptr @strerror(i32 noundef %12489) #11
  %12491 = call ptr @__errno_location() #12
  %12492 = load i32, ptr %12491, align 4, !tbaa !5
  %12493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12480, ptr noundef @.str.26, i32 noundef %12481, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 672, ptr noundef %12484, ptr noundef %12487, ptr noundef %12490, i32 noundef %12492) #11
  br label %12494

12494:                                            ; preds = %12477, %12460
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #11
  br label %12495

12495:                                            ; preds = %12494
  br label %12496

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

12497:                                            ; No predecessors!
  br label %12498

12498:                                            ; preds = %12497
  br label %12499

12499:                                            ; preds = %12498, %12440
  br label %12500

12500:                                            ; preds = %12499
  br label %12501

12501:                                            ; preds = %12500
  call void @llvm.lifetime.end.p0(i64 40, ptr %284) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %283) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %276) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %274) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %268) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %267) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %307) #11
  call void @llvm.memset.p0.i64(ptr align 8 %307, i8 0, i64 24, i1 false)
  br label %12502

12502:                                            ; preds = %12501
  %12503 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %307, ptr noundef @.str.134)
  %12504 = getelementptr inbounds %struct.s2n_result, ptr %308, i32 0, i32 0
  store i32 %12503, ptr %12504, align 4
  %12505 = getelementptr inbounds %struct.s2n_result, ptr %308, i32 0, i32 0
  %12506 = load i32, ptr %12505, align 4
  %12507 = call zeroext i1 @s2n_result_is_ok(i32 %12506)
  br i1 %12507, label %12509, label %12508

12508:                                            ; preds = %12502
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %223, align 4
  br label %13262

12509:                                            ; preds = %12502
  br label %12510

12510:                                            ; preds = %12509
  br label %12511

12511:                                            ; preds = %12510
  call void @llvm.lifetime.start.p0(i64 8, ptr %309) #11
  %12512 = call ptr @s2n_config_new()
  store ptr %12512, ptr %309, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %310) #11
  %12513 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12513, ptr %310, align 8, !tbaa !9
  br label %12514

12514:                                            ; preds = %12511
  %12515 = load i32, ptr @test_count, align 4, !tbaa !5
  %12516 = add nsw i32 %12515, 1
  store i32 %12516, ptr @test_count, align 4, !tbaa !5
  %12517 = load ptr, ptr %310, align 8, !tbaa !9
  %12518 = icmp eq ptr %12517, null
  br i1 %12518, label %12519, label %12572

12519:                                            ; preds = %12514
  br label %12520

12520:                                            ; preds = %12519
  br label %12521

12521:                                            ; preds = %12520
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #11
  %12522 = call ptr @__errno_location() #12
  %12523 = load i32, ptr %12522, align 4, !tbaa !5
  store i32 %12523, ptr %311, align 4, !tbaa !5
  %12524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12525 = call i32 @s2n_print_stacktrace(ptr noundef %12524)
  %12526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12527 = trunc i8 %12526 to i1
  br i1 %12527, label %12528, label %12550

12528:                                            ; preds = %12521
  %12529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12530 = call i32 @fileno(ptr noundef %12529) #11
  %12531 = call i32 @isatty(i32 noundef %12530) #11
  %12532 = icmp ne i32 %12531, 0
  br i1 %12532, label %12533, label %12550

12533:                                            ; preds = %12528
  %12534 = load i32, ptr %311, align 4, !tbaa !5
  %12535 = call ptr @__errno_location() #12
  store i32 %12534, ptr %12535, align 4, !tbaa !5
  %12536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12537 = load i32, ptr @test_count, align 4, !tbaa !5
  %12538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12539 = load i32, ptr %12538, align 4, !tbaa !5
  %12540 = call ptr @s2n_strerror(i32 noundef %12539, ptr noundef @.str.25)
  %12541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12542 = load i32, ptr %12541, align 4, !tbaa !5
  %12543 = call ptr @s2n_strerror_debug(i32 noundef %12542, ptr noundef @.str.25)
  %12544 = call ptr @__errno_location() #12
  %12545 = load i32, ptr %12544, align 4, !tbaa !5
  %12546 = call ptr @strerror(i32 noundef %12545) #11
  %12547 = call ptr @__errno_location() #12
  %12548 = load i32, ptr %12547, align 4, !tbaa !5
  %12549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12536, ptr noundef @.str.23, i32 noundef %12537, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 710, ptr noundef %12540, ptr noundef %12543, ptr noundef %12546, i32 noundef %12548) #11
  br label %12567

12550:                                            ; preds = %12528, %12521
  %12551 = load i32, ptr %311, align 4, !tbaa !5
  %12552 = call ptr @__errno_location() #12
  store i32 %12551, ptr %12552, align 4, !tbaa !5
  %12553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12554 = load i32, ptr @test_count, align 4, !tbaa !5
  %12555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12556 = load i32, ptr %12555, align 4, !tbaa !5
  %12557 = call ptr @s2n_strerror(i32 noundef %12556, ptr noundef @.str.25)
  %12558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12559 = load i32, ptr %12558, align 4, !tbaa !5
  %12560 = call ptr @s2n_strerror_debug(i32 noundef %12559, ptr noundef @.str.25)
  %12561 = call ptr @__errno_location() #12
  %12562 = load i32, ptr %12561, align 4, !tbaa !5
  %12563 = call ptr @strerror(i32 noundef %12562) #11
  %12564 = call ptr @__errno_location() #12
  %12565 = load i32, ptr %12564, align 4, !tbaa !5
  %12566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12553, ptr noundef @.str.26, i32 noundef %12554, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 710, ptr noundef %12557, ptr noundef %12560, ptr noundef %12563, i32 noundef %12565) #11
  br label %12567

12567:                                            ; preds = %12550, %12533
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #11
  br label %12568

12568:                                            ; preds = %12567
  br label %12569

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

12570:                                            ; No predecessors!
  br label %12571

12571:                                            ; preds = %12570
  br label %12572

12572:                                            ; preds = %12571, %12514
  br label %12573

12573:                                            ; preds = %12572
  br label %12574

12574:                                            ; preds = %12573
  br label %12575

12575:                                            ; preds = %12574
  %12576 = load i32, ptr @test_count, align 4, !tbaa !5
  %12577 = add nsw i32 %12576, 1
  store i32 %12577, ptr @test_count, align 4, !tbaa !5
  %12578 = load ptr, ptr %309, align 8, !tbaa !9
  %12579 = icmp eq ptr %12578, null
  br i1 %12579, label %12580, label %12633

12580:                                            ; preds = %12575
  br label %12581

12581:                                            ; preds = %12580
  br label %12582

12582:                                            ; preds = %12581
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #11
  %12583 = call ptr @__errno_location() #12
  %12584 = load i32, ptr %12583, align 4, !tbaa !5
  store i32 %12584, ptr %312, align 4, !tbaa !5
  %12585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12586 = call i32 @s2n_print_stacktrace(ptr noundef %12585)
  %12587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12588 = trunc i8 %12587 to i1
  br i1 %12588, label %12589, label %12611

12589:                                            ; preds = %12582
  %12590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12591 = call i32 @fileno(ptr noundef %12590) #11
  %12592 = call i32 @isatty(i32 noundef %12591) #11
  %12593 = icmp ne i32 %12592, 0
  br i1 %12593, label %12594, label %12611

12594:                                            ; preds = %12589
  %12595 = load i32, ptr %312, align 4, !tbaa !5
  %12596 = call ptr @__errno_location() #12
  store i32 %12595, ptr %12596, align 4, !tbaa !5
  %12597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12598 = load i32, ptr @test_count, align 4, !tbaa !5
  %12599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12600 = load i32, ptr %12599, align 4, !tbaa !5
  %12601 = call ptr @s2n_strerror(i32 noundef %12600, ptr noundef @.str.25)
  %12602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12603 = load i32, ptr %12602, align 4, !tbaa !5
  %12604 = call ptr @s2n_strerror_debug(i32 noundef %12603, ptr noundef @.str.25)
  %12605 = call ptr @__errno_location() #12
  %12606 = load i32, ptr %12605, align 4, !tbaa !5
  %12607 = call ptr @strerror(i32 noundef %12606) #11
  %12608 = call ptr @__errno_location() #12
  %12609 = load i32, ptr %12608, align 4, !tbaa !5
  %12610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12597, ptr noundef @.str.23, i32 noundef %12598, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 711, ptr noundef %12601, ptr noundef %12604, ptr noundef %12607, i32 noundef %12609) #11
  br label %12628

12611:                                            ; preds = %12589, %12582
  %12612 = load i32, ptr %312, align 4, !tbaa !5
  %12613 = call ptr @__errno_location() #12
  store i32 %12612, ptr %12613, align 4, !tbaa !5
  %12614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12615 = load i32, ptr @test_count, align 4, !tbaa !5
  %12616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12617 = load i32, ptr %12616, align 4, !tbaa !5
  %12618 = call ptr @s2n_strerror(i32 noundef %12617, ptr noundef @.str.25)
  %12619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12620 = load i32, ptr %12619, align 4, !tbaa !5
  %12621 = call ptr @s2n_strerror_debug(i32 noundef %12620, ptr noundef @.str.25)
  %12622 = call ptr @__errno_location() #12
  %12623 = load i32, ptr %12622, align 4, !tbaa !5
  %12624 = call ptr @strerror(i32 noundef %12623) #11
  %12625 = call ptr @__errno_location() #12
  %12626 = load i32, ptr %12625, align 4, !tbaa !5
  %12627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12614, ptr noundef @.str.26, i32 noundef %12615, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 711, ptr noundef %12618, ptr noundef %12621, ptr noundef %12624, i32 noundef %12626) #11
  br label %12628

12628:                                            ; preds = %12611, %12594
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #11
  br label %12629

12629:                                            ; preds = %12628
  br label %12630

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

12631:                                            ; No predecessors!
  br label %12632

12632:                                            ; preds = %12631
  br label %12633

12633:                                            ; preds = %12632, %12575
  br label %12634

12634:                                            ; preds = %12633
  br label %12635

12635:                                            ; preds = %12634
  br label %12636

12636:                                            ; preds = %12635
  %12637 = load i32, ptr @test_count, align 4, !tbaa !5
  %12638 = add nsw i32 %12637, 1
  store i32 %12638, ptr @test_count, align 4, !tbaa !5
  %12639 = load ptr, ptr %309, align 8, !tbaa !9
  %12640 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %12639, i8 noundef zeroext 1)
  %12641 = icmp eq i32 %12640, -1
  br i1 %12641, label %12642, label %12695

12642:                                            ; preds = %12636
  br label %12643

12643:                                            ; preds = %12642
  br label %12644

12644:                                            ; preds = %12643
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #11
  %12645 = call ptr @__errno_location() #12
  %12646 = load i32, ptr %12645, align 4, !tbaa !5
  store i32 %12646, ptr %313, align 4, !tbaa !5
  %12647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12648 = call i32 @s2n_print_stacktrace(ptr noundef %12647)
  %12649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12650 = trunc i8 %12649 to i1
  br i1 %12650, label %12651, label %12673

12651:                                            ; preds = %12644
  %12652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12653 = call i32 @fileno(ptr noundef %12652) #11
  %12654 = call i32 @isatty(i32 noundef %12653) #11
  %12655 = icmp ne i32 %12654, 0
  br i1 %12655, label %12656, label %12673

12656:                                            ; preds = %12651
  %12657 = load i32, ptr %313, align 4, !tbaa !5
  %12658 = call ptr @__errno_location() #12
  store i32 %12657, ptr %12658, align 4, !tbaa !5
  %12659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12660 = load i32, ptr @test_count, align 4, !tbaa !5
  %12661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12662 = load i32, ptr %12661, align 4, !tbaa !5
  %12663 = call ptr @s2n_strerror(i32 noundef %12662, ptr noundef @.str.25)
  %12664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12665 = load i32, ptr %12664, align 4, !tbaa !5
  %12666 = call ptr @s2n_strerror_debug(i32 noundef %12665, ptr noundef @.str.25)
  %12667 = call ptr @__errno_location() #12
  %12668 = load i32, ptr %12667, align 4, !tbaa !5
  %12669 = call ptr @strerror(i32 noundef %12668) #11
  %12670 = call ptr @__errno_location() #12
  %12671 = load i32, ptr %12670, align 4, !tbaa !5
  %12672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12659, ptr noundef @.str.23, i32 noundef %12660, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 713, ptr noundef %12663, ptr noundef %12666, ptr noundef %12669, i32 noundef %12671) #11
  br label %12690

12673:                                            ; preds = %12651, %12644
  %12674 = load i32, ptr %313, align 4, !tbaa !5
  %12675 = call ptr @__errno_location() #12
  store i32 %12674, ptr %12675, align 4, !tbaa !5
  %12676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12677 = load i32, ptr @test_count, align 4, !tbaa !5
  %12678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12679 = load i32, ptr %12678, align 4, !tbaa !5
  %12680 = call ptr @s2n_strerror(i32 noundef %12679, ptr noundef @.str.25)
  %12681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12682 = load i32, ptr %12681, align 4, !tbaa !5
  %12683 = call ptr @s2n_strerror_debug(i32 noundef %12682, ptr noundef @.str.25)
  %12684 = call ptr @__errno_location() #12
  %12685 = load i32, ptr %12684, align 4, !tbaa !5
  %12686 = call ptr @strerror(i32 noundef %12685) #11
  %12687 = call ptr @__errno_location() #12
  %12688 = load i32, ptr %12687, align 4, !tbaa !5
  %12689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12676, ptr noundef @.str.26, i32 noundef %12677, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 713, ptr noundef %12680, ptr noundef %12683, ptr noundef %12686, i32 noundef %12688) #11
  br label %12690

12690:                                            ; preds = %12673, %12656
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #11
  br label %12691

12691:                                            ; preds = %12690
  br label %12692

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

12693:                                            ; No predecessors!
  br label %12694

12694:                                            ; preds = %12693
  br label %12695

12695:                                            ; preds = %12694, %12636
  br label %12696

12696:                                            ; preds = %12695
  br label %12697

12697:                                            ; preds = %12696
  br label %12698

12698:                                            ; preds = %12697
  %12699 = load i32, ptr @test_count, align 4, !tbaa !5
  %12700 = add nsw i32 %12699, 1
  store i32 %12700, ptr @test_count, align 4, !tbaa !5
  %12701 = load ptr, ptr %309, align 8, !tbaa !9
  %12702 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %12701, ptr noundef @s2n_test_session_ticket_cb, ptr noundef null)
  %12703 = icmp eq i32 %12702, -1
  br i1 %12703, label %12704, label %12757

12704:                                            ; preds = %12698
  br label %12705

12705:                                            ; preds = %12704
  br label %12706

12706:                                            ; preds = %12705
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #11
  %12707 = call ptr @__errno_location() #12
  %12708 = load i32, ptr %12707, align 4, !tbaa !5
  store i32 %12708, ptr %314, align 4, !tbaa !5
  %12709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12710 = call i32 @s2n_print_stacktrace(ptr noundef %12709)
  %12711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12712 = trunc i8 %12711 to i1
  br i1 %12712, label %12713, label %12735

12713:                                            ; preds = %12706
  %12714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12715 = call i32 @fileno(ptr noundef %12714) #11
  %12716 = call i32 @isatty(i32 noundef %12715) #11
  %12717 = icmp ne i32 %12716, 0
  br i1 %12717, label %12718, label %12735

12718:                                            ; preds = %12713
  %12719 = load i32, ptr %314, align 4, !tbaa !5
  %12720 = call ptr @__errno_location() #12
  store i32 %12719, ptr %12720, align 4, !tbaa !5
  %12721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12722 = load i32, ptr @test_count, align 4, !tbaa !5
  %12723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12724 = load i32, ptr %12723, align 4, !tbaa !5
  %12725 = call ptr @s2n_strerror(i32 noundef %12724, ptr noundef @.str.25)
  %12726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12727 = load i32, ptr %12726, align 4, !tbaa !5
  %12728 = call ptr @s2n_strerror_debug(i32 noundef %12727, ptr noundef @.str.25)
  %12729 = call ptr @__errno_location() #12
  %12730 = load i32, ptr %12729, align 4, !tbaa !5
  %12731 = call ptr @strerror(i32 noundef %12730) #11
  %12732 = call ptr @__errno_location() #12
  %12733 = load i32, ptr %12732, align 4, !tbaa !5
  %12734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12721, ptr noundef @.str.23, i32 noundef %12722, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 714, ptr noundef %12725, ptr noundef %12728, ptr noundef %12731, i32 noundef %12733) #11
  br label %12752

12735:                                            ; preds = %12713, %12706
  %12736 = load i32, ptr %314, align 4, !tbaa !5
  %12737 = call ptr @__errno_location() #12
  store i32 %12736, ptr %12737, align 4, !tbaa !5
  %12738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12739 = load i32, ptr @test_count, align 4, !tbaa !5
  %12740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12741 = load i32, ptr %12740, align 4, !tbaa !5
  %12742 = call ptr @s2n_strerror(i32 noundef %12741, ptr noundef @.str.25)
  %12743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12744 = load i32, ptr %12743, align 4, !tbaa !5
  %12745 = call ptr @s2n_strerror_debug(i32 noundef %12744, ptr noundef @.str.25)
  %12746 = call ptr @__errno_location() #12
  %12747 = load i32, ptr %12746, align 4, !tbaa !5
  %12748 = call ptr @strerror(i32 noundef %12747) #11
  %12749 = call ptr @__errno_location() #12
  %12750 = load i32, ptr %12749, align 4, !tbaa !5
  %12751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12738, ptr noundef @.str.26, i32 noundef %12739, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 714, ptr noundef %12742, ptr noundef %12745, ptr noundef %12748, i32 noundef %12750) #11
  br label %12752

12752:                                            ; preds = %12735, %12718
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #11
  br label %12753

12753:                                            ; preds = %12752
  br label %12754

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

12755:                                            ; No predecessors!
  br label %12756

12756:                                            ; preds = %12755
  br label %12757

12757:                                            ; preds = %12756, %12698
  br label %12758

12758:                                            ; preds = %12757
  br label %12759

12759:                                            ; preds = %12758
  br label %12760

12760:                                            ; preds = %12759
  %12761 = load i32, ptr @test_count, align 4, !tbaa !5
  %12762 = add nsw i32 %12761, 1
  store i32 %12762, ptr @test_count, align 4, !tbaa !5
  %12763 = load ptr, ptr %310, align 8, !tbaa !9
  %12764 = load ptr, ptr %309, align 8, !tbaa !9
  %12765 = call i32 @s2n_connection_set_config(ptr noundef %12763, ptr noundef %12764)
  %12766 = icmp eq i32 %12765, -1
  br i1 %12766, label %12767, label %12820

12767:                                            ; preds = %12760
  br label %12768

12768:                                            ; preds = %12767
  br label %12769

12769:                                            ; preds = %12768
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %12770 = call ptr @__errno_location() #12
  %12771 = load i32, ptr %12770, align 4, !tbaa !5
  store i32 %12771, ptr %315, align 4, !tbaa !5
  %12772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12773 = call i32 @s2n_print_stacktrace(ptr noundef %12772)
  %12774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12775 = trunc i8 %12774 to i1
  br i1 %12775, label %12776, label %12798

12776:                                            ; preds = %12769
  %12777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12778 = call i32 @fileno(ptr noundef %12777) #11
  %12779 = call i32 @isatty(i32 noundef %12778) #11
  %12780 = icmp ne i32 %12779, 0
  br i1 %12780, label %12781, label %12798

12781:                                            ; preds = %12776
  %12782 = load i32, ptr %315, align 4, !tbaa !5
  %12783 = call ptr @__errno_location() #12
  store i32 %12782, ptr %12783, align 4, !tbaa !5
  %12784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12785 = load i32, ptr @test_count, align 4, !tbaa !5
  %12786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12787 = load i32, ptr %12786, align 4, !tbaa !5
  %12788 = call ptr @s2n_strerror(i32 noundef %12787, ptr noundef @.str.25)
  %12789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12790 = load i32, ptr %12789, align 4, !tbaa !5
  %12791 = call ptr @s2n_strerror_debug(i32 noundef %12790, ptr noundef @.str.25)
  %12792 = call ptr @__errno_location() #12
  %12793 = load i32, ptr %12792, align 4, !tbaa !5
  %12794 = call ptr @strerror(i32 noundef %12793) #11
  %12795 = call ptr @__errno_location() #12
  %12796 = load i32, ptr %12795, align 4, !tbaa !5
  %12797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12784, ptr noundef @.str.23, i32 noundef %12785, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 715, ptr noundef %12788, ptr noundef %12791, ptr noundef %12794, i32 noundef %12796) #11
  br label %12815

12798:                                            ; preds = %12776, %12769
  %12799 = load i32, ptr %315, align 4, !tbaa !5
  %12800 = call ptr @__errno_location() #12
  store i32 %12799, ptr %12800, align 4, !tbaa !5
  %12801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12802 = load i32, ptr @test_count, align 4, !tbaa !5
  %12803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12804 = load i32, ptr %12803, align 4, !tbaa !5
  %12805 = call ptr @s2n_strerror(i32 noundef %12804, ptr noundef @.str.25)
  %12806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12807 = load i32, ptr %12806, align 4, !tbaa !5
  %12808 = call ptr @s2n_strerror_debug(i32 noundef %12807, ptr noundef @.str.25)
  %12809 = call ptr @__errno_location() #12
  %12810 = load i32, ptr %12809, align 4, !tbaa !5
  %12811 = call ptr @strerror(i32 noundef %12810) #11
  %12812 = call ptr @__errno_location() #12
  %12813 = load i32, ptr %12812, align 4, !tbaa !5
  %12814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12801, ptr noundef @.str.26, i32 noundef %12802, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 715, ptr noundef %12805, ptr noundef %12808, ptr noundef %12811, i32 noundef %12813) #11
  br label %12815

12815:                                            ; preds = %12798, %12781
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %12816

12816:                                            ; preds = %12815
  br label %12817

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

12818:                                            ; No predecessors!
  br label %12819

12819:                                            ; preds = %12818
  br label %12820

12820:                                            ; preds = %12819, %12760
  br label %12821

12821:                                            ; preds = %12820
  br label %12822

12822:                                            ; preds = %12821
  %12823 = load ptr, ptr %310, align 8, !tbaa !9
  %12824 = getelementptr inbounds %struct.s2n_connection, ptr %12823, i32 0, i32 23
  store i8 34, ptr %12824, align 4, !tbaa !17
  %12825 = load ptr, ptr %310, align 8, !tbaa !9
  %12826 = getelementptr inbounds %struct.s2n_connection, ptr %12825, i32 0, i32 27
  %12827 = load ptr, ptr %12826, align 8, !tbaa !43
  %12828 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %12827, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %12828, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr %316) #11
  call void @llvm.memset.p0.i64(ptr align 8 %316, i8 0, i64 40, i1 false)
  br label %12829

12829:                                            ; preds = %12822
  %12830 = load i32, ptr @test_count, align 4, !tbaa !5
  %12831 = add nsw i32 %12830, 1
  store i32 %12831, ptr @test_count, align 4, !tbaa !5
  %12832 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %316, i32 noundef 0)
  %12833 = icmp eq i32 %12832, -1
  br i1 %12833, label %12834, label %12887

12834:                                            ; preds = %12829
  br label %12835

12835:                                            ; preds = %12834
  br label %12836

12836:                                            ; preds = %12835
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #11
  %12837 = call ptr @__errno_location() #12
  %12838 = load i32, ptr %12837, align 4, !tbaa !5
  store i32 %12838, ptr %317, align 4, !tbaa !5
  %12839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12840 = call i32 @s2n_print_stacktrace(ptr noundef %12839)
  %12841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12842 = trunc i8 %12841 to i1
  br i1 %12842, label %12843, label %12865

12843:                                            ; preds = %12836
  %12844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12845 = call i32 @fileno(ptr noundef %12844) #11
  %12846 = call i32 @isatty(i32 noundef %12845) #11
  %12847 = icmp ne i32 %12846, 0
  br i1 %12847, label %12848, label %12865

12848:                                            ; preds = %12843
  %12849 = load i32, ptr %317, align 4, !tbaa !5
  %12850 = call ptr @__errno_location() #12
  store i32 %12849, ptr %12850, align 4, !tbaa !5
  %12851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12852 = load i32, ptr @test_count, align 4, !tbaa !5
  %12853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12854 = load i32, ptr %12853, align 4, !tbaa !5
  %12855 = call ptr @s2n_strerror(i32 noundef %12854, ptr noundef @.str.25)
  %12856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12857 = load i32, ptr %12856, align 4, !tbaa !5
  %12858 = call ptr @s2n_strerror_debug(i32 noundef %12857, ptr noundef @.str.25)
  %12859 = call ptr @__errno_location() #12
  %12860 = load i32, ptr %12859, align 4, !tbaa !5
  %12861 = call ptr @strerror(i32 noundef %12860) #11
  %12862 = call ptr @__errno_location() #12
  %12863 = load i32, ptr %12862, align 4, !tbaa !5
  %12864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12851, ptr noundef @.str.23, i32 noundef %12852, ptr noundef @.str.111, ptr noundef @.str.22, i32 noundef 722, ptr noundef %12855, ptr noundef %12858, ptr noundef %12861, i32 noundef %12863) #11
  br label %12882

12865:                                            ; preds = %12843, %12836
  %12866 = load i32, ptr %317, align 4, !tbaa !5
  %12867 = call ptr @__errno_location() #12
  store i32 %12866, ptr %12867, align 4, !tbaa !5
  %12868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12869 = load i32, ptr @test_count, align 4, !tbaa !5
  %12870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12871 = load i32, ptr %12870, align 4, !tbaa !5
  %12872 = call ptr @s2n_strerror(i32 noundef %12871, ptr noundef @.str.25)
  %12873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12874 = load i32, ptr %12873, align 4, !tbaa !5
  %12875 = call ptr @s2n_strerror_debug(i32 noundef %12874, ptr noundef @.str.25)
  %12876 = call ptr @__errno_location() #12
  %12877 = load i32, ptr %12876, align 4, !tbaa !5
  %12878 = call ptr @strerror(i32 noundef %12877) #11
  %12879 = call ptr @__errno_location() #12
  %12880 = load i32, ptr %12879, align 4, !tbaa !5
  %12881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12868, ptr noundef @.str.26, i32 noundef %12869, ptr noundef @.str.111, ptr noundef @.str.22, i32 noundef 722, ptr noundef %12872, ptr noundef %12875, ptr noundef %12878, i32 noundef %12880) #11
  br label %12882

12882:                                            ; preds = %12865, %12848
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #11
  br label %12883

12883:                                            ; preds = %12882
  br label %12884

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

12885:                                            ; No predecessors!
  br label %12886

12886:                                            ; preds = %12885
  br label %12887

12887:                                            ; preds = %12886, %12829
  br label %12888

12888:                                            ; preds = %12887
  br label %12889

12889:                                            ; preds = %12888
  br label %12890

12890:                                            ; preds = %12889
  %12891 = load i32, ptr @test_count, align 4, !tbaa !5
  %12892 = add nsw i32 %12891, 1
  store i32 %12892, ptr @test_count, align 4, !tbaa !5
  %12893 = call i32 @s2n_stuffer_write(ptr noundef %316, ptr noundef %307)
  %12894 = icmp eq i32 %12893, -1
  br i1 %12894, label %12895, label %12948

12895:                                            ; preds = %12890
  br label %12896

12896:                                            ; preds = %12895
  br label %12897

12897:                                            ; preds = %12896
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #11
  %12898 = call ptr @__errno_location() #12
  %12899 = load i32, ptr %12898, align 4, !tbaa !5
  store i32 %12899, ptr %318, align 4, !tbaa !5
  %12900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12901 = call i32 @s2n_print_stacktrace(ptr noundef %12900)
  %12902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12903 = trunc i8 %12902 to i1
  br i1 %12903, label %12904, label %12926

12904:                                            ; preds = %12897
  %12905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12906 = call i32 @fileno(ptr noundef %12905) #11
  %12907 = call i32 @isatty(i32 noundef %12906) #11
  %12908 = icmp ne i32 %12907, 0
  br i1 %12908, label %12909, label %12926

12909:                                            ; preds = %12904
  %12910 = load i32, ptr %318, align 4, !tbaa !5
  %12911 = call ptr @__errno_location() #12
  store i32 %12910, ptr %12911, align 4, !tbaa !5
  %12912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12913 = load i32, ptr @test_count, align 4, !tbaa !5
  %12914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12915 = load i32, ptr %12914, align 4, !tbaa !5
  %12916 = call ptr @s2n_strerror(i32 noundef %12915, ptr noundef @.str.25)
  %12917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12918 = load i32, ptr %12917, align 4, !tbaa !5
  %12919 = call ptr @s2n_strerror_debug(i32 noundef %12918, ptr noundef @.str.25)
  %12920 = call ptr @__errno_location() #12
  %12921 = load i32, ptr %12920, align 4, !tbaa !5
  %12922 = call ptr @strerror(i32 noundef %12921) #11
  %12923 = call ptr @__errno_location() #12
  %12924 = load i32, ptr %12923, align 4, !tbaa !5
  %12925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12912, ptr noundef @.str.23, i32 noundef %12913, ptr noundef @.str.113, ptr noundef @.str.22, i32 noundef 724, ptr noundef %12916, ptr noundef %12919, ptr noundef %12922, i32 noundef %12924) #11
  br label %12943

12926:                                            ; preds = %12904, %12897
  %12927 = load i32, ptr %318, align 4, !tbaa !5
  %12928 = call ptr @__errno_location() #12
  store i32 %12927, ptr %12928, align 4, !tbaa !5
  %12929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12930 = load i32, ptr @test_count, align 4, !tbaa !5
  %12931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12932 = load i32, ptr %12931, align 4, !tbaa !5
  %12933 = call ptr @s2n_strerror(i32 noundef %12932, ptr noundef @.str.25)
  %12934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12935 = load i32, ptr %12934, align 4, !tbaa !5
  %12936 = call ptr @s2n_strerror_debug(i32 noundef %12935, ptr noundef @.str.25)
  %12937 = call ptr @__errno_location() #12
  %12938 = load i32, ptr %12937, align 4, !tbaa !5
  %12939 = call ptr @strerror(i32 noundef %12938) #11
  %12940 = call ptr @__errno_location() #12
  %12941 = load i32, ptr %12940, align 4, !tbaa !5
  %12942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12929, ptr noundef @.str.26, i32 noundef %12930, ptr noundef @.str.113, ptr noundef @.str.22, i32 noundef 724, ptr noundef %12933, ptr noundef %12936, ptr noundef %12939, i32 noundef %12941) #11
  br label %12943

12943:                                            ; preds = %12926, %12909
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #11
  br label %12944

12944:                                            ; preds = %12943
  br label %12945

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

12946:                                            ; No predecessors!
  br label %12947

12947:                                            ; preds = %12946
  br label %12948

12948:                                            ; preds = %12947, %12890
  br label %12949

12949:                                            ; preds = %12948
  br label %12950

12950:                                            ; preds = %12949
  br label %12951

12951:                                            ; preds = %12950
  %12952 = load i32, ptr @test_count, align 4, !tbaa !5
  %12953 = add nsw i32 %12952, 1
  store i32 %12953, ptr @test_count, align 4, !tbaa !5
  %12954 = call i32 @s2n_stuffer_skip_read(ptr noundef %316, i32 noundef 4)
  %12955 = icmp eq i32 %12954, -1
  br i1 %12955, label %12956, label %13009

12956:                                            ; preds = %12951
  br label %12957

12957:                                            ; preds = %12956
  br label %12958

12958:                                            ; preds = %12957
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  %12959 = call ptr @__errno_location() #12
  %12960 = load i32, ptr %12959, align 4, !tbaa !5
  store i32 %12960, ptr %319, align 4, !tbaa !5
  %12961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12962 = call i32 @s2n_print_stacktrace(ptr noundef %12961)
  %12963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12964 = trunc i8 %12963 to i1
  br i1 %12964, label %12965, label %12987

12965:                                            ; preds = %12958
  %12966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12967 = call i32 @fileno(ptr noundef %12966) #11
  %12968 = call i32 @isatty(i32 noundef %12967) #11
  %12969 = icmp ne i32 %12968, 0
  br i1 %12969, label %12970, label %12987

12970:                                            ; preds = %12965
  %12971 = load i32, ptr %319, align 4, !tbaa !5
  %12972 = call ptr @__errno_location() #12
  store i32 %12971, ptr %12972, align 4, !tbaa !5
  %12973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12974 = load i32, ptr @test_count, align 4, !tbaa !5
  %12975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12976 = load i32, ptr %12975, align 4, !tbaa !5
  %12977 = call ptr @s2n_strerror(i32 noundef %12976, ptr noundef @.str.25)
  %12978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12979 = load i32, ptr %12978, align 4, !tbaa !5
  %12980 = call ptr @s2n_strerror_debug(i32 noundef %12979, ptr noundef @.str.25)
  %12981 = call ptr @__errno_location() #12
  %12982 = load i32, ptr %12981, align 4, !tbaa !5
  %12983 = call ptr @strerror(i32 noundef %12982) #11
  %12984 = call ptr @__errno_location() #12
  %12985 = load i32, ptr %12984, align 4, !tbaa !5
  %12986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12973, ptr noundef @.str.23, i32 noundef %12974, ptr noundef @.str.135, ptr noundef @.str.22, i32 noundef 725, ptr noundef %12977, ptr noundef %12980, ptr noundef %12983, i32 noundef %12985) #11
  br label %13004

12987:                                            ; preds = %12965, %12958
  %12988 = load i32, ptr %319, align 4, !tbaa !5
  %12989 = call ptr @__errno_location() #12
  store i32 %12988, ptr %12989, align 4, !tbaa !5
  %12990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12991 = load i32, ptr @test_count, align 4, !tbaa !5
  %12992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12993 = load i32, ptr %12992, align 4, !tbaa !5
  %12994 = call ptr @s2n_strerror(i32 noundef %12993, ptr noundef @.str.25)
  %12995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12996 = load i32, ptr %12995, align 4, !tbaa !5
  %12997 = call ptr @s2n_strerror_debug(i32 noundef %12996, ptr noundef @.str.25)
  %12998 = call ptr @__errno_location() #12
  %12999 = load i32, ptr %12998, align 4, !tbaa !5
  %13000 = call ptr @strerror(i32 noundef %12999) #11
  %13001 = call ptr @__errno_location() #12
  %13002 = load i32, ptr %13001, align 4, !tbaa !5
  %13003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12990, ptr noundef @.str.26, i32 noundef %12991, ptr noundef @.str.135, ptr noundef @.str.22, i32 noundef 725, ptr noundef %12994, ptr noundef %12997, ptr noundef %13000, i32 noundef %13002) #11
  br label %13004

13004:                                            ; preds = %12987, %12970
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  br label %13005

13005:                                            ; preds = %13004
  br label %13006

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

13007:                                            ; No predecessors!
  br label %13008

13008:                                            ; preds = %13007
  br label %13009

13009:                                            ; preds = %13008, %12951
  br label %13010

13010:                                            ; preds = %13009
  br label %13011

13011:                                            ; preds = %13010
  br label %13012

13012:                                            ; preds = %13011
  %13013 = load i32, ptr @test_count, align 4, !tbaa !5
  %13014 = add nsw i32 %13013, 1
  store i32 %13014, ptr @test_count, align 4, !tbaa !5
  %13015 = load ptr, ptr %310, align 8, !tbaa !9
  %13016 = call i32 @s2n_tls13_server_nst_recv(ptr noundef %13015, ptr noundef %316)
  %13017 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  store i32 %13016, ptr %13017, align 4
  %13018 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  %13019 = load i32, ptr %13018, align 4
  %13020 = call zeroext i1 @s2n_result_is_ok(i32 %13019)
  br i1 %13020, label %13074, label %13021

13021:                                            ; preds = %13012
  br label %13022

13022:                                            ; preds = %13021
  br label %13023

13023:                                            ; preds = %13022
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #11
  %13024 = call ptr @__errno_location() #12
  %13025 = load i32, ptr %13024, align 4, !tbaa !5
  store i32 %13025, ptr %321, align 4, !tbaa !5
  %13026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13027 = call i32 @s2n_print_stacktrace(ptr noundef %13026)
  %13028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13029 = trunc i8 %13028 to i1
  br i1 %13029, label %13030, label %13052

13030:                                            ; preds = %13023
  %13031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13032 = call i32 @fileno(ptr noundef %13031) #11
  %13033 = call i32 @isatty(i32 noundef %13032) #11
  %13034 = icmp ne i32 %13033, 0
  br i1 %13034, label %13035, label %13052

13035:                                            ; preds = %13030
  %13036 = load i32, ptr %321, align 4, !tbaa !5
  %13037 = call ptr @__errno_location() #12
  store i32 %13036, ptr %13037, align 4, !tbaa !5
  %13038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13039 = load i32, ptr @test_count, align 4, !tbaa !5
  %13040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13041 = load i32, ptr %13040, align 4, !tbaa !5
  %13042 = call ptr @s2n_strerror(i32 noundef %13041, ptr noundef @.str.25)
  %13043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13044 = load i32, ptr %13043, align 4, !tbaa !5
  %13045 = call ptr @s2n_strerror_debug(i32 noundef %13044, ptr noundef @.str.25)
  %13046 = call ptr @__errno_location() #12
  %13047 = load i32, ptr %13046, align 4, !tbaa !5
  %13048 = call ptr @strerror(i32 noundef %13047) #11
  %13049 = call ptr @__errno_location() #12
  %13050 = load i32, ptr %13049, align 4, !tbaa !5
  %13051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13038, ptr noundef @.str.23, i32 noundef %13039, ptr noundef @.str.114, ptr noundef @.str.22, i32 noundef 726, ptr noundef %13042, ptr noundef %13045, ptr noundef %13048, i32 noundef %13050) #11
  br label %13069

13052:                                            ; preds = %13030, %13023
  %13053 = load i32, ptr %321, align 4, !tbaa !5
  %13054 = call ptr @__errno_location() #12
  store i32 %13053, ptr %13054, align 4, !tbaa !5
  %13055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13056 = load i32, ptr @test_count, align 4, !tbaa !5
  %13057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13058 = load i32, ptr %13057, align 4, !tbaa !5
  %13059 = call ptr @s2n_strerror(i32 noundef %13058, ptr noundef @.str.25)
  %13060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13061 = load i32, ptr %13060, align 4, !tbaa !5
  %13062 = call ptr @s2n_strerror_debug(i32 noundef %13061, ptr noundef @.str.25)
  %13063 = call ptr @__errno_location() #12
  %13064 = load i32, ptr %13063, align 4, !tbaa !5
  %13065 = call ptr @strerror(i32 noundef %13064) #11
  %13066 = call ptr @__errno_location() #12
  %13067 = load i32, ptr %13066, align 4, !tbaa !5
  %13068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13055, ptr noundef @.str.26, i32 noundef %13056, ptr noundef @.str.114, ptr noundef @.str.22, i32 noundef 726, ptr noundef %13059, ptr noundef %13062, ptr noundef %13065, i32 noundef %13067) #11
  br label %13069

13069:                                            ; preds = %13052, %13035
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #11
  br label %13070

13070:                                            ; preds = %13069
  br label %13071

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

13072:                                            ; No predecessors!
  br label %13073

13073:                                            ; preds = %13072
  br label %13074

13074:                                            ; preds = %13073, %13012
  br label %13075

13075:                                            ; preds = %13074
  br label %13076

13076:                                            ; preds = %13075
  br label %13077

13077:                                            ; preds = %13076
  %13078 = load i32, ptr @test_count, align 4, !tbaa !5
  %13079 = add nsw i32 %13078, 1
  store i32 %13079, ptr @test_count, align 4, !tbaa !5
  %13080 = load ptr, ptr %310, align 8, !tbaa !9
  %13081 = call i32 @s2n_connection_free(ptr noundef %13080)
  %13082 = icmp eq i32 %13081, -1
  br i1 %13082, label %13083, label %13136

13083:                                            ; preds = %13077
  br label %13084

13084:                                            ; preds = %13083
  br label %13085

13085:                                            ; preds = %13084
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  %13086 = call ptr @__errno_location() #12
  %13087 = load i32, ptr %13086, align 4, !tbaa !5
  store i32 %13087, ptr %322, align 4, !tbaa !5
  %13088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13089 = call i32 @s2n_print_stacktrace(ptr noundef %13088)
  %13090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13091 = trunc i8 %13090 to i1
  br i1 %13091, label %13092, label %13114

13092:                                            ; preds = %13085
  %13093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13094 = call i32 @fileno(ptr noundef %13093) #11
  %13095 = call i32 @isatty(i32 noundef %13094) #11
  %13096 = icmp ne i32 %13095, 0
  br i1 %13096, label %13097, label %13114

13097:                                            ; preds = %13092
  %13098 = load i32, ptr %322, align 4, !tbaa !5
  %13099 = call ptr @__errno_location() #12
  store i32 %13098, ptr %13099, align 4, !tbaa !5
  %13100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13101 = load i32, ptr @test_count, align 4, !tbaa !5
  %13102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13103 = load i32, ptr %13102, align 4, !tbaa !5
  %13104 = call ptr @s2n_strerror(i32 noundef %13103, ptr noundef @.str.25)
  %13105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13106 = load i32, ptr %13105, align 4, !tbaa !5
  %13107 = call ptr @s2n_strerror_debug(i32 noundef %13106, ptr noundef @.str.25)
  %13108 = call ptr @__errno_location() #12
  %13109 = load i32, ptr %13108, align 4, !tbaa !5
  %13110 = call ptr @strerror(i32 noundef %13109) #11
  %13111 = call ptr @__errno_location() #12
  %13112 = load i32, ptr %13111, align 4, !tbaa !5
  %13113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13100, ptr noundef @.str.23, i32 noundef %13101, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 728, ptr noundef %13104, ptr noundef %13107, ptr noundef %13110, i32 noundef %13112) #11
  br label %13131

13114:                                            ; preds = %13092, %13085
  %13115 = load i32, ptr %322, align 4, !tbaa !5
  %13116 = call ptr @__errno_location() #12
  store i32 %13115, ptr %13116, align 4, !tbaa !5
  %13117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13118 = load i32, ptr @test_count, align 4, !tbaa !5
  %13119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13120 = load i32, ptr %13119, align 4, !tbaa !5
  %13121 = call ptr @s2n_strerror(i32 noundef %13120, ptr noundef @.str.25)
  %13122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13123 = load i32, ptr %13122, align 4, !tbaa !5
  %13124 = call ptr @s2n_strerror_debug(i32 noundef %13123, ptr noundef @.str.25)
  %13125 = call ptr @__errno_location() #12
  %13126 = load i32, ptr %13125, align 4, !tbaa !5
  %13127 = call ptr @strerror(i32 noundef %13126) #11
  %13128 = call ptr @__errno_location() #12
  %13129 = load i32, ptr %13128, align 4, !tbaa !5
  %13130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13117, ptr noundef @.str.26, i32 noundef %13118, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 728, ptr noundef %13121, ptr noundef %13124, ptr noundef %13127, i32 noundef %13129) #11
  br label %13131

13131:                                            ; preds = %13114, %13097
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  br label %13132

13132:                                            ; preds = %13131
  br label %13133

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

13134:                                            ; No predecessors!
  br label %13135

13135:                                            ; preds = %13134
  br label %13136

13136:                                            ; preds = %13135, %13077
  br label %13137

13137:                                            ; preds = %13136
  br label %13138

13138:                                            ; preds = %13137
  br label %13139

13139:                                            ; preds = %13138
  %13140 = load i32, ptr @test_count, align 4, !tbaa !5
  %13141 = add nsw i32 %13140, 1
  store i32 %13141, ptr @test_count, align 4, !tbaa !5
  %13142 = call i32 @s2n_stuffer_free(ptr noundef %316)
  %13143 = icmp eq i32 %13142, -1
  br i1 %13143, label %13144, label %13197

13144:                                            ; preds = %13139
  br label %13145

13145:                                            ; preds = %13144
  br label %13146

13146:                                            ; preds = %13145
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  %13147 = call ptr @__errno_location() #12
  %13148 = load i32, ptr %13147, align 4, !tbaa !5
  store i32 %13148, ptr %323, align 4, !tbaa !5
  %13149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13150 = call i32 @s2n_print_stacktrace(ptr noundef %13149)
  %13151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13152 = trunc i8 %13151 to i1
  br i1 %13152, label %13153, label %13175

13153:                                            ; preds = %13146
  %13154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13155 = call i32 @fileno(ptr noundef %13154) #11
  %13156 = call i32 @isatty(i32 noundef %13155) #11
  %13157 = icmp ne i32 %13156, 0
  br i1 %13157, label %13158, label %13175

13158:                                            ; preds = %13153
  %13159 = load i32, ptr %323, align 4, !tbaa !5
  %13160 = call ptr @__errno_location() #12
  store i32 %13159, ptr %13160, align 4, !tbaa !5
  %13161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13162 = load i32, ptr @test_count, align 4, !tbaa !5
  %13163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13164 = load i32, ptr %13163, align 4, !tbaa !5
  %13165 = call ptr @s2n_strerror(i32 noundef %13164, ptr noundef @.str.25)
  %13166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13167 = load i32, ptr %13166, align 4, !tbaa !5
  %13168 = call ptr @s2n_strerror_debug(i32 noundef %13167, ptr noundef @.str.25)
  %13169 = call ptr @__errno_location() #12
  %13170 = load i32, ptr %13169, align 4, !tbaa !5
  %13171 = call ptr @strerror(i32 noundef %13170) #11
  %13172 = call ptr @__errno_location() #12
  %13173 = load i32, ptr %13172, align 4, !tbaa !5
  %13174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13161, ptr noundef @.str.23, i32 noundef %13162, ptr noundef @.str.133, ptr noundef @.str.22, i32 noundef 729, ptr noundef %13165, ptr noundef %13168, ptr noundef %13171, i32 noundef %13173) #11
  br label %13192

13175:                                            ; preds = %13153, %13146
  %13176 = load i32, ptr %323, align 4, !tbaa !5
  %13177 = call ptr @__errno_location() #12
  store i32 %13176, ptr %13177, align 4, !tbaa !5
  %13178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13179 = load i32, ptr @test_count, align 4, !tbaa !5
  %13180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13181 = load i32, ptr %13180, align 4, !tbaa !5
  %13182 = call ptr @s2n_strerror(i32 noundef %13181, ptr noundef @.str.25)
  %13183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13184 = load i32, ptr %13183, align 4, !tbaa !5
  %13185 = call ptr @s2n_strerror_debug(i32 noundef %13184, ptr noundef @.str.25)
  %13186 = call ptr @__errno_location() #12
  %13187 = load i32, ptr %13186, align 4, !tbaa !5
  %13188 = call ptr @strerror(i32 noundef %13187) #11
  %13189 = call ptr @__errno_location() #12
  %13190 = load i32, ptr %13189, align 4, !tbaa !5
  %13191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13178, ptr noundef @.str.26, i32 noundef %13179, ptr noundef @.str.133, ptr noundef @.str.22, i32 noundef 729, ptr noundef %13182, ptr noundef %13185, ptr noundef %13188, i32 noundef %13190) #11
  br label %13192

13192:                                            ; preds = %13175, %13158
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  br label %13193

13193:                                            ; preds = %13192
  br label %13194

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

13195:                                            ; No predecessors!
  br label %13196

13196:                                            ; preds = %13195
  br label %13197

13197:                                            ; preds = %13196, %13139
  br label %13198

13198:                                            ; preds = %13197
  br label %13199

13199:                                            ; preds = %13198
  br label %13200

13200:                                            ; preds = %13199
  %13201 = load i32, ptr @test_count, align 4, !tbaa !5
  %13202 = add nsw i32 %13201, 1
  store i32 %13202, ptr @test_count, align 4, !tbaa !5
  %13203 = load ptr, ptr %309, align 8, !tbaa !9
  %13204 = call i32 @s2n_config_free(ptr noundef %13203)
  %13205 = icmp eq i32 %13204, -1
  br i1 %13205, label %13206, label %13259

13206:                                            ; preds = %13200
  br label %13207

13207:                                            ; preds = %13206
  br label %13208

13208:                                            ; preds = %13207
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #11
  %13209 = call ptr @__errno_location() #12
  %13210 = load i32, ptr %13209, align 4, !tbaa !5
  store i32 %13210, ptr %324, align 4, !tbaa !5
  %13211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13212 = call i32 @s2n_print_stacktrace(ptr noundef %13211)
  %13213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13214 = trunc i8 %13213 to i1
  br i1 %13214, label %13215, label %13237

13215:                                            ; preds = %13208
  %13216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13217 = call i32 @fileno(ptr noundef %13216) #11
  %13218 = call i32 @isatty(i32 noundef %13217) #11
  %13219 = icmp ne i32 %13218, 0
  br i1 %13219, label %13220, label %13237

13220:                                            ; preds = %13215
  %13221 = load i32, ptr %324, align 4, !tbaa !5
  %13222 = call ptr @__errno_location() #12
  store i32 %13221, ptr %13222, align 4, !tbaa !5
  %13223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13224 = load i32, ptr @test_count, align 4, !tbaa !5
  %13225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13226 = load i32, ptr %13225, align 4, !tbaa !5
  %13227 = call ptr @s2n_strerror(i32 noundef %13226, ptr noundef @.str.25)
  %13228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13229 = load i32, ptr %13228, align 4, !tbaa !5
  %13230 = call ptr @s2n_strerror_debug(i32 noundef %13229, ptr noundef @.str.25)
  %13231 = call ptr @__errno_location() #12
  %13232 = load i32, ptr %13231, align 4, !tbaa !5
  %13233 = call ptr @strerror(i32 noundef %13232) #11
  %13234 = call ptr @__errno_location() #12
  %13235 = load i32, ptr %13234, align 4, !tbaa !5
  %13236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13223, ptr noundef @.str.23, i32 noundef %13224, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 730, ptr noundef %13227, ptr noundef %13230, ptr noundef %13233, i32 noundef %13235) #11
  br label %13254

13237:                                            ; preds = %13215, %13208
  %13238 = load i32, ptr %324, align 4, !tbaa !5
  %13239 = call ptr @__errno_location() #12
  store i32 %13238, ptr %13239, align 4, !tbaa !5
  %13240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13241 = load i32, ptr @test_count, align 4, !tbaa !5
  %13242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13243 = load i32, ptr %13242, align 4, !tbaa !5
  %13244 = call ptr @s2n_strerror(i32 noundef %13243, ptr noundef @.str.25)
  %13245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13246 = load i32, ptr %13245, align 4, !tbaa !5
  %13247 = call ptr @s2n_strerror_debug(i32 noundef %13246, ptr noundef @.str.25)
  %13248 = call ptr @__errno_location() #12
  %13249 = load i32, ptr %13248, align 4, !tbaa !5
  %13250 = call ptr @strerror(i32 noundef %13249) #11
  %13251 = call ptr @__errno_location() #12
  %13252 = load i32, ptr %13251, align 4, !tbaa !5
  %13253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13240, ptr noundef @.str.26, i32 noundef %13241, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 730, ptr noundef %13244, ptr noundef %13247, ptr noundef %13250, i32 noundef %13252) #11
  br label %13254

13254:                                            ; preds = %13237, %13220
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #11
  br label %13255

13255:                                            ; preds = %13254
  br label %13256

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

13257:                                            ; No predecessors!
  br label %13258

13258:                                            ; preds = %13257
  br label %13259

13259:                                            ; preds = %13258, %13200
  br label %13260

13260:                                            ; preds = %13259
  br label %13261

13261:                                            ; preds = %13260
  call void @llvm.lifetime.end.p0(i64 40, ptr %316) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %310) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %309) #11
  store i32 0, ptr %223, align 4
  br label %13262

13262:                                            ; preds = %13261, %12508
  %13263 = call i32 @s2n_free(ptr noundef %307)
  call void @llvm.lifetime.end.p0(i64 24, ptr %307) #11
  %13264 = load i32, ptr %223, align 4
  switch i32 %13264, label %18211 [
    i32 0, label %13265
  ]

13265:                                            ; preds = %13262
  call void @llvm.lifetime.start.p0(i64 8, ptr %325) #11
  %13266 = call ptr @s2n_config_new()
  store ptr %13266, ptr %325, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %326) #11
  %13267 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %13267, ptr %326, align 8, !tbaa !9
  br label %13268

13268:                                            ; preds = %13265
  %13269 = load i32, ptr @test_count, align 4, !tbaa !5
  %13270 = add nsw i32 %13269, 1
  store i32 %13270, ptr @test_count, align 4, !tbaa !5
  %13271 = load ptr, ptr %326, align 8, !tbaa !9
  %13272 = icmp eq ptr %13271, null
  br i1 %13272, label %13273, label %13326

13273:                                            ; preds = %13268
  br label %13274

13274:                                            ; preds = %13273
  br label %13275

13275:                                            ; preds = %13274
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #11
  %13276 = call ptr @__errno_location() #12
  %13277 = load i32, ptr %13276, align 4, !tbaa !5
  store i32 %13277, ptr %327, align 4, !tbaa !5
  %13278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13279 = call i32 @s2n_print_stacktrace(ptr noundef %13278)
  %13280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13281 = trunc i8 %13280 to i1
  br i1 %13281, label %13282, label %13304

13282:                                            ; preds = %13275
  %13283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13284 = call i32 @fileno(ptr noundef %13283) #11
  %13285 = call i32 @isatty(i32 noundef %13284) #11
  %13286 = icmp ne i32 %13285, 0
  br i1 %13286, label %13287, label %13304

13287:                                            ; preds = %13282
  %13288 = load i32, ptr %327, align 4, !tbaa !5
  %13289 = call ptr @__errno_location() #12
  store i32 %13288, ptr %13289, align 4, !tbaa !5
  %13290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13291 = load i32, ptr @test_count, align 4, !tbaa !5
  %13292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13293 = load i32, ptr %13292, align 4, !tbaa !5
  %13294 = call ptr @s2n_strerror(i32 noundef %13293, ptr noundef @.str.25)
  %13295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13296 = load i32, ptr %13295, align 4, !tbaa !5
  %13297 = call ptr @s2n_strerror_debug(i32 noundef %13296, ptr noundef @.str.25)
  %13298 = call ptr @__errno_location() #12
  %13299 = load i32, ptr %13298, align 4, !tbaa !5
  %13300 = call ptr @strerror(i32 noundef %13299) #11
  %13301 = call ptr @__errno_location() #12
  %13302 = load i32, ptr %13301, align 4, !tbaa !5
  %13303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13290, ptr noundef @.str.23, i32 noundef %13291, ptr noundef @.str.136, ptr noundef @.str.22, i32 noundef 737, ptr noundef %13294, ptr noundef %13297, ptr noundef %13300, i32 noundef %13302) #11
  br label %13321

13304:                                            ; preds = %13282, %13275
  %13305 = load i32, ptr %327, align 4, !tbaa !5
  %13306 = call ptr @__errno_location() #12
  store i32 %13305, ptr %13306, align 4, !tbaa !5
  %13307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13308 = load i32, ptr @test_count, align 4, !tbaa !5
  %13309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13310 = load i32, ptr %13309, align 4, !tbaa !5
  %13311 = call ptr @s2n_strerror(i32 noundef %13310, ptr noundef @.str.25)
  %13312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13313 = load i32, ptr %13312, align 4, !tbaa !5
  %13314 = call ptr @s2n_strerror_debug(i32 noundef %13313, ptr noundef @.str.25)
  %13315 = call ptr @__errno_location() #12
  %13316 = load i32, ptr %13315, align 4, !tbaa !5
  %13317 = call ptr @strerror(i32 noundef %13316) #11
  %13318 = call ptr @__errno_location() #12
  %13319 = load i32, ptr %13318, align 4, !tbaa !5
  %13320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13307, ptr noundef @.str.26, i32 noundef %13308, ptr noundef @.str.136, ptr noundef @.str.22, i32 noundef 737, ptr noundef %13311, ptr noundef %13314, ptr noundef %13317, i32 noundef %13319) #11
  br label %13321

13321:                                            ; preds = %13304, %13287
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #11
  br label %13322

13322:                                            ; preds = %13321
  br label %13323

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

13324:                                            ; No predecessors!
  br label %13325

13325:                                            ; preds = %13324
  br label %13326

13326:                                            ; preds = %13325, %13268
  br label %13327

13327:                                            ; preds = %13326
  br label %13328

13328:                                            ; preds = %13327
  br label %13329

13329:                                            ; preds = %13328
  %13330 = load i32, ptr @test_count, align 4, !tbaa !5
  %13331 = add nsw i32 %13330, 1
  store i32 %13331, ptr @test_count, align 4, !tbaa !5
  %13332 = load ptr, ptr %325, align 8, !tbaa !9
  %13333 = icmp eq ptr %13332, null
  br i1 %13333, label %13334, label %13387

13334:                                            ; preds = %13329
  br label %13335

13335:                                            ; preds = %13334
  br label %13336

13336:                                            ; preds = %13335
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %13337 = call ptr @__errno_location() #12
  %13338 = load i32, ptr %13337, align 4, !tbaa !5
  store i32 %13338, ptr %328, align 4, !tbaa !5
  %13339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13340 = call i32 @s2n_print_stacktrace(ptr noundef %13339)
  %13341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13342 = trunc i8 %13341 to i1
  br i1 %13342, label %13343, label %13365

13343:                                            ; preds = %13336
  %13344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13345 = call i32 @fileno(ptr noundef %13344) #11
  %13346 = call i32 @isatty(i32 noundef %13345) #11
  %13347 = icmp ne i32 %13346, 0
  br i1 %13347, label %13348, label %13365

13348:                                            ; preds = %13343
  %13349 = load i32, ptr %328, align 4, !tbaa !5
  %13350 = call ptr @__errno_location() #12
  store i32 %13349, ptr %13350, align 4, !tbaa !5
  %13351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13352 = load i32, ptr @test_count, align 4, !tbaa !5
  %13353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13354 = load i32, ptr %13353, align 4, !tbaa !5
  %13355 = call ptr @s2n_strerror(i32 noundef %13354, ptr noundef @.str.25)
  %13356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13357 = load i32, ptr %13356, align 4, !tbaa !5
  %13358 = call ptr @s2n_strerror_debug(i32 noundef %13357, ptr noundef @.str.25)
  %13359 = call ptr @__errno_location() #12
  %13360 = load i32, ptr %13359, align 4, !tbaa !5
  %13361 = call ptr @strerror(i32 noundef %13360) #11
  %13362 = call ptr @__errno_location() #12
  %13363 = load i32, ptr %13362, align 4, !tbaa !5
  %13364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13351, ptr noundef @.str.23, i32 noundef %13352, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 738, ptr noundef %13355, ptr noundef %13358, ptr noundef %13361, i32 noundef %13363) #11
  br label %13382

13365:                                            ; preds = %13343, %13336
  %13366 = load i32, ptr %328, align 4, !tbaa !5
  %13367 = call ptr @__errno_location() #12
  store i32 %13366, ptr %13367, align 4, !tbaa !5
  %13368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13369 = load i32, ptr @test_count, align 4, !tbaa !5
  %13370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13371 = load i32, ptr %13370, align 4, !tbaa !5
  %13372 = call ptr @s2n_strerror(i32 noundef %13371, ptr noundef @.str.25)
  %13373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13374 = load i32, ptr %13373, align 4, !tbaa !5
  %13375 = call ptr @s2n_strerror_debug(i32 noundef %13374, ptr noundef @.str.25)
  %13376 = call ptr @__errno_location() #12
  %13377 = load i32, ptr %13376, align 4, !tbaa !5
  %13378 = call ptr @strerror(i32 noundef %13377) #11
  %13379 = call ptr @__errno_location() #12
  %13380 = load i32, ptr %13379, align 4, !tbaa !5
  %13381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13368, ptr noundef @.str.26, i32 noundef %13369, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 738, ptr noundef %13372, ptr noundef %13375, ptr noundef %13378, i32 noundef %13380) #11
  br label %13382

13382:                                            ; preds = %13365, %13348
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %13383

13383:                                            ; preds = %13382
  br label %13384

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

13385:                                            ; No predecessors!
  br label %13386

13386:                                            ; preds = %13385
  br label %13387

13387:                                            ; preds = %13386, %13329
  br label %13388

13388:                                            ; preds = %13387
  br label %13389

13389:                                            ; preds = %13388
  call void @llvm.lifetime.start.p0(i64 8, ptr %329) #11
  %13390 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13390, ptr %329, align 8, !tbaa !9
  br label %13391

13391:                                            ; preds = %13389
  %13392 = load i32, ptr @test_count, align 4, !tbaa !5
  %13393 = add nsw i32 %13392, 1
  store i32 %13393, ptr @test_count, align 4, !tbaa !5
  %13394 = load ptr, ptr %329, align 8, !tbaa !9
  %13395 = icmp eq ptr %13394, null
  br i1 %13395, label %13396, label %13449

13396:                                            ; preds = %13391
  br label %13397

13397:                                            ; preds = %13396
  br label %13398

13398:                                            ; preds = %13397
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %13399 = call ptr @__errno_location() #12
  %13400 = load i32, ptr %13399, align 4, !tbaa !5
  store i32 %13400, ptr %330, align 4, !tbaa !5
  %13401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13402 = call i32 @s2n_print_stacktrace(ptr noundef %13401)
  %13403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13404 = trunc i8 %13403 to i1
  br i1 %13404, label %13405, label %13427

13405:                                            ; preds = %13398
  %13406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13407 = call i32 @fileno(ptr noundef %13406) #11
  %13408 = call i32 @isatty(i32 noundef %13407) #11
  %13409 = icmp ne i32 %13408, 0
  br i1 %13409, label %13410, label %13427

13410:                                            ; preds = %13405
  %13411 = load i32, ptr %330, align 4, !tbaa !5
  %13412 = call ptr @__errno_location() #12
  store i32 %13411, ptr %13412, align 4, !tbaa !5
  %13413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13414 = load i32, ptr @test_count, align 4, !tbaa !5
  %13415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13416 = load i32, ptr %13415, align 4, !tbaa !5
  %13417 = call ptr @s2n_strerror(i32 noundef %13416, ptr noundef @.str.25)
  %13418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13419 = load i32, ptr %13418, align 4, !tbaa !5
  %13420 = call ptr @s2n_strerror_debug(i32 noundef %13419, ptr noundef @.str.25)
  %13421 = call ptr @__errno_location() #12
  %13422 = load i32, ptr %13421, align 4, !tbaa !5
  %13423 = call ptr @strerror(i32 noundef %13422) #11
  %13424 = call ptr @__errno_location() #12
  %13425 = load i32, ptr %13424, align 4, !tbaa !5
  %13426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13413, ptr noundef @.str.23, i32 noundef %13414, ptr noundef @.str.80, ptr noundef @.str.22, i32 noundef 741, ptr noundef %13417, ptr noundef %13420, ptr noundef %13423, i32 noundef %13425) #11
  br label %13444

13427:                                            ; preds = %13405, %13398
  %13428 = load i32, ptr %330, align 4, !tbaa !5
  %13429 = call ptr @__errno_location() #12
  store i32 %13428, ptr %13429, align 4, !tbaa !5
  %13430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13431 = load i32, ptr @test_count, align 4, !tbaa !5
  %13432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13433 = load i32, ptr %13432, align 4, !tbaa !5
  %13434 = call ptr @s2n_strerror(i32 noundef %13433, ptr noundef @.str.25)
  %13435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13436 = load i32, ptr %13435, align 4, !tbaa !5
  %13437 = call ptr @s2n_strerror_debug(i32 noundef %13436, ptr noundef @.str.25)
  %13438 = call ptr @__errno_location() #12
  %13439 = load i32, ptr %13438, align 4, !tbaa !5
  %13440 = call ptr @strerror(i32 noundef %13439) #11
  %13441 = call ptr @__errno_location() #12
  %13442 = load i32, ptr %13441, align 4, !tbaa !5
  %13443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13430, ptr noundef @.str.26, i32 noundef %13431, ptr noundef @.str.80, ptr noundef @.str.22, i32 noundef 741, ptr noundef %13434, ptr noundef %13437, ptr noundef %13440, i32 noundef %13442) #11
  br label %13444

13444:                                            ; preds = %13427, %13410
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %13445

13445:                                            ; preds = %13444
  br label %13446

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

13447:                                            ; No predecessors!
  br label %13448

13448:                                            ; preds = %13447
  br label %13449

13449:                                            ; preds = %13448, %13391
  br label %13450

13450:                                            ; preds = %13449
  br label %13451

13451:                                            ; preds = %13450
  br label %13452

13452:                                            ; preds = %13451
  %13453 = load i32, ptr @test_count, align 4, !tbaa !5
  %13454 = add nsw i32 %13453, 1
  store i32 %13454, ptr @test_count, align 4, !tbaa !5
  %13455 = load ptr, ptr %325, align 8, !tbaa !9
  %13456 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %13455, i8 noundef zeroext 1)
  %13457 = icmp eq i32 %13456, -1
  br i1 %13457, label %13458, label %13511

13458:                                            ; preds = %13452
  br label %13459

13459:                                            ; preds = %13458
  br label %13460

13460:                                            ; preds = %13459
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %13461 = call ptr @__errno_location() #12
  %13462 = load i32, ptr %13461, align 4, !tbaa !5
  store i32 %13462, ptr %331, align 4, !tbaa !5
  %13463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13464 = call i32 @s2n_print_stacktrace(ptr noundef %13463)
  %13465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13466 = trunc i8 %13465 to i1
  br i1 %13466, label %13467, label %13489

13467:                                            ; preds = %13460
  %13468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13469 = call i32 @fileno(ptr noundef %13468) #11
  %13470 = call i32 @isatty(i32 noundef %13469) #11
  %13471 = icmp ne i32 %13470, 0
  br i1 %13471, label %13472, label %13489

13472:                                            ; preds = %13467
  %13473 = load i32, ptr %331, align 4, !tbaa !5
  %13474 = call ptr @__errno_location() #12
  store i32 %13473, ptr %13474, align 4, !tbaa !5
  %13475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13476 = load i32, ptr @test_count, align 4, !tbaa !5
  %13477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13478 = load i32, ptr %13477, align 4, !tbaa !5
  %13479 = call ptr @s2n_strerror(i32 noundef %13478, ptr noundef @.str.25)
  %13480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13481 = load i32, ptr %13480, align 4, !tbaa !5
  %13482 = call ptr @s2n_strerror_debug(i32 noundef %13481, ptr noundef @.str.25)
  %13483 = call ptr @__errno_location() #12
  %13484 = load i32, ptr %13483, align 4, !tbaa !5
  %13485 = call ptr @strerror(i32 noundef %13484) #11
  %13486 = call ptr @__errno_location() #12
  %13487 = load i32, ptr %13486, align 4, !tbaa !5
  %13488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13475, ptr noundef @.str.23, i32 noundef %13476, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 743, ptr noundef %13479, ptr noundef %13482, ptr noundef %13485, i32 noundef %13487) #11
  br label %13506

13489:                                            ; preds = %13467, %13460
  %13490 = load i32, ptr %331, align 4, !tbaa !5
  %13491 = call ptr @__errno_location() #12
  store i32 %13490, ptr %13491, align 4, !tbaa !5
  %13492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13493 = load i32, ptr @test_count, align 4, !tbaa !5
  %13494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13495 = load i32, ptr %13494, align 4, !tbaa !5
  %13496 = call ptr @s2n_strerror(i32 noundef %13495, ptr noundef @.str.25)
  %13497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13498 = load i32, ptr %13497, align 4, !tbaa !5
  %13499 = call ptr @s2n_strerror_debug(i32 noundef %13498, ptr noundef @.str.25)
  %13500 = call ptr @__errno_location() #12
  %13501 = load i32, ptr %13500, align 4, !tbaa !5
  %13502 = call ptr @strerror(i32 noundef %13501) #11
  %13503 = call ptr @__errno_location() #12
  %13504 = load i32, ptr %13503, align 4, !tbaa !5
  %13505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13492, ptr noundef @.str.26, i32 noundef %13493, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 743, ptr noundef %13496, ptr noundef %13499, ptr noundef %13502, i32 noundef %13504) #11
  br label %13506

13506:                                            ; preds = %13489, %13472
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  br label %13507

13507:                                            ; preds = %13506
  br label %13508

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

13509:                                            ; No predecessors!
  br label %13510

13510:                                            ; preds = %13509
  br label %13511

13511:                                            ; preds = %13510, %13452
  br label %13512

13512:                                            ; preds = %13511
  br label %13513

13513:                                            ; preds = %13512
  br label %13514

13514:                                            ; preds = %13513
  %13515 = load i32, ptr @test_count, align 4, !tbaa !5
  %13516 = add nsw i32 %13515, 1
  store i32 %13516, ptr @test_count, align 4, !tbaa !5
  %13517 = load ptr, ptr %325, align 8, !tbaa !9
  %13518 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %13517)
  %13519 = getelementptr inbounds %struct.s2n_result, ptr %332, i32 0, i32 0
  store i32 %13518, ptr %13519, align 4
  %13520 = getelementptr inbounds %struct.s2n_result, ptr %332, i32 0, i32 0
  %13521 = load i32, ptr %13520, align 4
  %13522 = call zeroext i1 @s2n_result_is_ok(i32 %13521)
  br i1 %13522, label %13576, label %13523

13523:                                            ; preds = %13514
  br label %13524

13524:                                            ; preds = %13523
  br label %13525

13525:                                            ; preds = %13524
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #11
  %13526 = call ptr @__errno_location() #12
  %13527 = load i32, ptr %13526, align 4, !tbaa !5
  store i32 %13527, ptr %333, align 4, !tbaa !5
  %13528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13529 = call i32 @s2n_print_stacktrace(ptr noundef %13528)
  %13530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13531 = trunc i8 %13530 to i1
  br i1 %13531, label %13532, label %13554

13532:                                            ; preds = %13525
  %13533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13534 = call i32 @fileno(ptr noundef %13533) #11
  %13535 = call i32 @isatty(i32 noundef %13534) #11
  %13536 = icmp ne i32 %13535, 0
  br i1 %13536, label %13537, label %13554

13537:                                            ; preds = %13532
  %13538 = load i32, ptr %333, align 4, !tbaa !5
  %13539 = call ptr @__errno_location() #12
  store i32 %13538, ptr %13539, align 4, !tbaa !5
  %13540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13541 = load i32, ptr @test_count, align 4, !tbaa !5
  %13542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13543 = load i32, ptr %13542, align 4, !tbaa !5
  %13544 = call ptr @s2n_strerror(i32 noundef %13543, ptr noundef @.str.25)
  %13545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13546 = load i32, ptr %13545, align 4, !tbaa !5
  %13547 = call ptr @s2n_strerror_debug(i32 noundef %13546, ptr noundef @.str.25)
  %13548 = call ptr @__errno_location() #12
  %13549 = load i32, ptr %13548, align 4, !tbaa !5
  %13550 = call ptr @strerror(i32 noundef %13549) #11
  %13551 = call ptr @__errno_location() #12
  %13552 = load i32, ptr %13551, align 4, !tbaa !5
  %13553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13540, ptr noundef @.str.23, i32 noundef %13541, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 744, ptr noundef %13544, ptr noundef %13547, ptr noundef %13550, i32 noundef %13552) #11
  br label %13571

13554:                                            ; preds = %13532, %13525
  %13555 = load i32, ptr %333, align 4, !tbaa !5
  %13556 = call ptr @__errno_location() #12
  store i32 %13555, ptr %13556, align 4, !tbaa !5
  %13557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13558 = load i32, ptr @test_count, align 4, !tbaa !5
  %13559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13560 = load i32, ptr %13559, align 4, !tbaa !5
  %13561 = call ptr @s2n_strerror(i32 noundef %13560, ptr noundef @.str.25)
  %13562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13563 = load i32, ptr %13562, align 4, !tbaa !5
  %13564 = call ptr @s2n_strerror_debug(i32 noundef %13563, ptr noundef @.str.25)
  %13565 = call ptr @__errno_location() #12
  %13566 = load i32, ptr %13565, align 4, !tbaa !5
  %13567 = call ptr @strerror(i32 noundef %13566) #11
  %13568 = call ptr @__errno_location() #12
  %13569 = load i32, ptr %13568, align 4, !tbaa !5
  %13570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13557, ptr noundef @.str.26, i32 noundef %13558, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 744, ptr noundef %13561, ptr noundef %13564, ptr noundef %13567, i32 noundef %13569) #11
  br label %13571

13571:                                            ; preds = %13554, %13537
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #11
  br label %13572

13572:                                            ; preds = %13571
  br label %13573

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

13574:                                            ; No predecessors!
  br label %13575

13575:                                            ; preds = %13574
  br label %13576

13576:                                            ; preds = %13575, %13514
  br label %13577

13577:                                            ; preds = %13576
  br label %13578

13578:                                            ; preds = %13577
  br label %13579

13579:                                            ; preds = %13578
  %13580 = load i32, ptr @test_count, align 4, !tbaa !5
  %13581 = add nsw i32 %13580, 1
  store i32 %13581, ptr @test_count, align 4, !tbaa !5
  %13582 = load ptr, ptr %329, align 8, !tbaa !9
  %13583 = load ptr, ptr %325, align 8, !tbaa !9
  %13584 = call i32 @s2n_connection_set_config(ptr noundef %13582, ptr noundef %13583)
  %13585 = icmp eq i32 %13584, -1
  br i1 %13585, label %13586, label %13639

13586:                                            ; preds = %13579
  br label %13587

13587:                                            ; preds = %13586
  br label %13588

13588:                                            ; preds = %13587
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #11
  %13589 = call ptr @__errno_location() #12
  %13590 = load i32, ptr %13589, align 4, !tbaa !5
  store i32 %13590, ptr %334, align 4, !tbaa !5
  %13591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13592 = call i32 @s2n_print_stacktrace(ptr noundef %13591)
  %13593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13594 = trunc i8 %13593 to i1
  br i1 %13594, label %13595, label %13617

13595:                                            ; preds = %13588
  %13596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13597 = call i32 @fileno(ptr noundef %13596) #11
  %13598 = call i32 @isatty(i32 noundef %13597) #11
  %13599 = icmp ne i32 %13598, 0
  br i1 %13599, label %13600, label %13617

13600:                                            ; preds = %13595
  %13601 = load i32, ptr %334, align 4, !tbaa !5
  %13602 = call ptr @__errno_location() #12
  store i32 %13601, ptr %13602, align 4, !tbaa !5
  %13603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13604 = load i32, ptr @test_count, align 4, !tbaa !5
  %13605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13606 = load i32, ptr %13605, align 4, !tbaa !5
  %13607 = call ptr @s2n_strerror(i32 noundef %13606, ptr noundef @.str.25)
  %13608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13609 = load i32, ptr %13608, align 4, !tbaa !5
  %13610 = call ptr @s2n_strerror_debug(i32 noundef %13609, ptr noundef @.str.25)
  %13611 = call ptr @__errno_location() #12
  %13612 = load i32, ptr %13611, align 4, !tbaa !5
  %13613 = call ptr @strerror(i32 noundef %13612) #11
  %13614 = call ptr @__errno_location() #12
  %13615 = load i32, ptr %13614, align 4, !tbaa !5
  %13616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13603, ptr noundef @.str.23, i32 noundef %13604, ptr noundef @.str.81, ptr noundef @.str.22, i32 noundef 745, ptr noundef %13607, ptr noundef %13610, ptr noundef %13613, i32 noundef %13615) #11
  br label %13634

13617:                                            ; preds = %13595, %13588
  %13618 = load i32, ptr %334, align 4, !tbaa !5
  %13619 = call ptr @__errno_location() #12
  store i32 %13618, ptr %13619, align 4, !tbaa !5
  %13620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13621 = load i32, ptr @test_count, align 4, !tbaa !5
  %13622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13623 = load i32, ptr %13622, align 4, !tbaa !5
  %13624 = call ptr @s2n_strerror(i32 noundef %13623, ptr noundef @.str.25)
  %13625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13626 = load i32, ptr %13625, align 4, !tbaa !5
  %13627 = call ptr @s2n_strerror_debug(i32 noundef %13626, ptr noundef @.str.25)
  %13628 = call ptr @__errno_location() #12
  %13629 = load i32, ptr %13628, align 4, !tbaa !5
  %13630 = call ptr @strerror(i32 noundef %13629) #11
  %13631 = call ptr @__errno_location() #12
  %13632 = load i32, ptr %13631, align 4, !tbaa !5
  %13633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13620, ptr noundef @.str.26, i32 noundef %13621, ptr noundef @.str.81, ptr noundef @.str.22, i32 noundef 745, ptr noundef %13624, ptr noundef %13627, ptr noundef %13630, i32 noundef %13632) #11
  br label %13634

13634:                                            ; preds = %13617, %13600
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #11
  br label %13635

13635:                                            ; preds = %13634
  br label %13636

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

13637:                                            ; No predecessors!
  br label %13638

13638:                                            ; preds = %13637
  br label %13639

13639:                                            ; preds = %13638, %13579
  br label %13640

13640:                                            ; preds = %13639
  br label %13641

13641:                                            ; preds = %13640
  br label %13642

13642:                                            ; preds = %13641
  %13643 = load i32, ptr @test_count, align 4, !tbaa !5
  %13644 = add nsw i32 %13643, 1
  store i32 %13644, ptr @test_count, align 4, !tbaa !5
  %13645 = load ptr, ptr %325, align 8, !tbaa !9
  %13646 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %13645, ptr noundef @s2n_test_session_ticket_cb, ptr noundef null)
  %13647 = icmp eq i32 %13646, -1
  br i1 %13647, label %13648, label %13701

13648:                                            ; preds = %13642
  br label %13649

13649:                                            ; preds = %13648
  br label %13650

13650:                                            ; preds = %13649
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #11
  %13651 = call ptr @__errno_location() #12
  %13652 = load i32, ptr %13651, align 4, !tbaa !5
  store i32 %13652, ptr %335, align 4, !tbaa !5
  %13653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13654 = call i32 @s2n_print_stacktrace(ptr noundef %13653)
  %13655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13656 = trunc i8 %13655 to i1
  br i1 %13656, label %13657, label %13679

13657:                                            ; preds = %13650
  %13658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13659 = call i32 @fileno(ptr noundef %13658) #11
  %13660 = call i32 @isatty(i32 noundef %13659) #11
  %13661 = icmp ne i32 %13660, 0
  br i1 %13661, label %13662, label %13679

13662:                                            ; preds = %13657
  %13663 = load i32, ptr %335, align 4, !tbaa !5
  %13664 = call ptr @__errno_location() #12
  store i32 %13663, ptr %13664, align 4, !tbaa !5
  %13665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13666 = load i32, ptr @test_count, align 4, !tbaa !5
  %13667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13668 = load i32, ptr %13667, align 4, !tbaa !5
  %13669 = call ptr @s2n_strerror(i32 noundef %13668, ptr noundef @.str.25)
  %13670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13671 = load i32, ptr %13670, align 4, !tbaa !5
  %13672 = call ptr @s2n_strerror_debug(i32 noundef %13671, ptr noundef @.str.25)
  %13673 = call ptr @__errno_location() #12
  %13674 = load i32, ptr %13673, align 4, !tbaa !5
  %13675 = call ptr @strerror(i32 noundef %13674) #11
  %13676 = call ptr @__errno_location() #12
  %13677 = load i32, ptr %13676, align 4, !tbaa !5
  %13678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13665, ptr noundef @.str.23, i32 noundef %13666, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 747, ptr noundef %13669, ptr noundef %13672, ptr noundef %13675, i32 noundef %13677) #11
  br label %13696

13679:                                            ; preds = %13657, %13650
  %13680 = load i32, ptr %335, align 4, !tbaa !5
  %13681 = call ptr @__errno_location() #12
  store i32 %13680, ptr %13681, align 4, !tbaa !5
  %13682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13683 = load i32, ptr @test_count, align 4, !tbaa !5
  %13684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13685 = load i32, ptr %13684, align 4, !tbaa !5
  %13686 = call ptr @s2n_strerror(i32 noundef %13685, ptr noundef @.str.25)
  %13687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13688 = load i32, ptr %13687, align 4, !tbaa !5
  %13689 = call ptr @s2n_strerror_debug(i32 noundef %13688, ptr noundef @.str.25)
  %13690 = call ptr @__errno_location() #12
  %13691 = load i32, ptr %13690, align 4, !tbaa !5
  %13692 = call ptr @strerror(i32 noundef %13691) #11
  %13693 = call ptr @__errno_location() #12
  %13694 = load i32, ptr %13693, align 4, !tbaa !5
  %13695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13682, ptr noundef @.str.26, i32 noundef %13683, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 747, ptr noundef %13686, ptr noundef %13689, ptr noundef %13692, i32 noundef %13694) #11
  br label %13696

13696:                                            ; preds = %13679, %13662
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #11
  br label %13697

13697:                                            ; preds = %13696
  br label %13698

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

13699:                                            ; No predecessors!
  br label %13700

13700:                                            ; preds = %13699
  br label %13701

13701:                                            ; preds = %13700, %13642
  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 %326, align 8, !tbaa !9
  %13708 = load ptr, ptr %325, align 8, !tbaa !9
  %13709 = call i32 @s2n_connection_set_config(ptr noundef %13707, ptr noundef %13708)
  %13710 = icmp eq i32 %13709, -1
  br i1 %13710, label %13711, label %13764

13711:                                            ; preds = %13704
  br label %13712

13712:                                            ; preds = %13711
  br label %13713

13713:                                            ; preds = %13712
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #11
  %13714 = call ptr @__errno_location() #12
  %13715 = load i32, ptr %13714, align 4, !tbaa !5
  store i32 %13715, ptr %336, align 4, !tbaa !5
  %13716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13717 = call i32 @s2n_print_stacktrace(ptr noundef %13716)
  %13718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13719 = trunc i8 %13718 to i1
  br i1 %13719, label %13720, label %13742

13720:                                            ; preds = %13713
  %13721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13722 = call i32 @fileno(ptr noundef %13721) #11
  %13723 = call i32 @isatty(i32 noundef %13722) #11
  %13724 = icmp ne i32 %13723, 0
  br i1 %13724, label %13725, label %13742

13725:                                            ; preds = %13720
  %13726 = load i32, ptr %336, align 4, !tbaa !5
  %13727 = call ptr @__errno_location() #12
  store i32 %13726, ptr %13727, align 4, !tbaa !5
  %13728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13729 = load i32, ptr @test_count, align 4, !tbaa !5
  %13730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13731 = load i32, ptr %13730, align 4, !tbaa !5
  %13732 = call ptr @s2n_strerror(i32 noundef %13731, ptr noundef @.str.25)
  %13733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13734 = load i32, ptr %13733, align 4, !tbaa !5
  %13735 = call ptr @s2n_strerror_debug(i32 noundef %13734, ptr noundef @.str.25)
  %13736 = call ptr @__errno_location() #12
  %13737 = load i32, ptr %13736, align 4, !tbaa !5
  %13738 = call ptr @strerror(i32 noundef %13737) #11
  %13739 = call ptr @__errno_location() #12
  %13740 = load i32, ptr %13739, align 4, !tbaa !5
  %13741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13728, ptr noundef @.str.23, i32 noundef %13729, ptr noundef @.str.137, ptr noundef @.str.22, i32 noundef 748, ptr noundef %13732, ptr noundef %13735, ptr noundef %13738, i32 noundef %13740) #11
  br label %13759

13742:                                            ; preds = %13720, %13713
  %13743 = load i32, ptr %336, align 4, !tbaa !5
  %13744 = call ptr @__errno_location() #12
  store i32 %13743, ptr %13744, align 4, !tbaa !5
  %13745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13746 = load i32, ptr @test_count, align 4, !tbaa !5
  %13747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13748 = load i32, ptr %13747, align 4, !tbaa !5
  %13749 = call ptr @s2n_strerror(i32 noundef %13748, ptr noundef @.str.25)
  %13750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13751 = load i32, ptr %13750, align 4, !tbaa !5
  %13752 = call ptr @s2n_strerror_debug(i32 noundef %13751, ptr noundef @.str.25)
  %13753 = call ptr @__errno_location() #12
  %13754 = load i32, ptr %13753, align 4, !tbaa !5
  %13755 = call ptr @strerror(i32 noundef %13754) #11
  %13756 = call ptr @__errno_location() #12
  %13757 = load i32, ptr %13756, align 4, !tbaa !5
  %13758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13745, ptr noundef @.str.26, i32 noundef %13746, ptr noundef @.str.137, ptr noundef @.str.22, i32 noundef 748, ptr noundef %13749, ptr noundef %13752, ptr noundef %13755, i32 noundef %13757) #11
  br label %13759

13759:                                            ; preds = %13742, %13725
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #11
  br label %13760

13760:                                            ; preds = %13759
  br label %13761

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

13762:                                            ; No predecessors!
  br label %13763

13763:                                            ; preds = %13762
  br label %13764

13764:                                            ; preds = %13763, %13704
  br label %13765

13765:                                            ; preds = %13764
  br label %13766

13766:                                            ; preds = %13765
  %13767 = load ptr, ptr %326, align 8, !tbaa !9
  %13768 = getelementptr inbounds %struct.s2n_connection, ptr %13767, i32 0, i32 23
  store i8 34, ptr %13768, align 4, !tbaa !17
  %13769 = load ptr, ptr %329, align 8, !tbaa !9
  %13770 = getelementptr inbounds %struct.s2n_connection, ptr %13769, i32 0, i32 23
  store i8 34, ptr %13770, align 4, !tbaa !17
  %13771 = load ptr, ptr %326, align 8, !tbaa !9
  %13772 = getelementptr inbounds %struct.s2n_connection, ptr %13771, i32 0, i32 27
  %13773 = load ptr, ptr %13772, align 8, !tbaa !43
  %13774 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %13773, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %13774, align 8, !tbaa !44
  %13775 = load ptr, ptr %329, align 8, !tbaa !9
  %13776 = getelementptr inbounds %struct.s2n_connection, ptr %13775, i32 0, i32 27
  %13777 = load ptr, ptr %13776, align 8, !tbaa !43
  %13778 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %13777, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %13778, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr %337) #11
  call void @llvm.memset.p0.i64(ptr align 8 %337, i8 0, i64 40, i1 false)
  br label %13779

13779:                                            ; preds = %13766
  %13780 = load i32, ptr @test_count, align 4, !tbaa !5
  %13781 = add nsw i32 %13780, 1
  store i32 %13781, ptr @test_count, align 4, !tbaa !5
  %13782 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %337, i32 noundef 0)
  %13783 = icmp eq i32 %13782, -1
  br i1 %13783, label %13784, label %13837

13784:                                            ; preds = %13779
  br label %13785

13785:                                            ; preds = %13784
  br label %13786

13786:                                            ; preds = %13785
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #11
  %13787 = call ptr @__errno_location() #12
  %13788 = load i32, ptr %13787, align 4, !tbaa !5
  store i32 %13788, ptr %338, align 4, !tbaa !5
  %13789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13790 = call i32 @s2n_print_stacktrace(ptr noundef %13789)
  %13791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13792 = trunc i8 %13791 to i1
  br i1 %13792, label %13793, label %13815

13793:                                            ; preds = %13786
  %13794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13795 = call i32 @fileno(ptr noundef %13794) #11
  %13796 = call i32 @isatty(i32 noundef %13795) #11
  %13797 = icmp ne i32 %13796, 0
  br i1 %13797, label %13798, label %13815

13798:                                            ; preds = %13793
  %13799 = load i32, ptr %338, align 4, !tbaa !5
  %13800 = call ptr @__errno_location() #12
  store i32 %13799, ptr %13800, align 4, !tbaa !5
  %13801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13802 = load i32, ptr @test_count, align 4, !tbaa !5
  %13803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13804 = load i32, ptr %13803, align 4, !tbaa !5
  %13805 = call ptr @s2n_strerror(i32 noundef %13804, ptr noundef @.str.25)
  %13806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13807 = load i32, ptr %13806, align 4, !tbaa !5
  %13808 = call ptr @s2n_strerror_debug(i32 noundef %13807, ptr noundef @.str.25)
  %13809 = call ptr @__errno_location() #12
  %13810 = load i32, ptr %13809, align 4, !tbaa !5
  %13811 = call ptr @strerror(i32 noundef %13810) #11
  %13812 = call ptr @__errno_location() #12
  %13813 = load i32, ptr %13812, align 4, !tbaa !5
  %13814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13801, ptr noundef @.str.23, i32 noundef %13802, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 756, ptr noundef %13805, ptr noundef %13808, ptr noundef %13811, i32 noundef %13813) #11
  br label %13832

13815:                                            ; preds = %13793, %13786
  %13816 = load i32, ptr %338, align 4, !tbaa !5
  %13817 = call ptr @__errno_location() #12
  store i32 %13816, ptr %13817, align 4, !tbaa !5
  %13818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13819 = load i32, ptr @test_count, align 4, !tbaa !5
  %13820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13821 = load i32, ptr %13820, align 4, !tbaa !5
  %13822 = call ptr @s2n_strerror(i32 noundef %13821, ptr noundef @.str.25)
  %13823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13824 = load i32, ptr %13823, align 4, !tbaa !5
  %13825 = call ptr @s2n_strerror_debug(i32 noundef %13824, ptr noundef @.str.25)
  %13826 = call ptr @__errno_location() #12
  %13827 = load i32, ptr %13826, align 4, !tbaa !5
  %13828 = call ptr @strerror(i32 noundef %13827) #11
  %13829 = call ptr @__errno_location() #12
  %13830 = load i32, ptr %13829, align 4, !tbaa !5
  %13831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13818, ptr noundef @.str.26, i32 noundef %13819, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 756, ptr noundef %13822, ptr noundef %13825, ptr noundef %13828, i32 noundef %13830) #11
  br label %13832

13832:                                            ; preds = %13815, %13798
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #11
  br label %13833

13833:                                            ; preds = %13832
  br label %13834

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

13835:                                            ; No predecessors!
  br label %13836

13836:                                            ; preds = %13835
  br label %13837

13837:                                            ; preds = %13836, %13779
  br label %13838

13838:                                            ; preds = %13837
  br label %13839

13839:                                            ; preds = %13838
  br label %13840

13840:                                            ; preds = %13839
  %13841 = load i32, ptr @test_count, align 4, !tbaa !5
  %13842 = add nsw i32 %13841, 1
  store i32 %13842, ptr @test_count, align 4, !tbaa !5
  %13843 = load ptr, ptr %329, align 8, !tbaa !9
  %13844 = call i32 @s2n_tls13_server_nst_write(ptr noundef %13843, ptr noundef %337)
  %13845 = getelementptr inbounds %struct.s2n_result, ptr %339, i32 0, i32 0
  store i32 %13844, ptr %13845, align 4
  %13846 = getelementptr inbounds %struct.s2n_result, ptr %339, i32 0, i32 0
  %13847 = load i32, ptr %13846, align 4
  %13848 = call zeroext i1 @s2n_result_is_ok(i32 %13847)
  br i1 %13848, label %13902, label %13849

13849:                                            ; preds = %13840
  br label %13850

13850:                                            ; preds = %13849
  br label %13851

13851:                                            ; preds = %13850
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #11
  %13852 = call ptr @__errno_location() #12
  %13853 = load i32, ptr %13852, align 4, !tbaa !5
  store i32 %13853, ptr %340, align 4, !tbaa !5
  %13854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13855 = call i32 @s2n_print_stacktrace(ptr noundef %13854)
  %13856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13857 = trunc i8 %13856 to i1
  br i1 %13857, label %13858, label %13880

13858:                                            ; preds = %13851
  %13859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13860 = call i32 @fileno(ptr noundef %13859) #11
  %13861 = call i32 @isatty(i32 noundef %13860) #11
  %13862 = icmp ne i32 %13861, 0
  br i1 %13862, label %13863, label %13880

13863:                                            ; preds = %13858
  %13864 = load i32, ptr %340, align 4, !tbaa !5
  %13865 = call ptr @__errno_location() #12
  store i32 %13864, ptr %13865, align 4, !tbaa !5
  %13866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13867 = load i32, ptr @test_count, align 4, !tbaa !5
  %13868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13869 = load i32, ptr %13868, align 4, !tbaa !5
  %13870 = call ptr @s2n_strerror(i32 noundef %13869, ptr noundef @.str.25)
  %13871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13872 = load i32, ptr %13871, align 4, !tbaa !5
  %13873 = call ptr @s2n_strerror_debug(i32 noundef %13872, ptr noundef @.str.25)
  %13874 = call ptr @__errno_location() #12
  %13875 = load i32, ptr %13874, align 4, !tbaa !5
  %13876 = call ptr @strerror(i32 noundef %13875) #11
  %13877 = call ptr @__errno_location() #12
  %13878 = load i32, ptr %13877, align 4, !tbaa !5
  %13879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13866, ptr noundef @.str.23, i32 noundef %13867, ptr noundef @.str.138, ptr noundef @.str.22, i32 noundef 758, ptr noundef %13870, ptr noundef %13873, ptr noundef %13876, i32 noundef %13878) #11
  br label %13897

13880:                                            ; preds = %13858, %13851
  %13881 = load i32, ptr %340, align 4, !tbaa !5
  %13882 = call ptr @__errno_location() #12
  store i32 %13881, ptr %13882, align 4, !tbaa !5
  %13883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13884 = load i32, ptr @test_count, align 4, !tbaa !5
  %13885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13886 = load i32, ptr %13885, align 4, !tbaa !5
  %13887 = call ptr @s2n_strerror(i32 noundef %13886, ptr noundef @.str.25)
  %13888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13889 = load i32, ptr %13888, align 4, !tbaa !5
  %13890 = call ptr @s2n_strerror_debug(i32 noundef %13889, ptr noundef @.str.25)
  %13891 = call ptr @__errno_location() #12
  %13892 = load i32, ptr %13891, align 4, !tbaa !5
  %13893 = call ptr @strerror(i32 noundef %13892) #11
  %13894 = call ptr @__errno_location() #12
  %13895 = load i32, ptr %13894, align 4, !tbaa !5
  %13896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13883, ptr noundef @.str.26, i32 noundef %13884, ptr noundef @.str.138, ptr noundef @.str.22, i32 noundef 758, ptr noundef %13887, ptr noundef %13890, ptr noundef %13893, i32 noundef %13895) #11
  br label %13897

13897:                                            ; preds = %13880, %13863
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #11
  br label %13898

13898:                                            ; preds = %13897
  br label %13899

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

13900:                                            ; No predecessors!
  br label %13901

13901:                                            ; preds = %13900
  br label %13902

13902:                                            ; preds = %13901, %13840
  br label %13903

13903:                                            ; preds = %13902
  br label %13904

13904:                                            ; preds = %13903
  br label %13905

13905:                                            ; preds = %13904
  %13906 = load i32, ptr @test_count, align 4, !tbaa !5
  %13907 = add nsw i32 %13906, 1
  store i32 %13907, ptr @test_count, align 4, !tbaa !5
  %13908 = call i32 @s2n_stuffer_skip_read(ptr noundef %337, i32 noundef 4)
  %13909 = icmp eq i32 %13908, -1
  br i1 %13909, label %13910, label %13963

13910:                                            ; preds = %13905
  br label %13911

13911:                                            ; preds = %13910
  br label %13912

13912:                                            ; preds = %13911
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #11
  %13913 = call ptr @__errno_location() #12
  %13914 = load i32, ptr %13913, align 4, !tbaa !5
  store i32 %13914, ptr %341, align 4, !tbaa !5
  %13915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13916 = call i32 @s2n_print_stacktrace(ptr noundef %13915)
  %13917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13918 = trunc i8 %13917 to i1
  br i1 %13918, label %13919, label %13941

13919:                                            ; preds = %13912
  %13920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13921 = call i32 @fileno(ptr noundef %13920) #11
  %13922 = call i32 @isatty(i32 noundef %13921) #11
  %13923 = icmp ne i32 %13922, 0
  br i1 %13923, label %13924, label %13941

13924:                                            ; preds = %13919
  %13925 = load i32, ptr %341, align 4, !tbaa !5
  %13926 = call ptr @__errno_location() #12
  store i32 %13925, ptr %13926, align 4, !tbaa !5
  %13927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13928 = load i32, ptr @test_count, align 4, !tbaa !5
  %13929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13930 = load i32, ptr %13929, align 4, !tbaa !5
  %13931 = call ptr @s2n_strerror(i32 noundef %13930, ptr noundef @.str.25)
  %13932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13933 = load i32, ptr %13932, align 4, !tbaa !5
  %13934 = call ptr @s2n_strerror_debug(i32 noundef %13933, ptr noundef @.str.25)
  %13935 = call ptr @__errno_location() #12
  %13936 = load i32, ptr %13935, align 4, !tbaa !5
  %13937 = call ptr @strerror(i32 noundef %13936) #11
  %13938 = call ptr @__errno_location() #12
  %13939 = load i32, ptr %13938, align 4, !tbaa !5
  %13940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13927, ptr noundef @.str.23, i32 noundef %13928, ptr noundef @.str.139, ptr noundef @.str.22, i32 noundef 759, ptr noundef %13931, ptr noundef %13934, ptr noundef %13937, i32 noundef %13939) #11
  br label %13958

13941:                                            ; preds = %13919, %13912
  %13942 = load i32, ptr %341, align 4, !tbaa !5
  %13943 = call ptr @__errno_location() #12
  store i32 %13942, ptr %13943, align 4, !tbaa !5
  %13944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13945 = load i32, ptr @test_count, align 4, !tbaa !5
  %13946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13947 = load i32, ptr %13946, align 4, !tbaa !5
  %13948 = call ptr @s2n_strerror(i32 noundef %13947, ptr noundef @.str.25)
  %13949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13950 = load i32, ptr %13949, align 4, !tbaa !5
  %13951 = call ptr @s2n_strerror_debug(i32 noundef %13950, ptr noundef @.str.25)
  %13952 = call ptr @__errno_location() #12
  %13953 = load i32, ptr %13952, align 4, !tbaa !5
  %13954 = call ptr @strerror(i32 noundef %13953) #11
  %13955 = call ptr @__errno_location() #12
  %13956 = load i32, ptr %13955, align 4, !tbaa !5
  %13957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13944, ptr noundef @.str.26, i32 noundef %13945, ptr noundef @.str.139, ptr noundef @.str.22, i32 noundef 759, ptr noundef %13948, ptr noundef %13951, ptr noundef %13954, i32 noundef %13956) #11
  br label %13958

13958:                                            ; preds = %13941, %13924
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #11
  br label %13959

13959:                                            ; preds = %13958
  br label %13960

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

13961:                                            ; No predecessors!
  br label %13962

13962:                                            ; preds = %13961
  br label %13963

13963:                                            ; preds = %13962, %13905
  br label %13964

13964:                                            ; preds = %13963
  br label %13965

13965:                                            ; preds = %13964
  br label %13966

13966:                                            ; preds = %13965
  %13967 = load i32, ptr @test_count, align 4, !tbaa !5
  %13968 = add nsw i32 %13967, 1
  store i32 %13968, ptr @test_count, align 4, !tbaa !5
  %13969 = load ptr, ptr %326, align 8, !tbaa !9
  %13970 = call i32 @s2n_tls13_server_nst_recv(ptr noundef %13969, ptr noundef %337)
  %13971 = getelementptr inbounds %struct.s2n_result, ptr %342, i32 0, i32 0
  store i32 %13970, ptr %13971, align 4
  %13972 = getelementptr inbounds %struct.s2n_result, ptr %342, i32 0, i32 0
  %13973 = load i32, ptr %13972, align 4
  %13974 = call zeroext i1 @s2n_result_is_ok(i32 %13973)
  br i1 %13974, label %14028, label %13975

13975:                                            ; preds = %13966
  br label %13976

13976:                                            ; preds = %13975
  br label %13977

13977:                                            ; preds = %13976
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #11
  %13978 = call ptr @__errno_location() #12
  %13979 = load i32, ptr %13978, align 4, !tbaa !5
  store i32 %13979, ptr %343, align 4, !tbaa !5
  %13980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13981 = call i32 @s2n_print_stacktrace(ptr noundef %13980)
  %13982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13983 = trunc i8 %13982 to i1
  br i1 %13983, label %13984, label %14006

13984:                                            ; preds = %13977
  %13985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13986 = call i32 @fileno(ptr noundef %13985) #11
  %13987 = call i32 @isatty(i32 noundef %13986) #11
  %13988 = icmp ne i32 %13987, 0
  br i1 %13988, label %13989, label %14006

13989:                                            ; preds = %13984
  %13990 = load i32, ptr %343, align 4, !tbaa !5
  %13991 = call ptr @__errno_location() #12
  store i32 %13990, ptr %13991, align 4, !tbaa !5
  %13992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13993 = load i32, ptr @test_count, align 4, !tbaa !5
  %13994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13995 = load i32, ptr %13994, align 4, !tbaa !5
  %13996 = call ptr @s2n_strerror(i32 noundef %13995, ptr noundef @.str.25)
  %13997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13998 = load i32, ptr %13997, align 4, !tbaa !5
  %13999 = call ptr @s2n_strerror_debug(i32 noundef %13998, ptr noundef @.str.25)
  %14000 = call ptr @__errno_location() #12
  %14001 = load i32, ptr %14000, align 4, !tbaa !5
  %14002 = call ptr @strerror(i32 noundef %14001) #11
  %14003 = call ptr @__errno_location() #12
  %14004 = load i32, ptr %14003, align 4, !tbaa !5
  %14005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13992, ptr noundef @.str.23, i32 noundef %13993, ptr noundef @.str.140, ptr noundef @.str.22, i32 noundef 760, ptr noundef %13996, ptr noundef %13999, ptr noundef %14002, i32 noundef %14004) #11
  br label %14023

14006:                                            ; preds = %13984, %13977
  %14007 = load i32, ptr %343, align 4, !tbaa !5
  %14008 = call ptr @__errno_location() #12
  store i32 %14007, ptr %14008, align 4, !tbaa !5
  %14009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14010 = load i32, ptr @test_count, align 4, !tbaa !5
  %14011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14012 = load i32, ptr %14011, align 4, !tbaa !5
  %14013 = call ptr @s2n_strerror(i32 noundef %14012, ptr noundef @.str.25)
  %14014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14015 = load i32, ptr %14014, align 4, !tbaa !5
  %14016 = call ptr @s2n_strerror_debug(i32 noundef %14015, ptr noundef @.str.25)
  %14017 = call ptr @__errno_location() #12
  %14018 = load i32, ptr %14017, align 4, !tbaa !5
  %14019 = call ptr @strerror(i32 noundef %14018) #11
  %14020 = call ptr @__errno_location() #12
  %14021 = load i32, ptr %14020, align 4, !tbaa !5
  %14022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14009, ptr noundef @.str.26, i32 noundef %14010, ptr noundef @.str.140, ptr noundef @.str.22, i32 noundef 760, ptr noundef %14013, ptr noundef %14016, ptr noundef %14019, i32 noundef %14021) #11
  br label %14023

14023:                                            ; preds = %14006, %13989
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #11
  br label %14024

14024:                                            ; preds = %14023
  br label %14025

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

14026:                                            ; No predecessors!
  br label %14027

14027:                                            ; preds = %14026
  br label %14028

14028:                                            ; preds = %14027, %13966
  br label %14029

14029:                                            ; preds = %14028
  br label %14030

14030:                                            ; preds = %14029
  br label %14031

14031:                                            ; preds = %14030
  %14032 = load i32, ptr @test_count, align 4, !tbaa !5
  %14033 = add nsw i32 %14032, 1
  store i32 %14033, ptr @test_count, align 4, !tbaa !5
  %14034 = load ptr, ptr %326, align 8, !tbaa !9
  %14035 = call i32 @s2n_connection_free(ptr noundef %14034)
  %14036 = icmp eq i32 %14035, -1
  br i1 %14036, label %14037, label %14090

14037:                                            ; preds = %14031
  br label %14038

14038:                                            ; preds = %14037
  br label %14039

14039:                                            ; preds = %14038
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #11
  %14040 = call ptr @__errno_location() #12
  %14041 = load i32, ptr %14040, align 4, !tbaa !5
  store i32 %14041, ptr %344, align 4, !tbaa !5
  %14042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14043 = call i32 @s2n_print_stacktrace(ptr noundef %14042)
  %14044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14045 = trunc i8 %14044 to i1
  br i1 %14045, label %14046, label %14068

14046:                                            ; preds = %14039
  %14047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14048 = call i32 @fileno(ptr noundef %14047) #11
  %14049 = call i32 @isatty(i32 noundef %14048) #11
  %14050 = icmp ne i32 %14049, 0
  br i1 %14050, label %14051, label %14068

14051:                                            ; preds = %14046
  %14052 = load i32, ptr %344, align 4, !tbaa !5
  %14053 = call ptr @__errno_location() #12
  store i32 %14052, ptr %14053, align 4, !tbaa !5
  %14054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14055 = load i32, ptr @test_count, align 4, !tbaa !5
  %14056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14057 = load i32, ptr %14056, align 4, !tbaa !5
  %14058 = call ptr @s2n_strerror(i32 noundef %14057, ptr noundef @.str.25)
  %14059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14060 = load i32, ptr %14059, align 4, !tbaa !5
  %14061 = call ptr @s2n_strerror_debug(i32 noundef %14060, ptr noundef @.str.25)
  %14062 = call ptr @__errno_location() #12
  %14063 = load i32, ptr %14062, align 4, !tbaa !5
  %14064 = call ptr @strerror(i32 noundef %14063) #11
  %14065 = call ptr @__errno_location() #12
  %14066 = load i32, ptr %14065, align 4, !tbaa !5
  %14067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14054, ptr noundef @.str.23, i32 noundef %14055, ptr noundef @.str.141, ptr noundef @.str.22, i32 noundef 762, ptr noundef %14058, ptr noundef %14061, ptr noundef %14064, i32 noundef %14066) #11
  br label %14085

14068:                                            ; preds = %14046, %14039
  %14069 = load i32, ptr %344, align 4, !tbaa !5
  %14070 = call ptr @__errno_location() #12
  store i32 %14069, ptr %14070, align 4, !tbaa !5
  %14071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14072 = load i32, ptr @test_count, align 4, !tbaa !5
  %14073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14074 = load i32, ptr %14073, align 4, !tbaa !5
  %14075 = call ptr @s2n_strerror(i32 noundef %14074, ptr noundef @.str.25)
  %14076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14077 = load i32, ptr %14076, align 4, !tbaa !5
  %14078 = call ptr @s2n_strerror_debug(i32 noundef %14077, ptr noundef @.str.25)
  %14079 = call ptr @__errno_location() #12
  %14080 = load i32, ptr %14079, align 4, !tbaa !5
  %14081 = call ptr @strerror(i32 noundef %14080) #11
  %14082 = call ptr @__errno_location() #12
  %14083 = load i32, ptr %14082, align 4, !tbaa !5
  %14084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14071, ptr noundef @.str.26, i32 noundef %14072, ptr noundef @.str.141, ptr noundef @.str.22, i32 noundef 762, ptr noundef %14075, ptr noundef %14078, ptr noundef %14081, i32 noundef %14083) #11
  br label %14085

14085:                                            ; preds = %14068, %14051
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #11
  br label %14086

14086:                                            ; preds = %14085
  br label %14087

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

14088:                                            ; No predecessors!
  br label %14089

14089:                                            ; preds = %14088
  br label %14090

14090:                                            ; preds = %14089, %14031
  br label %14091

14091:                                            ; preds = %14090
  br label %14092

14092:                                            ; preds = %14091
  br label %14093

14093:                                            ; preds = %14092
  %14094 = load i32, ptr @test_count, align 4, !tbaa !5
  %14095 = add nsw i32 %14094, 1
  store i32 %14095, ptr @test_count, align 4, !tbaa !5
  %14096 = load ptr, ptr %329, align 8, !tbaa !9
  %14097 = call i32 @s2n_connection_free(ptr noundef %14096)
  %14098 = icmp eq i32 %14097, -1
  br i1 %14098, label %14099, label %14152

14099:                                            ; preds = %14093
  br label %14100

14100:                                            ; preds = %14099
  br label %14101

14101:                                            ; preds = %14100
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #11
  %14102 = call ptr @__errno_location() #12
  %14103 = load i32, ptr %14102, align 4, !tbaa !5
  store i32 %14103, ptr %345, align 4, !tbaa !5
  %14104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14105 = call i32 @s2n_print_stacktrace(ptr noundef %14104)
  %14106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14107 = trunc i8 %14106 to i1
  br i1 %14107, label %14108, label %14130

14108:                                            ; preds = %14101
  %14109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14110 = call i32 @fileno(ptr noundef %14109) #11
  %14111 = call i32 @isatty(i32 noundef %14110) #11
  %14112 = icmp ne i32 %14111, 0
  br i1 %14112, label %14113, label %14130

14113:                                            ; preds = %14108
  %14114 = load i32, ptr %345, align 4, !tbaa !5
  %14115 = call ptr @__errno_location() #12
  store i32 %14114, ptr %14115, align 4, !tbaa !5
  %14116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14117 = load i32, ptr @test_count, align 4, !tbaa !5
  %14118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14119 = load i32, ptr %14118, align 4, !tbaa !5
  %14120 = call ptr @s2n_strerror(i32 noundef %14119, ptr noundef @.str.25)
  %14121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14122 = load i32, ptr %14121, align 4, !tbaa !5
  %14123 = call ptr @s2n_strerror_debug(i32 noundef %14122, ptr noundef @.str.25)
  %14124 = call ptr @__errno_location() #12
  %14125 = load i32, ptr %14124, align 4, !tbaa !5
  %14126 = call ptr @strerror(i32 noundef %14125) #11
  %14127 = call ptr @__errno_location() #12
  %14128 = load i32, ptr %14127, align 4, !tbaa !5
  %14129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14116, ptr noundef @.str.23, i32 noundef %14117, ptr noundef @.str.87, ptr noundef @.str.22, i32 noundef 763, ptr noundef %14120, ptr noundef %14123, ptr noundef %14126, i32 noundef %14128) #11
  br label %14147

14130:                                            ; preds = %14108, %14101
  %14131 = load i32, ptr %345, align 4, !tbaa !5
  %14132 = call ptr @__errno_location() #12
  store i32 %14131, ptr %14132, align 4, !tbaa !5
  %14133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14134 = load i32, ptr @test_count, align 4, !tbaa !5
  %14135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14136 = load i32, ptr %14135, align 4, !tbaa !5
  %14137 = call ptr @s2n_strerror(i32 noundef %14136, ptr noundef @.str.25)
  %14138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14139 = load i32, ptr %14138, align 4, !tbaa !5
  %14140 = call ptr @s2n_strerror_debug(i32 noundef %14139, ptr noundef @.str.25)
  %14141 = call ptr @__errno_location() #12
  %14142 = load i32, ptr %14141, align 4, !tbaa !5
  %14143 = call ptr @strerror(i32 noundef %14142) #11
  %14144 = call ptr @__errno_location() #12
  %14145 = load i32, ptr %14144, align 4, !tbaa !5
  %14146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14133, ptr noundef @.str.26, i32 noundef %14134, ptr noundef @.str.87, ptr noundef @.str.22, i32 noundef 763, ptr noundef %14137, ptr noundef %14140, ptr noundef %14143, i32 noundef %14145) #11
  br label %14147

14147:                                            ; preds = %14130, %14113
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #11
  br label %14148

14148:                                            ; preds = %14147
  br label %14149

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

14150:                                            ; No predecessors!
  br label %14151

14151:                                            ; preds = %14150
  br label %14152

14152:                                            ; preds = %14151, %14093
  br label %14153

14153:                                            ; preds = %14152
  br label %14154

14154:                                            ; preds = %14153
  br label %14155

14155:                                            ; preds = %14154
  %14156 = load i32, ptr @test_count, align 4, !tbaa !5
  %14157 = add nsw i32 %14156, 1
  store i32 %14157, ptr @test_count, align 4, !tbaa !5
  %14158 = call i32 @s2n_stuffer_free(ptr noundef %337)
  %14159 = icmp eq i32 %14158, -1
  br i1 %14159, label %14160, label %14213

14160:                                            ; preds = %14155
  br label %14161

14161:                                            ; preds = %14160
  br label %14162

14162:                                            ; preds = %14161
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #11
  %14163 = call ptr @__errno_location() #12
  %14164 = load i32, ptr %14163, align 4, !tbaa !5
  store i32 %14164, ptr %346, align 4, !tbaa !5
  %14165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14166 = call i32 @s2n_print_stacktrace(ptr noundef %14165)
  %14167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14168 = trunc i8 %14167 to i1
  br i1 %14168, label %14169, label %14191

14169:                                            ; preds = %14162
  %14170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14171 = call i32 @fileno(ptr noundef %14170) #11
  %14172 = call i32 @isatty(i32 noundef %14171) #11
  %14173 = icmp ne i32 %14172, 0
  br i1 %14173, label %14174, label %14191

14174:                                            ; preds = %14169
  %14175 = load i32, ptr %346, align 4, !tbaa !5
  %14176 = call ptr @__errno_location() #12
  store i32 %14175, ptr %14176, align 4, !tbaa !5
  %14177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14178 = load i32, ptr @test_count, align 4, !tbaa !5
  %14179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14180 = load i32, ptr %14179, align 4, !tbaa !5
  %14181 = call ptr @s2n_strerror(i32 noundef %14180, ptr noundef @.str.25)
  %14182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14183 = load i32, ptr %14182, align 4, !tbaa !5
  %14184 = call ptr @s2n_strerror_debug(i32 noundef %14183, ptr noundef @.str.25)
  %14185 = call ptr @__errno_location() #12
  %14186 = load i32, ptr %14185, align 4, !tbaa !5
  %14187 = call ptr @strerror(i32 noundef %14186) #11
  %14188 = call ptr @__errno_location() #12
  %14189 = load i32, ptr %14188, align 4, !tbaa !5
  %14190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14177, ptr noundef @.str.23, i32 noundef %14178, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 764, ptr noundef %14181, ptr noundef %14184, ptr noundef %14187, i32 noundef %14189) #11
  br label %14208

14191:                                            ; preds = %14169, %14162
  %14192 = load i32, ptr %346, align 4, !tbaa !5
  %14193 = call ptr @__errno_location() #12
  store i32 %14192, ptr %14193, align 4, !tbaa !5
  %14194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14195 = load i32, ptr @test_count, align 4, !tbaa !5
  %14196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14197 = load i32, ptr %14196, align 4, !tbaa !5
  %14198 = call ptr @s2n_strerror(i32 noundef %14197, ptr noundef @.str.25)
  %14199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14200 = load i32, ptr %14199, align 4, !tbaa !5
  %14201 = call ptr @s2n_strerror_debug(i32 noundef %14200, ptr noundef @.str.25)
  %14202 = call ptr @__errno_location() #12
  %14203 = load i32, ptr %14202, align 4, !tbaa !5
  %14204 = call ptr @strerror(i32 noundef %14203) #11
  %14205 = call ptr @__errno_location() #12
  %14206 = load i32, ptr %14205, align 4, !tbaa !5
  %14207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14194, ptr noundef @.str.26, i32 noundef %14195, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 764, ptr noundef %14198, ptr noundef %14201, ptr noundef %14204, i32 noundef %14206) #11
  br label %14208

14208:                                            ; preds = %14191, %14174
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #11
  br label %14209

14209:                                            ; preds = %14208
  br label %14210

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

14211:                                            ; No predecessors!
  br label %14212

14212:                                            ; preds = %14211
  br label %14213

14213:                                            ; preds = %14212, %14155
  br label %14214

14214:                                            ; preds = %14213
  br label %14215

14215:                                            ; preds = %14214
  br label %14216

14216:                                            ; preds = %14215
  %14217 = load i32, ptr @test_count, align 4, !tbaa !5
  %14218 = add nsw i32 %14217, 1
  store i32 %14218, ptr @test_count, align 4, !tbaa !5
  %14219 = load ptr, ptr %325, align 8, !tbaa !9
  %14220 = call i32 @s2n_config_free(ptr noundef %14219)
  %14221 = icmp eq i32 %14220, -1
  br i1 %14221, label %14222, label %14275

14222:                                            ; preds = %14216
  br label %14223

14223:                                            ; preds = %14222
  br label %14224

14224:                                            ; preds = %14223
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #11
  %14225 = call ptr @__errno_location() #12
  %14226 = load i32, ptr %14225, align 4, !tbaa !5
  store i32 %14226, ptr %347, align 4, !tbaa !5
  %14227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14228 = call i32 @s2n_print_stacktrace(ptr noundef %14227)
  %14229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14230 = trunc i8 %14229 to i1
  br i1 %14230, label %14231, label %14253

14231:                                            ; preds = %14224
  %14232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14233 = call i32 @fileno(ptr noundef %14232) #11
  %14234 = call i32 @isatty(i32 noundef %14233) #11
  %14235 = icmp ne i32 %14234, 0
  br i1 %14235, label %14236, label %14253

14236:                                            ; preds = %14231
  %14237 = load i32, ptr %347, align 4, !tbaa !5
  %14238 = call ptr @__errno_location() #12
  store i32 %14237, ptr %14238, align 4, !tbaa !5
  %14239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14240 = load i32, ptr @test_count, align 4, !tbaa !5
  %14241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14242 = load i32, ptr %14241, align 4, !tbaa !5
  %14243 = call ptr @s2n_strerror(i32 noundef %14242, ptr noundef @.str.25)
  %14244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14245 = load i32, ptr %14244, align 4, !tbaa !5
  %14246 = call ptr @s2n_strerror_debug(i32 noundef %14245, ptr noundef @.str.25)
  %14247 = call ptr @__errno_location() #12
  %14248 = load i32, ptr %14247, align 4, !tbaa !5
  %14249 = call ptr @strerror(i32 noundef %14248) #11
  %14250 = call ptr @__errno_location() #12
  %14251 = load i32, ptr %14250, align 4, !tbaa !5
  %14252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14239, ptr noundef @.str.23, i32 noundef %14240, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 765, ptr noundef %14243, ptr noundef %14246, ptr noundef %14249, i32 noundef %14251) #11
  br label %14270

14253:                                            ; preds = %14231, %14224
  %14254 = load i32, ptr %347, align 4, !tbaa !5
  %14255 = call ptr @__errno_location() #12
  store i32 %14254, ptr %14255, align 4, !tbaa !5
  %14256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14257 = load i32, ptr @test_count, align 4, !tbaa !5
  %14258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14259 = load i32, ptr %14258, align 4, !tbaa !5
  %14260 = call ptr @s2n_strerror(i32 noundef %14259, ptr noundef @.str.25)
  %14261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14262 = load i32, ptr %14261, align 4, !tbaa !5
  %14263 = call ptr @s2n_strerror_debug(i32 noundef %14262, ptr noundef @.str.25)
  %14264 = call ptr @__errno_location() #12
  %14265 = load i32, ptr %14264, align 4, !tbaa !5
  %14266 = call ptr @strerror(i32 noundef %14265) #11
  %14267 = call ptr @__errno_location() #12
  %14268 = load i32, ptr %14267, align 4, !tbaa !5
  %14269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14256, ptr noundef @.str.26, i32 noundef %14257, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 765, ptr noundef %14260, ptr noundef %14263, ptr noundef %14266, i32 noundef %14268) #11
  br label %14270

14270:                                            ; preds = %14253, %14236
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #11
  br label %14271

14271:                                            ; preds = %14270
  br label %14272

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

14273:                                            ; No predecessors!
  br label %14274

14274:                                            ; preds = %14273
  br label %14275

14275:                                            ; preds = %14274, %14216
  br label %14276

14276:                                            ; preds = %14275
  br label %14277

14277:                                            ; preds = %14276
  call void @llvm.lifetime.end.p0(i64 40, ptr %337) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %329) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %326) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %325) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #11
  store i32 17, ptr %348, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %349) #11
  %14278 = call ptr @s2n_config_new()
  store ptr %14278, ptr %349, align 8, !tbaa !9
  br label %14279

14279:                                            ; preds = %14277
  %14280 = load i32, ptr @test_count, align 4, !tbaa !5
  %14281 = add nsw i32 %14280, 1
  store i32 %14281, ptr @test_count, align 4, !tbaa !5
  %14282 = load ptr, ptr %349, align 8, !tbaa !9
  %14283 = icmp eq ptr %14282, null
  br i1 %14283, label %14284, label %14337

14284:                                            ; preds = %14279
  br label %14285

14285:                                            ; preds = %14284
  br label %14286

14286:                                            ; preds = %14285
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #11
  %14287 = call ptr @__errno_location() #12
  %14288 = load i32, ptr %14287, align 4, !tbaa !5
  store i32 %14288, ptr %350, align 4, !tbaa !5
  %14289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14290 = call i32 @s2n_print_stacktrace(ptr noundef %14289)
  %14291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14292 = trunc i8 %14291 to i1
  br i1 %14292, label %14293, label %14315

14293:                                            ; preds = %14286
  %14294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14295 = call i32 @fileno(ptr noundef %14294) #11
  %14296 = call i32 @isatty(i32 noundef %14295) #11
  %14297 = icmp ne i32 %14296, 0
  br i1 %14297, label %14298, label %14315

14298:                                            ; preds = %14293
  %14299 = load i32, ptr %350, align 4, !tbaa !5
  %14300 = call ptr @__errno_location() #12
  store i32 %14299, ptr %14300, align 4, !tbaa !5
  %14301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14302 = load i32, ptr @test_count, align 4, !tbaa !5
  %14303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14304 = load i32, ptr %14303, align 4, !tbaa !5
  %14305 = call ptr @s2n_strerror(i32 noundef %14304, ptr noundef @.str.25)
  %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_debug(i32 noundef %14307, ptr noundef @.str.25)
  %14309 = call ptr @__errno_location() #12
  %14310 = load i32, ptr %14309, align 4, !tbaa !5
  %14311 = call ptr @strerror(i32 noundef %14310) #11
  %14312 = call ptr @__errno_location() #12
  %14313 = load i32, ptr %14312, align 4, !tbaa !5
  %14314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14301, ptr noundef @.str.23, i32 noundef %14302, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 774, ptr noundef %14305, ptr noundef %14308, ptr noundef %14311, i32 noundef %14313) #11
  br label %14332

14315:                                            ; preds = %14293, %14286
  %14316 = load i32, ptr %350, align 4, !tbaa !5
  %14317 = call ptr @__errno_location() #12
  store i32 %14316, ptr %14317, align 4, !tbaa !5
  %14318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14319 = load i32, ptr @test_count, align 4, !tbaa !5
  %14320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14321 = load i32, ptr %14320, align 4, !tbaa !5
  %14322 = call ptr @s2n_strerror(i32 noundef %14321, ptr noundef @.str.25)
  %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_debug(i32 noundef %14324, ptr noundef @.str.25)
  %14326 = call ptr @__errno_location() #12
  %14327 = load i32, ptr %14326, align 4, !tbaa !5
  %14328 = call ptr @strerror(i32 noundef %14327) #11
  %14329 = call ptr @__errno_location() #12
  %14330 = load i32, ptr %14329, align 4, !tbaa !5
  %14331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14318, ptr noundef @.str.26, i32 noundef %14319, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 774, ptr noundef %14322, ptr noundef %14325, ptr noundef %14328, i32 noundef %14330) #11
  br label %14332

14332:                                            ; preds = %14315, %14298
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #11
  br label %14333

14333:                                            ; preds = %14332
  br label %14334

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

14335:                                            ; No predecessors!
  br label %14336

14336:                                            ; preds = %14335
  br label %14337

14337:                                            ; preds = %14336, %14279
  br label %14338

14338:                                            ; preds = %14337
  br label %14339

14339:                                            ; preds = %14338
  br label %14340

14340:                                            ; preds = %14339
  %14341 = load i32, ptr @test_count, align 4, !tbaa !5
  %14342 = add nsw i32 %14341, 1
  store i32 %14342, ptr @test_count, align 4, !tbaa !5
  %14343 = load ptr, ptr %349, align 8, !tbaa !9
  %14344 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %14343, i8 noundef zeroext 1)
  %14345 = icmp eq i32 %14344, -1
  br i1 %14345, label %14346, label %14399

14346:                                            ; preds = %14340
  br label %14347

14347:                                            ; preds = %14346
  br label %14348

14348:                                            ; preds = %14347
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #11
  %14349 = call ptr @__errno_location() #12
  %14350 = load i32, ptr %14349, align 4, !tbaa !5
  store i32 %14350, ptr %351, align 4, !tbaa !5
  %14351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14352 = call i32 @s2n_print_stacktrace(ptr noundef %14351)
  %14353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14354 = trunc i8 %14353 to i1
  br i1 %14354, label %14355, label %14377

14355:                                            ; preds = %14348
  %14356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14357 = call i32 @fileno(ptr noundef %14356) #11
  %14358 = call i32 @isatty(i32 noundef %14357) #11
  %14359 = icmp ne i32 %14358, 0
  br i1 %14359, label %14360, label %14377

14360:                                            ; preds = %14355
  %14361 = load i32, ptr %351, align 4, !tbaa !5
  %14362 = call ptr @__errno_location() #12
  store i32 %14361, ptr %14362, align 4, !tbaa !5
  %14363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14364 = load i32, ptr @test_count, align 4, !tbaa !5
  %14365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14366 = load i32, ptr %14365, align 4, !tbaa !5
  %14367 = call ptr @s2n_strerror(i32 noundef %14366, ptr noundef @.str.25)
  %14368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14369 = load i32, ptr %14368, align 4, !tbaa !5
  %14370 = call ptr @s2n_strerror_debug(i32 noundef %14369, ptr noundef @.str.25)
  %14371 = call ptr @__errno_location() #12
  %14372 = load i32, ptr %14371, align 4, !tbaa !5
  %14373 = call ptr @strerror(i32 noundef %14372) #11
  %14374 = call ptr @__errno_location() #12
  %14375 = load i32, ptr %14374, align 4, !tbaa !5
  %14376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14363, ptr noundef @.str.23, i32 noundef %14364, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 775, ptr noundef %14367, ptr noundef %14370, ptr noundef %14373, i32 noundef %14375) #11
  br label %14394

14377:                                            ; preds = %14355, %14348
  %14378 = load i32, ptr %351, align 4, !tbaa !5
  %14379 = call ptr @__errno_location() #12
  store i32 %14378, ptr %14379, align 4, !tbaa !5
  %14380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14381 = load i32, ptr @test_count, align 4, !tbaa !5
  %14382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14383 = load i32, ptr %14382, align 4, !tbaa !5
  %14384 = call ptr @s2n_strerror(i32 noundef %14383, ptr noundef @.str.25)
  %14385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14386 = load i32, ptr %14385, align 4, !tbaa !5
  %14387 = call ptr @s2n_strerror_debug(i32 noundef %14386, ptr noundef @.str.25)
  %14388 = call ptr @__errno_location() #12
  %14389 = load i32, ptr %14388, align 4, !tbaa !5
  %14390 = call ptr @strerror(i32 noundef %14389) #11
  %14391 = call ptr @__errno_location() #12
  %14392 = load i32, ptr %14391, align 4, !tbaa !5
  %14393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14380, ptr noundef @.str.26, i32 noundef %14381, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 775, ptr noundef %14384, ptr noundef %14387, ptr noundef %14390, i32 noundef %14392) #11
  br label %14394

14394:                                            ; preds = %14377, %14360
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #11
  br label %14395

14395:                                            ; preds = %14394
  br label %14396

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

14397:                                            ; No predecessors!
  br label %14398

14398:                                            ; preds = %14397
  br label %14399

14399:                                            ; preds = %14398, %14340
  br label %14400

14400:                                            ; preds = %14399
  br label %14401

14401:                                            ; preds = %14400
  br label %14402

14402:                                            ; preds = %14401
  %14403 = load i32, ptr @test_count, align 4, !tbaa !5
  %14404 = add nsw i32 %14403, 1
  store i32 %14404, ptr @test_count, align 4, !tbaa !5
  %14405 = load ptr, ptr %349, align 8, !tbaa !9
  %14406 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %14405, ptr noundef @s2n_test_session_ticket_cb, ptr noundef null)
  %14407 = icmp eq i32 %14406, -1
  br i1 %14407, label %14408, label %14461

14408:                                            ; preds = %14402
  br label %14409

14409:                                            ; preds = %14408
  br label %14410

14410:                                            ; preds = %14409
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #11
  %14411 = call ptr @__errno_location() #12
  %14412 = load i32, ptr %14411, align 4, !tbaa !5
  store i32 %14412, ptr %352, align 4, !tbaa !5
  %14413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14414 = call i32 @s2n_print_stacktrace(ptr noundef %14413)
  %14415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14416 = trunc i8 %14415 to i1
  br i1 %14416, label %14417, label %14439

14417:                                            ; preds = %14410
  %14418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14419 = call i32 @fileno(ptr noundef %14418) #11
  %14420 = call i32 @isatty(i32 noundef %14419) #11
  %14421 = icmp ne i32 %14420, 0
  br i1 %14421, label %14422, label %14439

14422:                                            ; preds = %14417
  %14423 = load i32, ptr %352, align 4, !tbaa !5
  %14424 = call ptr @__errno_location() #12
  store i32 %14423, ptr %14424, align 4, !tbaa !5
  %14425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14426 = load i32, ptr @test_count, align 4, !tbaa !5
  %14427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14428 = load i32, ptr %14427, align 4, !tbaa !5
  %14429 = call ptr @s2n_strerror(i32 noundef %14428, ptr noundef @.str.25)
  %14430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14431 = load i32, ptr %14430, align 4, !tbaa !5
  %14432 = call ptr @s2n_strerror_debug(i32 noundef %14431, ptr noundef @.str.25)
  %14433 = call ptr @__errno_location() #12
  %14434 = load i32, ptr %14433, align 4, !tbaa !5
  %14435 = call ptr @strerror(i32 noundef %14434) #11
  %14436 = call ptr @__errno_location() #12
  %14437 = load i32, ptr %14436, align 4, !tbaa !5
  %14438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14425, ptr noundef @.str.23, i32 noundef %14426, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 776, ptr noundef %14429, ptr noundef %14432, ptr noundef %14435, i32 noundef %14437) #11
  br label %14456

14439:                                            ; preds = %14417, %14410
  %14440 = load i32, ptr %352, align 4, !tbaa !5
  %14441 = call ptr @__errno_location() #12
  store i32 %14440, ptr %14441, align 4, !tbaa !5
  %14442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14443 = load i32, ptr @test_count, align 4, !tbaa !5
  %14444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14445 = load i32, ptr %14444, align 4, !tbaa !5
  %14446 = call ptr @s2n_strerror(i32 noundef %14445, ptr noundef @.str.25)
  %14447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14448 = load i32, ptr %14447, align 4, !tbaa !5
  %14449 = call ptr @s2n_strerror_debug(i32 noundef %14448, ptr noundef @.str.25)
  %14450 = call ptr @__errno_location() #12
  %14451 = load i32, ptr %14450, align 4, !tbaa !5
  %14452 = call ptr @strerror(i32 noundef %14451) #11
  %14453 = call ptr @__errno_location() #12
  %14454 = load i32, ptr %14453, align 4, !tbaa !5
  %14455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14442, ptr noundef @.str.26, i32 noundef %14443, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 776, ptr noundef %14446, ptr noundef %14449, ptr noundef %14452, i32 noundef %14454) #11
  br label %14456

14456:                                            ; preds = %14439, %14422
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #11
  br label %14457

14457:                                            ; preds = %14456
  br label %14458

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

14459:                                            ; No predecessors!
  br label %14460

14460:                                            ; preds = %14459
  br label %14461

14461:                                            ; preds = %14460, %14402
  br label %14462

14462:                                            ; preds = %14461
  br label %14463

14463:                                            ; preds = %14462
  br label %14464

14464:                                            ; preds = %14463
  %14465 = load i32, ptr @test_count, align 4, !tbaa !5
  %14466 = add nsw i32 %14465, 1
  store i32 %14466, ptr @test_count, align 4, !tbaa !5
  %14467 = load ptr, ptr %349, align 8, !tbaa !9
  %14468 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %14467)
  %14469 = getelementptr inbounds %struct.s2n_result, ptr %353, i32 0, i32 0
  store i32 %14468, ptr %14469, align 4
  %14470 = getelementptr inbounds %struct.s2n_result, ptr %353, i32 0, i32 0
  %14471 = load i32, ptr %14470, align 4
  %14472 = call zeroext i1 @s2n_result_is_ok(i32 %14471)
  br i1 %14472, label %14526, label %14473

14473:                                            ; preds = %14464
  br label %14474

14474:                                            ; preds = %14473
  br label %14475

14475:                                            ; preds = %14474
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  %14476 = call ptr @__errno_location() #12
  %14477 = load i32, ptr %14476, align 4, !tbaa !5
  store i32 %14477, ptr %354, align 4, !tbaa !5
  %14478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14479 = call i32 @s2n_print_stacktrace(ptr noundef %14478)
  %14480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14481 = trunc i8 %14480 to i1
  br i1 %14481, label %14482, label %14504

14482:                                            ; preds = %14475
  %14483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14484 = call i32 @fileno(ptr noundef %14483) #11
  %14485 = call i32 @isatty(i32 noundef %14484) #11
  %14486 = icmp ne i32 %14485, 0
  br i1 %14486, label %14487, label %14504

14487:                                            ; preds = %14482
  %14488 = load i32, ptr %354, align 4, !tbaa !5
  %14489 = call ptr @__errno_location() #12
  store i32 %14488, ptr %14489, align 4, !tbaa !5
  %14490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14491 = load i32, ptr @test_count, align 4, !tbaa !5
  %14492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14493 = load i32, ptr %14492, align 4, !tbaa !5
  %14494 = call ptr @s2n_strerror(i32 noundef %14493, ptr noundef @.str.25)
  %14495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14496 = load i32, ptr %14495, align 4, !tbaa !5
  %14497 = call ptr @s2n_strerror_debug(i32 noundef %14496, ptr noundef @.str.25)
  %14498 = call ptr @__errno_location() #12
  %14499 = load i32, ptr %14498, align 4, !tbaa !5
  %14500 = call ptr @strerror(i32 noundef %14499) #11
  %14501 = call ptr @__errno_location() #12
  %14502 = load i32, ptr %14501, align 4, !tbaa !5
  %14503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14490, ptr noundef @.str.23, i32 noundef %14491, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 777, ptr noundef %14494, ptr noundef %14497, ptr noundef %14500, i32 noundef %14502) #11
  br label %14521

14504:                                            ; preds = %14482, %14475
  %14505 = load i32, ptr %354, align 4, !tbaa !5
  %14506 = call ptr @__errno_location() #12
  store i32 %14505, ptr %14506, align 4, !tbaa !5
  %14507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14508 = load i32, ptr @test_count, align 4, !tbaa !5
  %14509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14510 = load i32, ptr %14509, align 4, !tbaa !5
  %14511 = call ptr @s2n_strerror(i32 noundef %14510, ptr noundef @.str.25)
  %14512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14513 = load i32, ptr %14512, align 4, !tbaa !5
  %14514 = call ptr @s2n_strerror_debug(i32 noundef %14513, ptr noundef @.str.25)
  %14515 = call ptr @__errno_location() #12
  %14516 = load i32, ptr %14515, align 4, !tbaa !5
  %14517 = call ptr @strerror(i32 noundef %14516) #11
  %14518 = call ptr @__errno_location() #12
  %14519 = load i32, ptr %14518, align 4, !tbaa !5
  %14520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14507, ptr noundef @.str.26, i32 noundef %14508, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 777, ptr noundef %14511, ptr noundef %14514, ptr noundef %14517, i32 noundef %14519) #11
  br label %14521

14521:                                            ; preds = %14504, %14487
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  br label %14522

14522:                                            ; preds = %14521
  br label %14523

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

14524:                                            ; No predecessors!
  br label %14525

14525:                                            ; preds = %14524
  br label %14526

14526:                                            ; preds = %14525, %14464
  br label %14527

14527:                                            ; preds = %14526
  br label %14528

14528:                                            ; preds = %14527
  call void @llvm.lifetime.start.p0(i64 8, ptr %355) #11
  %14529 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14529, ptr %355, align 8, !tbaa !9
  br label %14530

14530:                                            ; preds = %14528
  %14531 = load i32, ptr @test_count, align 4, !tbaa !5
  %14532 = add nsw i32 %14531, 1
  store i32 %14532, ptr @test_count, align 4, !tbaa !5
  %14533 = load ptr, ptr %355, align 8, !tbaa !9
  %14534 = icmp eq ptr %14533, null
  br i1 %14534, label %14535, label %14588

14535:                                            ; preds = %14530
  br label %14536

14536:                                            ; preds = %14535
  br label %14537

14537:                                            ; preds = %14536
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #11
  %14538 = call ptr @__errno_location() #12
  %14539 = load i32, ptr %14538, align 4, !tbaa !5
  store i32 %14539, ptr %356, align 4, !tbaa !5
  %14540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14541 = call i32 @s2n_print_stacktrace(ptr noundef %14540)
  %14542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14543 = trunc i8 %14542 to i1
  br i1 %14543, label %14544, label %14566

14544:                                            ; preds = %14537
  %14545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14546 = call i32 @fileno(ptr noundef %14545) #11
  %14547 = call i32 @isatty(i32 noundef %14546) #11
  %14548 = icmp ne i32 %14547, 0
  br i1 %14548, label %14549, label %14566

14549:                                            ; preds = %14544
  %14550 = load i32, ptr %356, align 4, !tbaa !5
  %14551 = call ptr @__errno_location() #12
  store i32 %14550, ptr %14551, align 4, !tbaa !5
  %14552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14553 = load i32, ptr @test_count, align 4, !tbaa !5
  %14554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14555 = load i32, ptr %14554, align 4, !tbaa !5
  %14556 = call ptr @s2n_strerror(i32 noundef %14555, ptr noundef @.str.25)
  %14557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14558 = load i32, ptr %14557, align 4, !tbaa !5
  %14559 = call ptr @s2n_strerror_debug(i32 noundef %14558, ptr noundef @.str.25)
  %14560 = call ptr @__errno_location() #12
  %14561 = load i32, ptr %14560, align 4, !tbaa !5
  %14562 = call ptr @strerror(i32 noundef %14561) #11
  %14563 = call ptr @__errno_location() #12
  %14564 = load i32, ptr %14563, align 4, !tbaa !5
  %14565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14552, ptr noundef @.str.23, i32 noundef %14553, ptr noundef @.str.136, ptr noundef @.str.22, i32 noundef 780, ptr noundef %14556, ptr noundef %14559, ptr noundef %14562, i32 noundef %14564) #11
  br label %14583

14566:                                            ; preds = %14544, %14537
  %14567 = load i32, ptr %356, align 4, !tbaa !5
  %14568 = call ptr @__errno_location() #12
  store i32 %14567, ptr %14568, align 4, !tbaa !5
  %14569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14570 = load i32, ptr @test_count, align 4, !tbaa !5
  %14571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14572 = load i32, ptr %14571, align 4, !tbaa !5
  %14573 = call ptr @s2n_strerror(i32 noundef %14572, ptr noundef @.str.25)
  %14574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14575 = load i32, ptr %14574, align 4, !tbaa !5
  %14576 = call ptr @s2n_strerror_debug(i32 noundef %14575, ptr noundef @.str.25)
  %14577 = call ptr @__errno_location() #12
  %14578 = load i32, ptr %14577, align 4, !tbaa !5
  %14579 = call ptr @strerror(i32 noundef %14578) #11
  %14580 = call ptr @__errno_location() #12
  %14581 = load i32, ptr %14580, align 4, !tbaa !5
  %14582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14569, ptr noundef @.str.26, i32 noundef %14570, ptr noundef @.str.136, ptr noundef @.str.22, i32 noundef 780, ptr noundef %14573, ptr noundef %14576, ptr noundef %14579, i32 noundef %14581) #11
  br label %14583

14583:                                            ; preds = %14566, %14549
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #11
  br label %14584

14584:                                            ; preds = %14583
  br label %14585

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

14586:                                            ; No predecessors!
  br label %14587

14587:                                            ; preds = %14586
  br label %14588

14588:                                            ; preds = %14587, %14530
  br label %14589

14589:                                            ; preds = %14588
  br label %14590

14590:                                            ; preds = %14589
  %14591 = load ptr, ptr %355, align 8, !tbaa !9
  %14592 = getelementptr inbounds %struct.s2n_connection, ptr %14591, i32 0, i32 23
  store i8 34, ptr %14592, align 4, !tbaa !17
  %14593 = load ptr, ptr %355, align 8, !tbaa !9
  %14594 = getelementptr inbounds %struct.s2n_connection, ptr %14593, i32 0, i32 27
  %14595 = load ptr, ptr %14594, align 8, !tbaa !43
  %14596 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %14595, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %14596, align 8, !tbaa !44
  br label %14597

14597:                                            ; preds = %14590
  %14598 = load i32, ptr @test_count, align 4, !tbaa !5
  %14599 = add nsw i32 %14598, 1
  store i32 %14599, ptr @test_count, align 4, !tbaa !5
  %14600 = load ptr, ptr %355, align 8, !tbaa !9
  %14601 = load ptr, ptr %349, align 8, !tbaa !9
  %14602 = call i32 @s2n_connection_set_config(ptr noundef %14600, ptr noundef %14601)
  %14603 = icmp eq i32 %14602, -1
  br i1 %14603, label %14604, label %14657

14604:                                            ; preds = %14597
  br label %14605

14605:                                            ; preds = %14604
  br label %14606

14606:                                            ; preds = %14605
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #11
  %14607 = call ptr @__errno_location() #12
  %14608 = load i32, ptr %14607, align 4, !tbaa !5
  store i32 %14608, ptr %357, align 4, !tbaa !5
  %14609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14610 = call i32 @s2n_print_stacktrace(ptr noundef %14609)
  %14611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14612 = trunc i8 %14611 to i1
  br i1 %14612, label %14613, label %14635

14613:                                            ; preds = %14606
  %14614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14615 = call i32 @fileno(ptr noundef %14614) #11
  %14616 = call i32 @isatty(i32 noundef %14615) #11
  %14617 = icmp ne i32 %14616, 0
  br i1 %14617, label %14618, label %14635

14618:                                            ; preds = %14613
  %14619 = load i32, ptr %357, align 4, !tbaa !5
  %14620 = call ptr @__errno_location() #12
  store i32 %14619, ptr %14620, align 4, !tbaa !5
  %14621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14622 = load i32, ptr @test_count, align 4, !tbaa !5
  %14623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14624 = load i32, ptr %14623, align 4, !tbaa !5
  %14625 = call ptr @s2n_strerror(i32 noundef %14624, ptr noundef @.str.25)
  %14626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14627 = load i32, ptr %14626, align 4, !tbaa !5
  %14628 = call ptr @s2n_strerror_debug(i32 noundef %14627, ptr noundef @.str.25)
  %14629 = call ptr @__errno_location() #12
  %14630 = load i32, ptr %14629, align 4, !tbaa !5
  %14631 = call ptr @strerror(i32 noundef %14630) #11
  %14632 = call ptr @__errno_location() #12
  %14633 = load i32, ptr %14632, align 4, !tbaa !5
  %14634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14621, ptr noundef @.str.23, i32 noundef %14622, ptr noundef @.str.137, ptr noundef @.str.22, i32 noundef 783, ptr noundef %14625, ptr noundef %14628, ptr noundef %14631, i32 noundef %14633) #11
  br label %14652

14635:                                            ; preds = %14613, %14606
  %14636 = load i32, ptr %357, align 4, !tbaa !5
  %14637 = call ptr @__errno_location() #12
  store i32 %14636, ptr %14637, align 4, !tbaa !5
  %14638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14639 = load i32, ptr @test_count, align 4, !tbaa !5
  %14640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14641 = load i32, ptr %14640, align 4, !tbaa !5
  %14642 = call ptr @s2n_strerror(i32 noundef %14641, ptr noundef @.str.25)
  %14643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14644 = load i32, ptr %14643, align 4, !tbaa !5
  %14645 = call ptr @s2n_strerror_debug(i32 noundef %14644, ptr noundef @.str.25)
  %14646 = call ptr @__errno_location() #12
  %14647 = load i32, ptr %14646, align 4, !tbaa !5
  %14648 = call ptr @strerror(i32 noundef %14647) #11
  %14649 = call ptr @__errno_location() #12
  %14650 = load i32, ptr %14649, align 4, !tbaa !5
  %14651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14638, ptr noundef @.str.26, i32 noundef %14639, ptr noundef @.str.137, ptr noundef @.str.22, i32 noundef 783, ptr noundef %14642, ptr noundef %14645, ptr noundef %14648, i32 noundef %14650) #11
  br label %14652

14652:                                            ; preds = %14635, %14618
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #11
  br label %14653

14653:                                            ; preds = %14652
  br label %14654

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

14655:                                            ; No predecessors!
  br label %14656

14656:                                            ; preds = %14655
  br label %14657

14657:                                            ; preds = %14656, %14597
  br label %14658

14658:                                            ; preds = %14657
  br label %14659

14659:                                            ; preds = %14658
  call void @llvm.lifetime.start.p0(i64 8, ptr %358) #11
  %14660 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %14660, ptr %358, align 8, !tbaa !9
  br label %14661

14661:                                            ; preds = %14659
  %14662 = load i32, ptr @test_count, align 4, !tbaa !5
  %14663 = add nsw i32 %14662, 1
  store i32 %14663, ptr @test_count, align 4, !tbaa !5
  %14664 = load ptr, ptr %358, align 8, !tbaa !9
  %14665 = icmp eq ptr %14664, null
  br i1 %14665, label %14666, label %14719

14666:                                            ; preds = %14661
  br label %14667

14667:                                            ; preds = %14666
  br label %14668

14668:                                            ; preds = %14667
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #11
  %14669 = call ptr @__errno_location() #12
  %14670 = load i32, ptr %14669, align 4, !tbaa !5
  store i32 %14670, ptr %359, align 4, !tbaa !5
  %14671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14672 = call i32 @s2n_print_stacktrace(ptr noundef %14671)
  %14673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14674 = trunc i8 %14673 to i1
  br i1 %14674, label %14675, label %14697

14675:                                            ; preds = %14668
  %14676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14677 = call i32 @fileno(ptr noundef %14676) #11
  %14678 = call i32 @isatty(i32 noundef %14677) #11
  %14679 = icmp ne i32 %14678, 0
  br i1 %14679, label %14680, label %14697

14680:                                            ; preds = %14675
  %14681 = load i32, ptr %359, align 4, !tbaa !5
  %14682 = call ptr @__errno_location() #12
  store i32 %14681, ptr %14682, align 4, !tbaa !5
  %14683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14684 = load i32, ptr @test_count, align 4, !tbaa !5
  %14685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14686 = load i32, ptr %14685, align 4, !tbaa !5
  %14687 = call ptr @s2n_strerror(i32 noundef %14686, ptr noundef @.str.25)
  %14688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14689 = load i32, ptr %14688, align 4, !tbaa !5
  %14690 = call ptr @s2n_strerror_debug(i32 noundef %14689, ptr noundef @.str.25)
  %14691 = call ptr @__errno_location() #12
  %14692 = load i32, ptr %14691, align 4, !tbaa !5
  %14693 = call ptr @strerror(i32 noundef %14692) #11
  %14694 = call ptr @__errno_location() #12
  %14695 = load i32, ptr %14694, align 4, !tbaa !5
  %14696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14683, ptr noundef @.str.23, i32 noundef %14684, ptr noundef @.str.80, ptr noundef @.str.22, i32 noundef 786, ptr noundef %14687, ptr noundef %14690, ptr noundef %14693, i32 noundef %14695) #11
  br label %14714

14697:                                            ; preds = %14675, %14668
  %14698 = load i32, ptr %359, align 4, !tbaa !5
  %14699 = call ptr @__errno_location() #12
  store i32 %14698, ptr %14699, align 4, !tbaa !5
  %14700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14701 = load i32, ptr @test_count, align 4, !tbaa !5
  %14702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14703 = load i32, ptr %14702, align 4, !tbaa !5
  %14704 = call ptr @s2n_strerror(i32 noundef %14703, ptr noundef @.str.25)
  %14705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14706 = load i32, ptr %14705, align 4, !tbaa !5
  %14707 = call ptr @s2n_strerror_debug(i32 noundef %14706, ptr noundef @.str.25)
  %14708 = call ptr @__errno_location() #12
  %14709 = load i32, ptr %14708, align 4, !tbaa !5
  %14710 = call ptr @strerror(i32 noundef %14709) #11
  %14711 = call ptr @__errno_location() #12
  %14712 = load i32, ptr %14711, align 4, !tbaa !5
  %14713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14700, ptr noundef @.str.26, i32 noundef %14701, ptr noundef @.str.80, ptr noundef @.str.22, i32 noundef 786, ptr noundef %14704, ptr noundef %14707, ptr noundef %14710, i32 noundef %14712) #11
  br label %14714

14714:                                            ; preds = %14697, %14680
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #11
  br label %14715

14715:                                            ; preds = %14714
  br label %14716

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

14717:                                            ; No predecessors!
  br label %14718

14718:                                            ; preds = %14717
  br label %14719

14719:                                            ; preds = %14718, %14661
  br label %14720

14720:                                            ; preds = %14719
  br label %14721

14721:                                            ; preds = %14720
  %14722 = load ptr, ptr %358, align 8, !tbaa !9
  %14723 = getelementptr inbounds %struct.s2n_connection, ptr %14722, i32 0, i32 23
  store i8 34, ptr %14723, align 4, !tbaa !17
  %14724 = load ptr, ptr %358, align 8, !tbaa !9
  %14725 = getelementptr inbounds %struct.s2n_connection, ptr %14724, i32 0, i32 27
  %14726 = load ptr, ptr %14725, align 8, !tbaa !43
  %14727 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %14726, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %14727, align 8, !tbaa !44
  br label %14728

14728:                                            ; preds = %14721
  %14729 = load i32, ptr @test_count, align 4, !tbaa !5
  %14730 = add nsw i32 %14729, 1
  store i32 %14730, ptr @test_count, align 4, !tbaa !5
  %14731 = load ptr, ptr %358, align 8, !tbaa !9
  %14732 = load ptr, ptr %349, align 8, !tbaa !9
  %14733 = call i32 @s2n_connection_set_config(ptr noundef %14731, ptr noundef %14732)
  %14734 = icmp eq i32 %14733, -1
  br i1 %14734, label %14735, label %14788

14735:                                            ; preds = %14728
  br label %14736

14736:                                            ; preds = %14735
  br label %14737

14737:                                            ; preds = %14736
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #11
  %14738 = call ptr @__errno_location() #12
  %14739 = load i32, ptr %14738, align 4, !tbaa !5
  store i32 %14739, ptr %360, align 4, !tbaa !5
  %14740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14741 = call i32 @s2n_print_stacktrace(ptr noundef %14740)
  %14742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14743 = trunc i8 %14742 to i1
  br i1 %14743, label %14744, label %14766

14744:                                            ; preds = %14737
  %14745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14746 = call i32 @fileno(ptr noundef %14745) #11
  %14747 = call i32 @isatty(i32 noundef %14746) #11
  %14748 = icmp ne i32 %14747, 0
  br i1 %14748, label %14749, label %14766

14749:                                            ; preds = %14744
  %14750 = load i32, ptr %360, align 4, !tbaa !5
  %14751 = call ptr @__errno_location() #12
  store i32 %14750, ptr %14751, align 4, !tbaa !5
  %14752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14753 = load i32, ptr @test_count, align 4, !tbaa !5
  %14754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14755 = load i32, ptr %14754, align 4, !tbaa !5
  %14756 = call ptr @s2n_strerror(i32 noundef %14755, ptr noundef @.str.25)
  %14757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14758 = load i32, ptr %14757, align 4, !tbaa !5
  %14759 = call ptr @s2n_strerror_debug(i32 noundef %14758, ptr noundef @.str.25)
  %14760 = call ptr @__errno_location() #12
  %14761 = load i32, ptr %14760, align 4, !tbaa !5
  %14762 = call ptr @strerror(i32 noundef %14761) #11
  %14763 = call ptr @__errno_location() #12
  %14764 = load i32, ptr %14763, align 4, !tbaa !5
  %14765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14752, ptr noundef @.str.23, i32 noundef %14753, ptr noundef @.str.81, ptr noundef @.str.22, i32 noundef 789, ptr noundef %14756, ptr noundef %14759, ptr noundef %14762, i32 noundef %14764) #11
  br label %14783

14766:                                            ; preds = %14744, %14737
  %14767 = load i32, ptr %360, align 4, !tbaa !5
  %14768 = call ptr @__errno_location() #12
  store i32 %14767, ptr %14768, align 4, !tbaa !5
  %14769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14770 = load i32, ptr @test_count, align 4, !tbaa !5
  %14771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14772 = load i32, ptr %14771, align 4, !tbaa !5
  %14773 = call ptr @s2n_strerror(i32 noundef %14772, ptr noundef @.str.25)
  %14774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14775 = load i32, ptr %14774, align 4, !tbaa !5
  %14776 = call ptr @s2n_strerror_debug(i32 noundef %14775, ptr noundef @.str.25)
  %14777 = call ptr @__errno_location() #12
  %14778 = load i32, ptr %14777, align 4, !tbaa !5
  %14779 = call ptr @strerror(i32 noundef %14778) #11
  %14780 = call ptr @__errno_location() #12
  %14781 = load i32, ptr %14780, align 4, !tbaa !5
  %14782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14769, ptr noundef @.str.26, i32 noundef %14770, ptr noundef @.str.81, ptr noundef @.str.22, i32 noundef 789, ptr noundef %14773, ptr noundef %14776, ptr noundef %14779, i32 noundef %14781) #11
  br label %14783

14783:                                            ; preds = %14766, %14749
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #11
  br label %14784

14784:                                            ; preds = %14783
  br label %14785

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

14786:                                            ; No predecessors!
  br label %14787

14787:                                            ; preds = %14786
  br label %14788

14788:                                            ; preds = %14787, %14728
  br label %14789

14789:                                            ; preds = %14788
  br label %14790

14790:                                            ; preds = %14789
  br label %14791

14791:                                            ; preds = %14790
  %14792 = load i32, ptr @test_count, align 4, !tbaa !5
  %14793 = add nsw i32 %14792, 1
  store i32 %14793, ptr @test_count, align 4, !tbaa !5
  %14794 = load ptr, ptr %358, align 8, !tbaa !9
  %14795 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %14794, i32 noundef 17)
  %14796 = icmp eq i32 %14795, -1
  br i1 %14796, label %14797, label %14850

14797:                                            ; preds = %14791
  br label %14798

14798:                                            ; preds = %14797
  br label %14799

14799:                                            ; preds = %14798
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #11
  %14800 = call ptr @__errno_location() #12
  %14801 = load i32, ptr %14800, align 4, !tbaa !5
  store i32 %14801, ptr %361, align 4, !tbaa !5
  %14802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14803 = call i32 @s2n_print_stacktrace(ptr noundef %14802)
  %14804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14805 = trunc i8 %14804 to i1
  br i1 %14805, label %14806, label %14828

14806:                                            ; preds = %14799
  %14807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14808 = call i32 @fileno(ptr noundef %14807) #11
  %14809 = call i32 @isatty(i32 noundef %14808) #11
  %14810 = icmp ne i32 %14809, 0
  br i1 %14810, label %14811, label %14828

14811:                                            ; preds = %14806
  %14812 = load i32, ptr %361, align 4, !tbaa !5
  %14813 = call ptr @__errno_location() #12
  store i32 %14812, ptr %14813, align 4, !tbaa !5
  %14814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14815 = load i32, ptr @test_count, align 4, !tbaa !5
  %14816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14817 = load i32, ptr %14816, align 4, !tbaa !5
  %14818 = call ptr @s2n_strerror(i32 noundef %14817, ptr noundef @.str.25)
  %14819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14820 = load i32, ptr %14819, align 4, !tbaa !5
  %14821 = call ptr @s2n_strerror_debug(i32 noundef %14820, ptr noundef @.str.25)
  %14822 = call ptr @__errno_location() #12
  %14823 = load i32, ptr %14822, align 4, !tbaa !5
  %14824 = call ptr @strerror(i32 noundef %14823) #11
  %14825 = call ptr @__errno_location() #12
  %14826 = load i32, ptr %14825, align 4, !tbaa !5
  %14827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14814, ptr noundef @.str.23, i32 noundef %14815, ptr noundef @.str.143, ptr noundef @.str.22, i32 noundef 790, ptr noundef %14818, ptr noundef %14821, ptr noundef %14824, i32 noundef %14826) #11
  br label %14845

14828:                                            ; preds = %14806, %14799
  %14829 = load i32, ptr %361, align 4, !tbaa !5
  %14830 = call ptr @__errno_location() #12
  store i32 %14829, ptr %14830, align 4, !tbaa !5
  %14831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14832 = load i32, ptr @test_count, align 4, !tbaa !5
  %14833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14834 = load i32, ptr %14833, align 4, !tbaa !5
  %14835 = call ptr @s2n_strerror(i32 noundef %14834, ptr noundef @.str.25)
  %14836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14837 = load i32, ptr %14836, align 4, !tbaa !5
  %14838 = call ptr @s2n_strerror_debug(i32 noundef %14837, ptr noundef @.str.25)
  %14839 = call ptr @__errno_location() #12
  %14840 = load i32, ptr %14839, align 4, !tbaa !5
  %14841 = call ptr @strerror(i32 noundef %14840) #11
  %14842 = call ptr @__errno_location() #12
  %14843 = load i32, ptr %14842, align 4, !tbaa !5
  %14844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14831, ptr noundef @.str.26, i32 noundef %14832, ptr noundef @.str.143, ptr noundef @.str.22, i32 noundef 790, ptr noundef %14835, ptr noundef %14838, ptr noundef %14841, i32 noundef %14843) #11
  br label %14845

14845:                                            ; preds = %14828, %14811
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #11
  br label %14846

14846:                                            ; preds = %14845
  br label %14847

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

14848:                                            ; No predecessors!
  br label %14849

14849:                                            ; preds = %14848
  br label %14850

14850:                                            ; preds = %14849, %14791
  br label %14851

14851:                                            ; preds = %14850
  br label %14852

14852:                                            ; preds = %14851
  call void @llvm.lifetime.start.p0(i64 40, ptr %362) #11
  call void @llvm.memset.p0.i64(ptr align 8 %362, i8 0, i64 40, i1 false)
  br label %14853

14853:                                            ; preds = %14852
  %14854 = load i32, ptr @test_count, align 4, !tbaa !5
  %14855 = add nsw i32 %14854, 1
  store i32 %14855, ptr @test_count, align 4, !tbaa !5
  %14856 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %362, i32 noundef 0)
  %14857 = icmp eq i32 %14856, -1
  br i1 %14857, label %14858, label %14911

14858:                                            ; preds = %14853
  br label %14859

14859:                                            ; preds = %14858
  br label %14860

14860:                                            ; preds = %14859
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #11
  %14861 = call ptr @__errno_location() #12
  %14862 = load i32, ptr %14861, align 4, !tbaa !5
  store i32 %14862, ptr %363, align 4, !tbaa !5
  %14863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14864 = call i32 @s2n_print_stacktrace(ptr noundef %14863)
  %14865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14866 = trunc i8 %14865 to i1
  br i1 %14866, label %14867, label %14889

14867:                                            ; preds = %14860
  %14868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14869 = call i32 @fileno(ptr noundef %14868) #11
  %14870 = call i32 @isatty(i32 noundef %14869) #11
  %14871 = icmp ne i32 %14870, 0
  br i1 %14871, label %14872, label %14889

14872:                                            ; preds = %14867
  %14873 = load i32, ptr %363, align 4, !tbaa !5
  %14874 = call ptr @__errno_location() #12
  store i32 %14873, ptr %14874, align 4, !tbaa !5
  %14875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14876 = load i32, 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(i32 noundef %14878, ptr noundef @.str.25)
  %14880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14881 = load i32, ptr %14880, align 4, !tbaa !5
  %14882 = call ptr @s2n_strerror_debug(i32 noundef %14881, ptr noundef @.str.25)
  %14883 = call ptr @__errno_location() #12
  %14884 = load i32, ptr %14883, align 4, !tbaa !5
  %14885 = call ptr @strerror(i32 noundef %14884) #11
  %14886 = call ptr @__errno_location() #12
  %14887 = load i32, ptr %14886, align 4, !tbaa !5
  %14888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14875, ptr noundef @.str.23, i32 noundef %14876, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 793, ptr noundef %14879, ptr noundef %14882, ptr noundef %14885, i32 noundef %14887) #11
  br label %14906

14889:                                            ; preds = %14867, %14860
  %14890 = load i32, ptr %363, align 4, !tbaa !5
  %14891 = call ptr @__errno_location() #12
  store i32 %14890, ptr %14891, align 4, !tbaa !5
  %14892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14893 = load i32, ptr @test_count, align 4, !tbaa !5
  %14894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14895 = load i32, ptr %14894, align 4, !tbaa !5
  %14896 = call ptr @s2n_strerror(i32 noundef %14895, ptr noundef @.str.25)
  %14897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14898 = load i32, ptr %14897, align 4, !tbaa !5
  %14899 = call ptr @s2n_strerror_debug(i32 noundef %14898, ptr noundef @.str.25)
  %14900 = call ptr @__errno_location() #12
  %14901 = load i32, ptr %14900, align 4, !tbaa !5
  %14902 = call ptr @strerror(i32 noundef %14901) #11
  %14903 = call ptr @__errno_location() #12
  %14904 = load i32, ptr %14903, align 4, !tbaa !5
  %14905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14892, ptr noundef @.str.26, i32 noundef %14893, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 793, ptr noundef %14896, ptr noundef %14899, ptr noundef %14902, i32 noundef %14904) #11
  br label %14906

14906:                                            ; preds = %14889, %14872
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #11
  br label %14907

14907:                                            ; preds = %14906
  br label %14908

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

14909:                                            ; No predecessors!
  br label %14910

14910:                                            ; preds = %14909
  br label %14911

14911:                                            ; preds = %14910, %14853
  br label %14912

14912:                                            ; preds = %14911
  br label %14913

14913:                                            ; preds = %14912
  br label %14914

14914:                                            ; preds = %14913
  %14915 = load i32, ptr @test_count, align 4, !tbaa !5
  %14916 = add nsw i32 %14915, 1
  store i32 %14916, ptr @test_count, align 4, !tbaa !5
  %14917 = load ptr, ptr %355, align 8, !tbaa !9
  %14918 = getelementptr inbounds %struct.s2n_connection, ptr %14917, i32 0, i32 90
  %14919 = load i32, ptr %14918, align 4, !tbaa !75
  %14920 = icmp eq i32 %14919, 0
  br i1 %14920, label %14974, label %14921

14921:                                            ; preds = %14914
  br label %14922

14922:                                            ; preds = %14921
  br label %14923

14923:                                            ; preds = %14922
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #11
  %14924 = call ptr @__errno_location() #12
  %14925 = load i32, ptr %14924, align 4, !tbaa !5
  store i32 %14925, ptr %364, align 4, !tbaa !5
  %14926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14927 = call i32 @s2n_print_stacktrace(ptr noundef %14926)
  %14928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14929 = trunc i8 %14928 to i1
  br i1 %14929, label %14930, label %14952

14930:                                            ; preds = %14923
  %14931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14932 = call i32 @fileno(ptr noundef %14931) #11
  %14933 = call i32 @isatty(i32 noundef %14932) #11
  %14934 = icmp ne i32 %14933, 0
  br i1 %14934, label %14935, label %14952

14935:                                            ; preds = %14930
  %14936 = load i32, ptr %364, align 4, !tbaa !5
  %14937 = call ptr @__errno_location() #12
  store i32 %14936, ptr %14937, align 4, !tbaa !5
  %14938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14939 = load i32, ptr @test_count, align 4, !tbaa !5
  %14940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14941 = load i32, ptr %14940, align 4, !tbaa !5
  %14942 = call ptr @s2n_strerror(i32 noundef %14941, ptr noundef @.str.25)
  %14943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14944 = load i32, ptr %14943, align 4, !tbaa !5
  %14945 = call ptr @s2n_strerror_debug(i32 noundef %14944, ptr noundef @.str.25)
  %14946 = call ptr @__errno_location() #12
  %14947 = load i32, ptr %14946, align 4, !tbaa !5
  %14948 = call ptr @strerror(i32 noundef %14947) #11
  %14949 = call ptr @__errno_location() #12
  %14950 = load i32, ptr %14949, align 4, !tbaa !5
  %14951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14938, ptr noundef @.str.23, i32 noundef %14939, ptr noundef @.str.144, ptr noundef @.str.22, i32 noundef 795, ptr noundef %14942, ptr noundef %14945, ptr noundef %14948, i32 noundef %14950) #11
  br label %14969

14952:                                            ; preds = %14930, %14923
  %14953 = load i32, ptr %364, align 4, !tbaa !5
  %14954 = call ptr @__errno_location() #12
  store i32 %14953, ptr %14954, align 4, !tbaa !5
  %14955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14956 = load i32, ptr @test_count, align 4, !tbaa !5
  %14957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14958 = load i32, ptr %14957, align 4, !tbaa !5
  %14959 = call ptr @s2n_strerror(i32 noundef %14958, ptr noundef @.str.25)
  %14960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14961 = load i32, ptr %14960, align 4, !tbaa !5
  %14962 = call ptr @s2n_strerror_debug(i32 noundef %14961, ptr noundef @.str.25)
  %14963 = call ptr @__errno_location() #12
  %14964 = load i32, ptr %14963, align 4, !tbaa !5
  %14965 = call ptr @strerror(i32 noundef %14964) #11
  %14966 = call ptr @__errno_location() #12
  %14967 = load i32, ptr %14966, align 4, !tbaa !5
  %14968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14955, ptr noundef @.str.26, i32 noundef %14956, ptr noundef @.str.144, ptr noundef @.str.22, i32 noundef 795, ptr noundef %14959, ptr noundef %14962, ptr noundef %14965, i32 noundef %14967) #11
  br label %14969

14969:                                            ; preds = %14952, %14935
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #11
  br label %14970

14970:                                            ; preds = %14969
  br label %14971

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

14972:                                            ; No predecessors!
  br label %14973

14973:                                            ; preds = %14972
  br label %14974

14974:                                            ; preds = %14973, %14914
  br label %14975

14975:                                            ; preds = %14974
  br label %14976

14976:                                            ; preds = %14975
  br label %14977

14977:                                            ; preds = %14976
  %14978 = load i32, ptr @test_count, align 4, !tbaa !5
  %14979 = add nsw i32 %14978, 1
  store i32 %14979, ptr @test_count, align 4, !tbaa !5
  %14980 = load ptr, ptr %358, align 8, !tbaa !9
  %14981 = call i32 @s2n_tls13_server_nst_write(ptr noundef %14980, ptr noundef %362)
  %14982 = getelementptr inbounds %struct.s2n_result, ptr %365, i32 0, i32 0
  store i32 %14981, ptr %14982, align 4
  %14983 = getelementptr inbounds %struct.s2n_result, ptr %365, i32 0, i32 0
  %14984 = load i32, ptr %14983, align 4
  %14985 = call zeroext i1 @s2n_result_is_ok(i32 %14984)
  br i1 %14985, label %15039, label %14986

14986:                                            ; preds = %14977
  br label %14987

14987:                                            ; preds = %14986
  br label %14988

14988:                                            ; preds = %14987
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #11
  %14989 = call ptr @__errno_location() #12
  %14990 = load i32, ptr %14989, align 4, !tbaa !5
  store i32 %14990, ptr %366, align 4, !tbaa !5
  %14991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14992 = call i32 @s2n_print_stacktrace(ptr noundef %14991)
  %14993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14994 = trunc i8 %14993 to i1
  br i1 %14994, label %14995, label %15017

14995:                                            ; preds = %14988
  %14996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14997 = call i32 @fileno(ptr noundef %14996) #11
  %14998 = call i32 @isatty(i32 noundef %14997) #11
  %14999 = icmp ne i32 %14998, 0
  br i1 %14999, label %15000, label %15017

15000:                                            ; preds = %14995
  %15001 = load i32, ptr %366, align 4, !tbaa !5
  %15002 = call ptr @__errno_location() #12
  store i32 %15001, ptr %15002, align 4, !tbaa !5
  %15003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15004 = load i32, ptr @test_count, align 4, !tbaa !5
  %15005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15006 = load i32, ptr %15005, align 4, !tbaa !5
  %15007 = call ptr @s2n_strerror(i32 noundef %15006, ptr noundef @.str.25)
  %15008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15009 = load i32, ptr %15008, align 4, !tbaa !5
  %15010 = call ptr @s2n_strerror_debug(i32 noundef %15009, ptr noundef @.str.25)
  %15011 = call ptr @__errno_location() #12
  %15012 = load i32, ptr %15011, align 4, !tbaa !5
  %15013 = call ptr @strerror(i32 noundef %15012) #11
  %15014 = call ptr @__errno_location() #12
  %15015 = load i32, ptr %15014, align 4, !tbaa !5
  %15016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15003, ptr noundef @.str.23, i32 noundef %15004, ptr noundef @.str.138, ptr noundef @.str.22, i32 noundef 796, ptr noundef %15007, ptr noundef %15010, ptr noundef %15013, i32 noundef %15015) #11
  br label %15034

15017:                                            ; preds = %14995, %14988
  %15018 = load i32, ptr %366, align 4, !tbaa !5
  %15019 = call ptr @__errno_location() #12
  store i32 %15018, ptr %15019, align 4, !tbaa !5
  %15020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15021 = load i32, ptr @test_count, align 4, !tbaa !5
  %15022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15023 = load i32, ptr %15022, align 4, !tbaa !5
  %15024 = call ptr @s2n_strerror(i32 noundef %15023, ptr noundef @.str.25)
  %15025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15026 = load i32, ptr %15025, align 4, !tbaa !5
  %15027 = call ptr @s2n_strerror_debug(i32 noundef %15026, ptr noundef @.str.25)
  %15028 = call ptr @__errno_location() #12
  %15029 = load i32, ptr %15028, align 4, !tbaa !5
  %15030 = call ptr @strerror(i32 noundef %15029) #11
  %15031 = call ptr @__errno_location() #12
  %15032 = load i32, ptr %15031, align 4, !tbaa !5
  %15033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15020, ptr noundef @.str.26, i32 noundef %15021, ptr noundef @.str.138, ptr noundef @.str.22, i32 noundef 796, ptr noundef %15024, ptr noundef %15027, ptr noundef %15030, i32 noundef %15032) #11
  br label %15034

15034:                                            ; preds = %15017, %15000
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #11
  br label %15035

15035:                                            ; preds = %15034
  br label %15036

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

15037:                                            ; No predecessors!
  br label %15038

15038:                                            ; preds = %15037
  br label %15039

15039:                                            ; preds = %15038, %14977
  br label %15040

15040:                                            ; preds = %15039
  br label %15041

15041:                                            ; preds = %15040
  br label %15042

15042:                                            ; preds = %15041
  %15043 = load i32, ptr @test_count, align 4, !tbaa !5
  %15044 = add nsw i32 %15043, 1
  store i32 %15044, ptr @test_count, align 4, !tbaa !5
  %15045 = call i32 @s2n_stuffer_skip_read(ptr noundef %362, i32 noundef 4)
  %15046 = icmp eq i32 %15045, -1
  br i1 %15046, label %15047, label %15100

15047:                                            ; preds = %15042
  br label %15048

15048:                                            ; preds = %15047
  br label %15049

15049:                                            ; preds = %15048
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #11
  %15050 = call ptr @__errno_location() #12
  %15051 = load i32, ptr %15050, align 4, !tbaa !5
  store i32 %15051, ptr %367, align 4, !tbaa !5
  %15052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15053 = call i32 @s2n_print_stacktrace(ptr noundef %15052)
  %15054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15055 = trunc i8 %15054 to i1
  br i1 %15055, label %15056, label %15078

15056:                                            ; preds = %15049
  %15057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15058 = call i32 @fileno(ptr noundef %15057) #11
  %15059 = call i32 @isatty(i32 noundef %15058) #11
  %15060 = icmp ne i32 %15059, 0
  br i1 %15060, label %15061, label %15078

15061:                                            ; preds = %15056
  %15062 = load i32, ptr %367, align 4, !tbaa !5
  %15063 = call ptr @__errno_location() #12
  store i32 %15062, ptr %15063, align 4, !tbaa !5
  %15064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15065 = load i32, ptr @test_count, align 4, !tbaa !5
  %15066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15067 = load i32, ptr %15066, align 4, !tbaa !5
  %15068 = call ptr @s2n_strerror(i32 noundef %15067, ptr noundef @.str.25)
  %15069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15070 = load i32, ptr %15069, align 4, !tbaa !5
  %15071 = call ptr @s2n_strerror_debug(i32 noundef %15070, ptr noundef @.str.25)
  %15072 = call ptr @__errno_location() #12
  %15073 = load i32, ptr %15072, align 4, !tbaa !5
  %15074 = call ptr @strerror(i32 noundef %15073) #11
  %15075 = call ptr @__errno_location() #12
  %15076 = load i32, ptr %15075, align 4, !tbaa !5
  %15077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15064, ptr noundef @.str.23, i32 noundef %15065, ptr noundef @.str.139, ptr noundef @.str.22, i32 noundef 797, ptr noundef %15068, ptr noundef %15071, ptr noundef %15074, i32 noundef %15076) #11
  br label %15095

15078:                                            ; preds = %15056, %15049
  %15079 = load i32, ptr %367, align 4, !tbaa !5
  %15080 = call ptr @__errno_location() #12
  store i32 %15079, ptr %15080, align 4, !tbaa !5
  %15081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15082 = load i32, ptr @test_count, align 4, !tbaa !5
  %15083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15084 = load i32, ptr %15083, align 4, !tbaa !5
  %15085 = call ptr @s2n_strerror(i32 noundef %15084, ptr noundef @.str.25)
  %15086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15087 = load i32, ptr %15086, align 4, !tbaa !5
  %15088 = call ptr @s2n_strerror_debug(i32 noundef %15087, ptr noundef @.str.25)
  %15089 = call ptr @__errno_location() #12
  %15090 = load i32, ptr %15089, align 4, !tbaa !5
  %15091 = call ptr @strerror(i32 noundef %15090) #11
  %15092 = call ptr @__errno_location() #12
  %15093 = load i32, ptr %15092, align 4, !tbaa !5
  %15094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15081, ptr noundef @.str.26, i32 noundef %15082, ptr noundef @.str.139, ptr noundef @.str.22, i32 noundef 797, ptr noundef %15085, ptr noundef %15088, ptr noundef %15091, i32 noundef %15093) #11
  br label %15095

15095:                                            ; preds = %15078, %15061
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #11
  br label %15096

15096:                                            ; preds = %15095
  br label %15097

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

15098:                                            ; No predecessors!
  br label %15099

15099:                                            ; preds = %15098
  br label %15100

15100:                                            ; preds = %15099, %15042
  br label %15101

15101:                                            ; preds = %15100
  br label %15102

15102:                                            ; preds = %15101
  br label %15103

15103:                                            ; preds = %15102
  %15104 = load i32, ptr @test_count, align 4, !tbaa !5
  %15105 = add nsw i32 %15104, 1
  store i32 %15105, ptr @test_count, align 4, !tbaa !5
  %15106 = load ptr, ptr %355, align 8, !tbaa !9
  %15107 = call i32 @s2n_tls13_server_nst_recv(ptr noundef %15106, ptr noundef %362)
  %15108 = getelementptr inbounds %struct.s2n_result, ptr %368, i32 0, i32 0
  store i32 %15107, ptr %15108, align 4
  %15109 = getelementptr inbounds %struct.s2n_result, ptr %368, i32 0, i32 0
  %15110 = load i32, ptr %15109, align 4
  %15111 = call zeroext i1 @s2n_result_is_ok(i32 %15110)
  br i1 %15111, label %15165, label %15112

15112:                                            ; preds = %15103
  br label %15113

15113:                                            ; preds = %15112
  br label %15114

15114:                                            ; preds = %15113
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #11
  %15115 = call ptr @__errno_location() #12
  %15116 = load i32, ptr %15115, align 4, !tbaa !5
  store i32 %15116, ptr %369, align 4, !tbaa !5
  %15117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15118 = call i32 @s2n_print_stacktrace(ptr noundef %15117)
  %15119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15120 = trunc i8 %15119 to i1
  br i1 %15120, label %15121, label %15143

15121:                                            ; preds = %15114
  %15122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15123 = call i32 @fileno(ptr noundef %15122) #11
  %15124 = call i32 @isatty(i32 noundef %15123) #11
  %15125 = icmp ne i32 %15124, 0
  br i1 %15125, label %15126, label %15143

15126:                                            ; preds = %15121
  %15127 = load i32, ptr %369, align 4, !tbaa !5
  %15128 = call ptr @__errno_location() #12
  store i32 %15127, ptr %15128, align 4, !tbaa !5
  %15129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15130 = load i32, ptr @test_count, align 4, !tbaa !5
  %15131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15132 = load i32, ptr %15131, align 4, !tbaa !5
  %15133 = call ptr @s2n_strerror(i32 noundef %15132, ptr noundef @.str.25)
  %15134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15135 = load i32, ptr %15134, align 4, !tbaa !5
  %15136 = call ptr @s2n_strerror_debug(i32 noundef %15135, ptr noundef @.str.25)
  %15137 = call ptr @__errno_location() #12
  %15138 = load i32, ptr %15137, align 4, !tbaa !5
  %15139 = call ptr @strerror(i32 noundef %15138) #11
  %15140 = call ptr @__errno_location() #12
  %15141 = load i32, ptr %15140, align 4, !tbaa !5
  %15142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15129, ptr noundef @.str.23, i32 noundef %15130, ptr noundef @.str.140, ptr noundef @.str.22, i32 noundef 798, ptr noundef %15133, ptr noundef %15136, ptr noundef %15139, i32 noundef %15141) #11
  br label %15160

15143:                                            ; preds = %15121, %15114
  %15144 = load i32, ptr %369, align 4, !tbaa !5
  %15145 = call ptr @__errno_location() #12
  store i32 %15144, ptr %15145, align 4, !tbaa !5
  %15146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15147 = load i32, ptr @test_count, align 4, !tbaa !5
  %15148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15149 = load i32, ptr %15148, align 4, !tbaa !5
  %15150 = call ptr @s2n_strerror(i32 noundef %15149, ptr noundef @.str.25)
  %15151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15152 = load i32, ptr %15151, align 4, !tbaa !5
  %15153 = call ptr @s2n_strerror_debug(i32 noundef %15152, ptr noundef @.str.25)
  %15154 = call ptr @__errno_location() #12
  %15155 = load i32, ptr %15154, align 4, !tbaa !5
  %15156 = call ptr @strerror(i32 noundef %15155) #11
  %15157 = call ptr @__errno_location() #12
  %15158 = load i32, ptr %15157, align 4, !tbaa !5
  %15159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15146, ptr noundef @.str.26, i32 noundef %15147, ptr noundef @.str.140, ptr noundef @.str.22, i32 noundef 798, ptr noundef %15150, ptr noundef %15153, ptr noundef %15156, i32 noundef %15158) #11
  br label %15160

15160:                                            ; preds = %15143, %15126
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #11
  br label %15161

15161:                                            ; preds = %15160
  br label %15162

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

15163:                                            ; No predecessors!
  br label %15164

15164:                                            ; preds = %15163
  br label %15165

15165:                                            ; preds = %15164, %15103
  br label %15166

15166:                                            ; preds = %15165
  br label %15167

15167:                                            ; preds = %15166
  br label %15168

15168:                                            ; preds = %15167
  %15169 = load i32, ptr @test_count, align 4, !tbaa !5
  %15170 = add nsw i32 %15169, 1
  store i32 %15170, ptr @test_count, align 4, !tbaa !5
  %15171 = load ptr, ptr %355, align 8, !tbaa !9
  %15172 = getelementptr inbounds %struct.s2n_connection, ptr %15171, i32 0, i32 90
  %15173 = load i32, ptr %15172, align 4, !tbaa !75
  %15174 = icmp eq i32 %15173, 17
  br i1 %15174, label %15228, label %15175

15175:                                            ; preds = %15168
  br label %15176

15176:                                            ; preds = %15175
  br label %15177

15177:                                            ; preds = %15176
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #11
  %15178 = call ptr @__errno_location() #12
  %15179 = load i32, ptr %15178, align 4, !tbaa !5
  store i32 %15179, ptr %370, align 4, !tbaa !5
  %15180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15181 = call i32 @s2n_print_stacktrace(ptr noundef %15180)
  %15182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15183 = trunc i8 %15182 to i1
  br i1 %15183, label %15184, label %15206

15184:                                            ; preds = %15177
  %15185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15186 = call i32 @fileno(ptr noundef %15185) #11
  %15187 = call i32 @isatty(i32 noundef %15186) #11
  %15188 = icmp ne i32 %15187, 0
  br i1 %15188, label %15189, label %15206

15189:                                            ; preds = %15184
  %15190 = load i32, ptr %370, align 4, !tbaa !5
  %15191 = call ptr @__errno_location() #12
  store i32 %15190, ptr %15191, align 4, !tbaa !5
  %15192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15193 = load i32, ptr @test_count, align 4, !tbaa !5
  %15194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15195 = load i32, ptr %15194, align 4, !tbaa !5
  %15196 = call ptr @s2n_strerror(i32 noundef %15195, ptr noundef @.str.25)
  %15197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15198 = load i32, ptr %15197, align 4, !tbaa !5
  %15199 = call ptr @s2n_strerror_debug(i32 noundef %15198, ptr noundef @.str.25)
  %15200 = call ptr @__errno_location() #12
  %15201 = load i32, ptr %15200, align 4, !tbaa !5
  %15202 = call ptr @strerror(i32 noundef %15201) #11
  %15203 = call ptr @__errno_location() #12
  %15204 = load i32, ptr %15203, align 4, !tbaa !5
  %15205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15192, ptr noundef @.str.23, i32 noundef %15193, ptr noundef @.str.145, ptr noundef @.str.22, i32 noundef 799, ptr noundef %15196, ptr noundef %15199, ptr noundef %15202, i32 noundef %15204) #11
  br label %15223

15206:                                            ; preds = %15184, %15177
  %15207 = load i32, ptr %370, align 4, !tbaa !5
  %15208 = call ptr @__errno_location() #12
  store i32 %15207, ptr %15208, align 4, !tbaa !5
  %15209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15210 = load i32, ptr @test_count, align 4, !tbaa !5
  %15211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15212 = load i32, ptr %15211, align 4, !tbaa !5
  %15213 = call ptr @s2n_strerror(i32 noundef %15212, ptr noundef @.str.25)
  %15214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15215 = load i32, ptr %15214, align 4, !tbaa !5
  %15216 = call ptr @s2n_strerror_debug(i32 noundef %15215, ptr noundef @.str.25)
  %15217 = call ptr @__errno_location() #12
  %15218 = load i32, ptr %15217, align 4, !tbaa !5
  %15219 = call ptr @strerror(i32 noundef %15218) #11
  %15220 = call ptr @__errno_location() #12
  %15221 = load i32, ptr %15220, align 4, !tbaa !5
  %15222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15209, ptr noundef @.str.26, i32 noundef %15210, ptr noundef @.str.145, ptr noundef @.str.22, i32 noundef 799, ptr noundef %15213, ptr noundef %15216, ptr noundef %15219, i32 noundef %15221) #11
  br label %15223

15223:                                            ; preds = %15206, %15189
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #11
  br label %15224

15224:                                            ; preds = %15223
  br label %15225

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

15226:                                            ; No predecessors!
  br label %15227

15227:                                            ; preds = %15226
  br label %15228

15228:                                            ; preds = %15227, %15168
  br label %15229

15229:                                            ; preds = %15228
  br label %15230

15230:                                            ; preds = %15229
  br label %15231

15231:                                            ; preds = %15230
  %15232 = load i32, ptr @test_count, align 4, !tbaa !5
  %15233 = add nsw i32 %15232, 1
  store i32 %15233, ptr @test_count, align 4, !tbaa !5
  %15234 = load ptr, ptr %355, align 8, !tbaa !9
  %15235 = call i32 @s2n_connection_free(ptr noundef %15234)
  %15236 = icmp eq i32 %15235, -1
  br i1 %15236, label %15237, label %15290

15237:                                            ; preds = %15231
  br label %15238

15238:                                            ; preds = %15237
  br label %15239

15239:                                            ; preds = %15238
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #11
  %15240 = call ptr @__errno_location() #12
  %15241 = load i32, ptr %15240, align 4, !tbaa !5
  store i32 %15241, ptr %371, align 4, !tbaa !5
  %15242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15243 = call i32 @s2n_print_stacktrace(ptr noundef %15242)
  %15244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15245 = trunc i8 %15244 to i1
  br i1 %15245, label %15246, label %15268

15246:                                            ; preds = %15239
  %15247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15248 = call i32 @fileno(ptr noundef %15247) #11
  %15249 = call i32 @isatty(i32 noundef %15248) #11
  %15250 = icmp ne i32 %15249, 0
  br i1 %15250, label %15251, label %15268

15251:                                            ; preds = %15246
  %15252 = load i32, ptr %371, align 4, !tbaa !5
  %15253 = call ptr @__errno_location() #12
  store i32 %15252, ptr %15253, align 4, !tbaa !5
  %15254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15255 = load i32, ptr @test_count, align 4, !tbaa !5
  %15256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15257 = load i32, ptr %15256, align 4, !tbaa !5
  %15258 = call ptr @s2n_strerror(i32 noundef %15257, ptr noundef @.str.25)
  %15259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15260 = load i32, ptr %15259, align 4, !tbaa !5
  %15261 = call ptr @s2n_strerror_debug(i32 noundef %15260, ptr noundef @.str.25)
  %15262 = call ptr @__errno_location() #12
  %15263 = load i32, ptr %15262, align 4, !tbaa !5
  %15264 = call ptr @strerror(i32 noundef %15263) #11
  %15265 = call ptr @__errno_location() #12
  %15266 = load i32, ptr %15265, align 4, !tbaa !5
  %15267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15254, ptr noundef @.str.23, i32 noundef %15255, ptr noundef @.str.141, ptr noundef @.str.22, i32 noundef 801, ptr noundef %15258, ptr noundef %15261, ptr noundef %15264, i32 noundef %15266) #11
  br label %15285

15268:                                            ; preds = %15246, %15239
  %15269 = load i32, ptr %371, align 4, !tbaa !5
  %15270 = call ptr @__errno_location() #12
  store i32 %15269, ptr %15270, align 4, !tbaa !5
  %15271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15272 = load i32, ptr @test_count, align 4, !tbaa !5
  %15273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15274 = load i32, ptr %15273, align 4, !tbaa !5
  %15275 = call ptr @s2n_strerror(i32 noundef %15274, ptr noundef @.str.25)
  %15276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15277 = load i32, ptr %15276, align 4, !tbaa !5
  %15278 = call ptr @s2n_strerror_debug(i32 noundef %15277, ptr noundef @.str.25)
  %15279 = call ptr @__errno_location() #12
  %15280 = load i32, ptr %15279, align 4, !tbaa !5
  %15281 = call ptr @strerror(i32 noundef %15280) #11
  %15282 = call ptr @__errno_location() #12
  %15283 = load i32, ptr %15282, align 4, !tbaa !5
  %15284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15271, ptr noundef @.str.26, i32 noundef %15272, ptr noundef @.str.141, ptr noundef @.str.22, i32 noundef 801, ptr noundef %15275, ptr noundef %15278, ptr noundef %15281, i32 noundef %15283) #11
  br label %15285

15285:                                            ; preds = %15268, %15251
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #11
  br label %15286

15286:                                            ; preds = %15285
  br label %15287

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

15288:                                            ; No predecessors!
  br label %15289

15289:                                            ; preds = %15288
  br label %15290

15290:                                            ; preds = %15289, %15231
  br label %15291

15291:                                            ; preds = %15290
  br label %15292

15292:                                            ; preds = %15291
  br label %15293

15293:                                            ; preds = %15292
  %15294 = load i32, ptr @test_count, align 4, !tbaa !5
  %15295 = add nsw i32 %15294, 1
  store i32 %15295, ptr @test_count, align 4, !tbaa !5
  %15296 = load ptr, ptr %358, align 8, !tbaa !9
  %15297 = call i32 @s2n_connection_free(ptr noundef %15296)
  %15298 = icmp eq i32 %15297, -1
  br i1 %15298, label %15299, label %15352

15299:                                            ; preds = %15293
  br label %15300

15300:                                            ; preds = %15299
  br label %15301

15301:                                            ; preds = %15300
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #11
  %15302 = call ptr @__errno_location() #12
  %15303 = load i32, ptr %15302, align 4, !tbaa !5
  store i32 %15303, ptr %372, align 4, !tbaa !5
  %15304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15305 = call i32 @s2n_print_stacktrace(ptr noundef %15304)
  %15306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15307 = trunc i8 %15306 to i1
  br i1 %15307, label %15308, label %15330

15308:                                            ; preds = %15301
  %15309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15310 = call i32 @fileno(ptr noundef %15309) #11
  %15311 = call i32 @isatty(i32 noundef %15310) #11
  %15312 = icmp ne i32 %15311, 0
  br i1 %15312, label %15313, label %15330

15313:                                            ; preds = %15308
  %15314 = load i32, ptr %372, align 4, !tbaa !5
  %15315 = call ptr @__errno_location() #12
  store i32 %15314, ptr %15315, align 4, !tbaa !5
  %15316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15317 = load i32, ptr @test_count, align 4, !tbaa !5
  %15318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15319 = load i32, ptr %15318, align 4, !tbaa !5
  %15320 = call ptr @s2n_strerror(i32 noundef %15319, ptr noundef @.str.25)
  %15321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15322 = load i32, ptr %15321, align 4, !tbaa !5
  %15323 = call ptr @s2n_strerror_debug(i32 noundef %15322, ptr noundef @.str.25)
  %15324 = call ptr @__errno_location() #12
  %15325 = load i32, ptr %15324, align 4, !tbaa !5
  %15326 = call ptr @strerror(i32 noundef %15325) #11
  %15327 = call ptr @__errno_location() #12
  %15328 = load i32, ptr %15327, align 4, !tbaa !5
  %15329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15316, ptr noundef @.str.23, i32 noundef %15317, ptr noundef @.str.87, ptr noundef @.str.22, i32 noundef 802, ptr noundef %15320, ptr noundef %15323, ptr noundef %15326, i32 noundef %15328) #11
  br label %15347

15330:                                            ; preds = %15308, %15301
  %15331 = load i32, ptr %372, align 4, !tbaa !5
  %15332 = call ptr @__errno_location() #12
  store i32 %15331, ptr %15332, align 4, !tbaa !5
  %15333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15334 = load i32, ptr @test_count, align 4, !tbaa !5
  %15335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15336 = load i32, ptr %15335, align 4, !tbaa !5
  %15337 = call ptr @s2n_strerror(i32 noundef %15336, ptr noundef @.str.25)
  %15338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15339 = load i32, ptr %15338, align 4, !tbaa !5
  %15340 = call ptr @s2n_strerror_debug(i32 noundef %15339, ptr noundef @.str.25)
  %15341 = call ptr @__errno_location() #12
  %15342 = load i32, ptr %15341, align 4, !tbaa !5
  %15343 = call ptr @strerror(i32 noundef %15342) #11
  %15344 = call ptr @__errno_location() #12
  %15345 = load i32, ptr %15344, align 4, !tbaa !5
  %15346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15333, ptr noundef @.str.26, i32 noundef %15334, ptr noundef @.str.87, ptr noundef @.str.22, i32 noundef 802, ptr noundef %15337, ptr noundef %15340, ptr noundef %15343, i32 noundef %15345) #11
  br label %15347

15347:                                            ; preds = %15330, %15313
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #11
  br label %15348

15348:                                            ; preds = %15347
  br label %15349

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

15350:                                            ; No predecessors!
  br label %15351

15351:                                            ; preds = %15350
  br label %15352

15352:                                            ; preds = %15351, %15293
  br label %15353

15353:                                            ; preds = %15352
  br label %15354

15354:                                            ; preds = %15353
  br label %15355

15355:                                            ; preds = %15354
  %15356 = load i32, ptr @test_count, align 4, !tbaa !5
  %15357 = add nsw i32 %15356, 1
  store i32 %15357, ptr @test_count, align 4, !tbaa !5
  %15358 = call i32 @s2n_stuffer_free(ptr noundef %362)
  %15359 = icmp eq i32 %15358, -1
  br i1 %15359, label %15360, label %15413

15360:                                            ; preds = %15355
  br label %15361

15361:                                            ; preds = %15360
  br label %15362

15362:                                            ; preds = %15361
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #11
  %15363 = call ptr @__errno_location() #12
  %15364 = load i32, ptr %15363, align 4, !tbaa !5
  store i32 %15364, ptr %373, align 4, !tbaa !5
  %15365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15366 = call i32 @s2n_print_stacktrace(ptr noundef %15365)
  %15367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15368 = trunc i8 %15367 to i1
  br i1 %15368, label %15369, label %15391

15369:                                            ; preds = %15362
  %15370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15371 = call i32 @fileno(ptr noundef %15370) #11
  %15372 = call i32 @isatty(i32 noundef %15371) #11
  %15373 = icmp ne i32 %15372, 0
  br i1 %15373, label %15374, label %15391

15374:                                            ; preds = %15369
  %15375 = load i32, ptr %373, align 4, !tbaa !5
  %15376 = call ptr @__errno_location() #12
  store i32 %15375, ptr %15376, align 4, !tbaa !5
  %15377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15378 = load i32, ptr @test_count, align 4, !tbaa !5
  %15379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15380 = load i32, ptr %15379, align 4, !tbaa !5
  %15381 = call ptr @s2n_strerror(i32 noundef %15380, ptr noundef @.str.25)
  %15382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15383 = load i32, ptr %15382, align 4, !tbaa !5
  %15384 = call ptr @s2n_strerror_debug(i32 noundef %15383, ptr noundef @.str.25)
  %15385 = call ptr @__errno_location() #12
  %15386 = load i32, ptr %15385, align 4, !tbaa !5
  %15387 = call ptr @strerror(i32 noundef %15386) #11
  %15388 = call ptr @__errno_location() #12
  %15389 = load i32, ptr %15388, align 4, !tbaa !5
  %15390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15377, ptr noundef @.str.23, i32 noundef %15378, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 803, ptr noundef %15381, ptr noundef %15384, ptr noundef %15387, i32 noundef %15389) #11
  br label %15408

15391:                                            ; preds = %15369, %15362
  %15392 = load i32, ptr %373, align 4, !tbaa !5
  %15393 = call ptr @__errno_location() #12
  store i32 %15392, ptr %15393, align 4, !tbaa !5
  %15394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15395 = load i32, ptr @test_count, align 4, !tbaa !5
  %15396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15397 = load i32, ptr %15396, align 4, !tbaa !5
  %15398 = call ptr @s2n_strerror(i32 noundef %15397, ptr noundef @.str.25)
  %15399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15400 = load i32, ptr %15399, align 4, !tbaa !5
  %15401 = call ptr @s2n_strerror_debug(i32 noundef %15400, ptr noundef @.str.25)
  %15402 = call ptr @__errno_location() #12
  %15403 = load i32, ptr %15402, align 4, !tbaa !5
  %15404 = call ptr @strerror(i32 noundef %15403) #11
  %15405 = call ptr @__errno_location() #12
  %15406 = load i32, ptr %15405, align 4, !tbaa !5
  %15407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15394, ptr noundef @.str.26, i32 noundef %15395, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 803, ptr noundef %15398, ptr noundef %15401, ptr noundef %15404, i32 noundef %15406) #11
  br label %15408

15408:                                            ; preds = %15391, %15374
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #11
  br label %15409

15409:                                            ; preds = %15408
  br label %15410

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

15411:                                            ; No predecessors!
  br label %15412

15412:                                            ; preds = %15411
  br label %15413

15413:                                            ; preds = %15412, %15355
  br label %15414

15414:                                            ; preds = %15413
  br label %15415

15415:                                            ; preds = %15414
  br label %15416

15416:                                            ; preds = %15415
  %15417 = load i32, ptr @test_count, align 4, !tbaa !5
  %15418 = add nsw i32 %15417, 1
  store i32 %15418, ptr @test_count, align 4, !tbaa !5
  %15419 = load ptr, ptr %349, align 8, !tbaa !9
  %15420 = call i32 @s2n_config_free(ptr noundef %15419)
  %15421 = icmp eq i32 %15420, -1
  br i1 %15421, label %15422, label %15475

15422:                                            ; preds = %15416
  br label %15423

15423:                                            ; preds = %15422
  br label %15424

15424:                                            ; preds = %15423
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #11
  %15425 = call ptr @__errno_location() #12
  %15426 = load i32, ptr %15425, align 4, !tbaa !5
  store i32 %15426, ptr %374, align 4, !tbaa !5
  %15427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15428 = call i32 @s2n_print_stacktrace(ptr noundef %15427)
  %15429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15430 = trunc i8 %15429 to i1
  br i1 %15430, label %15431, label %15453

15431:                                            ; preds = %15424
  %15432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15433 = call i32 @fileno(ptr noundef %15432) #11
  %15434 = call i32 @isatty(i32 noundef %15433) #11
  %15435 = icmp ne i32 %15434, 0
  br i1 %15435, label %15436, label %15453

15436:                                            ; preds = %15431
  %15437 = load i32, ptr %374, align 4, !tbaa !5
  %15438 = call ptr @__errno_location() #12
  store i32 %15437, ptr %15438, align 4, !tbaa !5
  %15439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15440 = load i32, ptr @test_count, align 4, !tbaa !5
  %15441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15442 = load i32, ptr %15441, align 4, !tbaa !5
  %15443 = call ptr @s2n_strerror(i32 noundef %15442, ptr noundef @.str.25)
  %15444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15445 = load i32, ptr %15444, align 4, !tbaa !5
  %15446 = call ptr @s2n_strerror_debug(i32 noundef %15445, ptr noundef @.str.25)
  %15447 = call ptr @__errno_location() #12
  %15448 = load i32, ptr %15447, align 4, !tbaa !5
  %15449 = call ptr @strerror(i32 noundef %15448) #11
  %15450 = call ptr @__errno_location() #12
  %15451 = load i32, ptr %15450, align 4, !tbaa !5
  %15452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15439, ptr noundef @.str.23, i32 noundef %15440, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 804, ptr noundef %15443, ptr noundef %15446, ptr noundef %15449, i32 noundef %15451) #11
  br label %15470

15453:                                            ; preds = %15431, %15424
  %15454 = load i32, ptr %374, align 4, !tbaa !5
  %15455 = call ptr @__errno_location() #12
  store i32 %15454, ptr %15455, align 4, !tbaa !5
  %15456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15457 = load i32, ptr @test_count, align 4, !tbaa !5
  %15458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15459 = load i32, ptr %15458, align 4, !tbaa !5
  %15460 = call ptr @s2n_strerror(i32 noundef %15459, ptr noundef @.str.25)
  %15461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15462 = load i32, ptr %15461, align 4, !tbaa !5
  %15463 = call ptr @s2n_strerror_debug(i32 noundef %15462, ptr noundef @.str.25)
  %15464 = call ptr @__errno_location() #12
  %15465 = load i32, ptr %15464, align 4, !tbaa !5
  %15466 = call ptr @strerror(i32 noundef %15465) #11
  %15467 = call ptr @__errno_location() #12
  %15468 = load i32, ptr %15467, align 4, !tbaa !5
  %15469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15456, ptr noundef @.str.26, i32 noundef %15457, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 804, ptr noundef %15460, ptr noundef %15463, ptr noundef %15466, i32 noundef %15468) #11
  br label %15470

15470:                                            ; preds = %15453, %15436
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #11
  br label %15471

15471:                                            ; preds = %15470
  br label %15472

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

15473:                                            ; No predecessors!
  br label %15474

15474:                                            ; preds = %15473
  br label %15475

15475:                                            ; preds = %15474, %15416
  br label %15476

15476:                                            ; preds = %15475
  br label %15477

15477:                                            ; preds = %15476
  call void @llvm.lifetime.end.p0(i64 40, ptr %362) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %358) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %355) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %349) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #11
  call void @llvm.lifetime.start.p0(i64 32, ptr %375) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %375, ptr align 16 @__const.main.expected_max_early_data_sizes, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %376) #11
  %15478 = call ptr @s2n_config_new()
  store ptr %15478, ptr %376, align 8, !tbaa !9
  br label %15479

15479:                                            ; preds = %15477
  %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 = load ptr, ptr %376, align 8, !tbaa !9
  %15483 = icmp eq ptr %15482, null
  br i1 %15483, label %15484, label %15537

15484:                                            ; preds = %15479
  br label %15485

15485:                                            ; preds = %15484
  br label %15486

15486:                                            ; preds = %15485
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #11
  %15487 = call ptr @__errno_location() #12
  %15488 = load i32, ptr %15487, align 4, !tbaa !5
  store i32 %15488, ptr %377, align 4, !tbaa !5
  %15489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15490 = call i32 @s2n_print_stacktrace(ptr noundef %15489)
  %15491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15492 = trunc i8 %15491 to i1
  br i1 %15492, label %15493, label %15515

15493:                                            ; preds = %15486
  %15494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15495 = call i32 @fileno(ptr noundef %15494) #11
  %15496 = call i32 @isatty(i32 noundef %15495) #11
  %15497 = icmp ne i32 %15496, 0
  br i1 %15497, label %15498, label %15515

15498:                                            ; preds = %15493
  %15499 = load i32, ptr %377, align 4, !tbaa !5
  %15500 = call ptr @__errno_location() #12
  store i32 %15499, ptr %15500, align 4, !tbaa !5
  %15501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15502 = load i32, ptr @test_count, align 4, !tbaa !5
  %15503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15504 = load i32, ptr %15503, align 4, !tbaa !5
  %15505 = call ptr @s2n_strerror(i32 noundef %15504, ptr noundef @.str.25)
  %15506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15507 = load i32, ptr %15506, align 4, !tbaa !5
  %15508 = call ptr @s2n_strerror_debug(i32 noundef %15507, ptr noundef @.str.25)
  %15509 = call ptr @__errno_location() #12
  %15510 = load i32, ptr %15509, align 4, !tbaa !5
  %15511 = call ptr @strerror(i32 noundef %15510) #11
  %15512 = call ptr @__errno_location() #12
  %15513 = load i32, ptr %15512, align 4, !tbaa !5
  %15514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15501, ptr noundef @.str.23, i32 noundef %15502, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 812, ptr noundef %15505, ptr noundef %15508, ptr noundef %15511, i32 noundef %15513) #11
  br label %15532

15515:                                            ; preds = %15493, %15486
  %15516 = load i32, ptr %377, align 4, !tbaa !5
  %15517 = call ptr @__errno_location() #12
  store i32 %15516, ptr %15517, align 4, !tbaa !5
  %15518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15519 = load i32, ptr @test_count, align 4, !tbaa !5
  %15520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15521 = load i32, ptr %15520, align 4, !tbaa !5
  %15522 = call ptr @s2n_strerror(i32 noundef %15521, ptr noundef @.str.25)
  %15523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15524 = load i32, ptr %15523, align 4, !tbaa !5
  %15525 = call ptr @s2n_strerror_debug(i32 noundef %15524, ptr noundef @.str.25)
  %15526 = call ptr @__errno_location() #12
  %15527 = load i32, ptr %15526, align 4, !tbaa !5
  %15528 = call ptr @strerror(i32 noundef %15527) #11
  %15529 = call ptr @__errno_location() #12
  %15530 = load i32, ptr %15529, align 4, !tbaa !5
  %15531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15518, ptr noundef @.str.26, i32 noundef %15519, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 812, ptr noundef %15522, ptr noundef %15525, ptr noundef %15528, i32 noundef %15530) #11
  br label %15532

15532:                                            ; preds = %15515, %15498
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #11
  br label %15533

15533:                                            ; preds = %15532
  br label %15534

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

15535:                                            ; No predecessors!
  br label %15536

15536:                                            ; preds = %15535
  br label %15537

15537:                                            ; preds = %15536, %15479
  br label %15538

15538:                                            ; preds = %15537
  br label %15539

15539:                                            ; preds = %15538
  br label %15540

15540:                                            ; preds = %15539
  %15541 = load i32, ptr @test_count, align 4, !tbaa !5
  %15542 = add nsw i32 %15541, 1
  store i32 %15542, ptr @test_count, align 4, !tbaa !5
  %15543 = load ptr, ptr %376, align 8, !tbaa !9
  %15544 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %15543, i8 noundef zeroext 1)
  %15545 = icmp eq i32 %15544, -1
  br i1 %15545, label %15546, label %15599

15546:                                            ; preds = %15540
  br label %15547

15547:                                            ; preds = %15546
  br label %15548

15548:                                            ; preds = %15547
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #11
  %15549 = call ptr @__errno_location() #12
  %15550 = load i32, ptr %15549, align 4, !tbaa !5
  store i32 %15550, ptr %378, align 4, !tbaa !5
  %15551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15552 = call i32 @s2n_print_stacktrace(ptr noundef %15551)
  %15553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15554 = trunc i8 %15553 to i1
  br i1 %15554, label %15555, label %15577

15555:                                            ; preds = %15548
  %15556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15557 = call i32 @fileno(ptr noundef %15556) #11
  %15558 = call i32 @isatty(i32 noundef %15557) #11
  %15559 = icmp ne i32 %15558, 0
  br i1 %15559, label %15560, label %15577

15560:                                            ; preds = %15555
  %15561 = load i32, ptr %378, align 4, !tbaa !5
  %15562 = call ptr @__errno_location() #12
  store i32 %15561, ptr %15562, align 4, !tbaa !5
  %15563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15564 = load i32, ptr @test_count, align 4, !tbaa !5
  %15565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15566 = load i32, ptr %15565, align 4, !tbaa !5
  %15567 = call ptr @s2n_strerror(i32 noundef %15566, ptr noundef @.str.25)
  %15568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15569 = load i32, ptr %15568, align 4, !tbaa !5
  %15570 = call ptr @s2n_strerror_debug(i32 noundef %15569, ptr noundef @.str.25)
  %15571 = call ptr @__errno_location() #12
  %15572 = load i32, ptr %15571, align 4, !tbaa !5
  %15573 = call ptr @strerror(i32 noundef %15572) #11
  %15574 = call ptr @__errno_location() #12
  %15575 = load i32, ptr %15574, align 4, !tbaa !5
  %15576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15563, ptr noundef @.str.23, i32 noundef %15564, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 813, ptr noundef %15567, ptr noundef %15570, ptr noundef %15573, i32 noundef %15575) #11
  br label %15594

15577:                                            ; preds = %15555, %15548
  %15578 = load i32, ptr %378, align 4, !tbaa !5
  %15579 = call ptr @__errno_location() #12
  store i32 %15578, ptr %15579, align 4, !tbaa !5
  %15580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15581 = load i32, ptr @test_count, align 4, !tbaa !5
  %15582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15583 = load i32, ptr %15582, align 4, !tbaa !5
  %15584 = call ptr @s2n_strerror(i32 noundef %15583, ptr noundef @.str.25)
  %15585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15586 = load i32, ptr %15585, align 4, !tbaa !5
  %15587 = call ptr @s2n_strerror_debug(i32 noundef %15586, ptr noundef @.str.25)
  %15588 = call ptr @__errno_location() #12
  %15589 = load i32, ptr %15588, align 4, !tbaa !5
  %15590 = call ptr @strerror(i32 noundef %15589) #11
  %15591 = call ptr @__errno_location() #12
  %15592 = load i32, ptr %15591, align 4, !tbaa !5
  %15593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15580, ptr noundef @.str.26, i32 noundef %15581, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 813, ptr noundef %15584, ptr noundef %15587, ptr noundef %15590, i32 noundef %15592) #11
  br label %15594

15594:                                            ; preds = %15577, %15560
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #11
  br label %15595

15595:                                            ; preds = %15594
  br label %15596

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

15597:                                            ; No predecessors!
  br label %15598

15598:                                            ; preds = %15597
  br label %15599

15599:                                            ; preds = %15598, %15540
  br label %15600

15600:                                            ; preds = %15599
  br label %15601

15601:                                            ; preds = %15600
  br label %15602

15602:                                            ; preds = %15601
  %15603 = load i32, ptr @test_count, align 4, !tbaa !5
  %15604 = add nsw i32 %15603, 1
  store i32 %15604, ptr @test_count, align 4, !tbaa !5
  %15605 = load ptr, ptr %376, align 8, !tbaa !9
  %15606 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %15605, ptr noundef @s2n_test_session_ticket_cb, ptr noundef null)
  %15607 = icmp eq i32 %15606, -1
  br i1 %15607, label %15608, label %15661

15608:                                            ; preds = %15602
  br label %15609

15609:                                            ; preds = %15608
  br label %15610

15610:                                            ; preds = %15609
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #11
  %15611 = call ptr @__errno_location() #12
  %15612 = load i32, ptr %15611, align 4, !tbaa !5
  store i32 %15612, ptr %379, align 4, !tbaa !5
  %15613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15614 = call i32 @s2n_print_stacktrace(ptr noundef %15613)
  %15615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15616 = trunc i8 %15615 to i1
  br i1 %15616, label %15617, label %15639

15617:                                            ; preds = %15610
  %15618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15619 = call i32 @fileno(ptr noundef %15618) #11
  %15620 = call i32 @isatty(i32 noundef %15619) #11
  %15621 = icmp ne i32 %15620, 0
  br i1 %15621, label %15622, label %15639

15622:                                            ; preds = %15617
  %15623 = load i32, ptr %379, align 4, !tbaa !5
  %15624 = call ptr @__errno_location() #12
  store i32 %15623, ptr %15624, align 4, !tbaa !5
  %15625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15626 = load i32, ptr @test_count, align 4, !tbaa !5
  %15627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15628 = load i32, ptr %15627, align 4, !tbaa !5
  %15629 = call ptr @s2n_strerror(i32 noundef %15628, ptr noundef @.str.25)
  %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_debug(i32 noundef %15631, ptr noundef @.str.25)
  %15633 = call ptr @__errno_location() #12
  %15634 = load i32, ptr %15633, align 4, !tbaa !5
  %15635 = call ptr @strerror(i32 noundef %15634) #11
  %15636 = call ptr @__errno_location() #12
  %15637 = load i32, ptr %15636, align 4, !tbaa !5
  %15638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15625, ptr noundef @.str.23, i32 noundef %15626, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 814, ptr noundef %15629, ptr noundef %15632, ptr noundef %15635, i32 noundef %15637) #11
  br label %15656

15639:                                            ; preds = %15617, %15610
  %15640 = load i32, ptr %379, align 4, !tbaa !5
  %15641 = call ptr @__errno_location() #12
  store i32 %15640, ptr %15641, align 4, !tbaa !5
  %15642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15643 = load i32, ptr @test_count, align 4, !tbaa !5
  %15644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15645 = load i32, ptr %15644, align 4, !tbaa !5
  %15646 = call ptr @s2n_strerror(i32 noundef %15645, ptr noundef @.str.25)
  %15647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15648 = load i32, ptr %15647, align 4, !tbaa !5
  %15649 = call ptr @s2n_strerror_debug(i32 noundef %15648, ptr noundef @.str.25)
  %15650 = call ptr @__errno_location() #12
  %15651 = load i32, ptr %15650, align 4, !tbaa !5
  %15652 = call ptr @strerror(i32 noundef %15651) #11
  %15653 = call ptr @__errno_location() #12
  %15654 = load i32, ptr %15653, align 4, !tbaa !5
  %15655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15642, ptr noundef @.str.26, i32 noundef %15643, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 814, ptr noundef %15646, ptr noundef %15649, ptr noundef %15652, i32 noundef %15654) #11
  br label %15656

15656:                                            ; preds = %15639, %15622
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #11
  br label %15657

15657:                                            ; preds = %15656
  br label %15658

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

15659:                                            ; No predecessors!
  br label %15660

15660:                                            ; preds = %15659
  br label %15661

15661:                                            ; preds = %15660, %15602
  br label %15662

15662:                                            ; preds = %15661
  br label %15663

15663:                                            ; preds = %15662
  br label %15664

15664:                                            ; preds = %15663
  %15665 = load i32, ptr @test_count, align 4, !tbaa !5
  %15666 = add nsw i32 %15665, 1
  store i32 %15666, ptr @test_count, align 4, !tbaa !5
  %15667 = load ptr, ptr %376, align 8, !tbaa !9
  %15668 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %15667)
  %15669 = getelementptr inbounds %struct.s2n_result, ptr %380, i32 0, i32 0
  store i32 %15668, ptr %15669, align 4
  %15670 = getelementptr inbounds %struct.s2n_result, ptr %380, i32 0, i32 0
  %15671 = load i32, ptr %15670, align 4
  %15672 = call zeroext i1 @s2n_result_is_ok(i32 %15671)
  br i1 %15672, label %15726, label %15673

15673:                                            ; preds = %15664
  br label %15674

15674:                                            ; preds = %15673
  br label %15675

15675:                                            ; preds = %15674
  call void @llvm.lifetime.start.p0(i64 4, ptr %381) #11
  %15676 = call ptr @__errno_location() #12
  %15677 = load i32, ptr %15676, align 4, !tbaa !5
  store i32 %15677, ptr %381, align 4, !tbaa !5
  %15678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15679 = call i32 @s2n_print_stacktrace(ptr noundef %15678)
  %15680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15681 = trunc i8 %15680 to i1
  br i1 %15681, label %15682, label %15704

15682:                                            ; preds = %15675
  %15683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15684 = call i32 @fileno(ptr noundef %15683) #11
  %15685 = call i32 @isatty(i32 noundef %15684) #11
  %15686 = icmp ne i32 %15685, 0
  br i1 %15686, label %15687, label %15704

15687:                                            ; preds = %15682
  %15688 = load i32, ptr %381, align 4, !tbaa !5
  %15689 = call ptr @__errno_location() #12
  store i32 %15688, ptr %15689, align 4, !tbaa !5
  %15690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15691 = load i32, ptr @test_count, align 4, !tbaa !5
  %15692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15693 = load i32, ptr %15692, align 4, !tbaa !5
  %15694 = call ptr @s2n_strerror(i32 noundef %15693, ptr noundef @.str.25)
  %15695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15696 = load i32, ptr %15695, align 4, !tbaa !5
  %15697 = call ptr @s2n_strerror_debug(i32 noundef %15696, ptr noundef @.str.25)
  %15698 = call ptr @__errno_location() #12
  %15699 = load i32, ptr %15698, align 4, !tbaa !5
  %15700 = call ptr @strerror(i32 noundef %15699) #11
  %15701 = call ptr @__errno_location() #12
  %15702 = load i32, ptr %15701, align 4, !tbaa !5
  %15703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15690, ptr noundef @.str.23, i32 noundef %15691, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 815, ptr noundef %15694, ptr noundef %15697, ptr noundef %15700, i32 noundef %15702) #11
  br label %15721

15704:                                            ; preds = %15682, %15675
  %15705 = load i32, ptr %381, align 4, !tbaa !5
  %15706 = call ptr @__errno_location() #12
  store i32 %15705, ptr %15706, align 4, !tbaa !5
  %15707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15708 = load i32, ptr @test_count, align 4, !tbaa !5
  %15709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15710 = load i32, ptr %15709, align 4, !tbaa !5
  %15711 = call ptr @s2n_strerror(i32 noundef %15710, ptr noundef @.str.25)
  %15712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15713 = load i32, ptr %15712, align 4, !tbaa !5
  %15714 = call ptr @s2n_strerror_debug(i32 noundef %15713, ptr noundef @.str.25)
  %15715 = call ptr @__errno_location() #12
  %15716 = load i32, ptr %15715, align 4, !tbaa !5
  %15717 = call ptr @strerror(i32 noundef %15716) #11
  %15718 = call ptr @__errno_location() #12
  %15719 = load i32, ptr %15718, align 4, !tbaa !5
  %15720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15707, ptr noundef @.str.26, i32 noundef %15708, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 815, ptr noundef %15711, ptr noundef %15714, ptr noundef %15717, i32 noundef %15719) #11
  br label %15721

15721:                                            ; preds = %15704, %15687
  call void @llvm.lifetime.end.p0(i64 4, ptr %381) #11
  br label %15722

15722:                                            ; preds = %15721
  br label %15723

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

15724:                                            ; No predecessors!
  br label %15725

15725:                                            ; preds = %15724
  br label %15726

15726:                                            ; preds = %15725, %15664
  br label %15727

15727:                                            ; preds = %15726
  br label %15728

15728:                                            ; preds = %15727
  call void @llvm.lifetime.start.p0(i64 8, ptr %382) #11
  %15729 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15729, ptr %382, align 8, !tbaa !9
  br label %15730

15730:                                            ; preds = %15728
  %15731 = load i32, ptr @test_count, align 4, !tbaa !5
  %15732 = add nsw i32 %15731, 1
  store i32 %15732, ptr @test_count, align 4, !tbaa !5
  %15733 = load ptr, ptr %382, align 8, !tbaa !9
  %15734 = icmp eq ptr %15733, null
  br i1 %15734, label %15735, label %15788

15735:                                            ; preds = %15730
  br label %15736

15736:                                            ; preds = %15735
  br label %15737

15737:                                            ; preds = %15736
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #11
  %15738 = call ptr @__errno_location() #12
  %15739 = load i32, ptr %15738, align 4, !tbaa !5
  store i32 %15739, ptr %383, align 4, !tbaa !5
  %15740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15741 = call i32 @s2n_print_stacktrace(ptr noundef %15740)
  %15742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15743 = trunc i8 %15742 to i1
  br i1 %15743, label %15744, label %15766

15744:                                            ; preds = %15737
  %15745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15746 = call i32 @fileno(ptr noundef %15745) #11
  %15747 = call i32 @isatty(i32 noundef %15746) #11
  %15748 = icmp ne i32 %15747, 0
  br i1 %15748, label %15749, label %15766

15749:                                            ; preds = %15744
  %15750 = load i32, ptr %383, align 4, !tbaa !5
  %15751 = call ptr @__errno_location() #12
  store i32 %15750, ptr %15751, align 4, !tbaa !5
  %15752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15753 = load i32, ptr @test_count, align 4, !tbaa !5
  %15754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15755 = load i32, ptr %15754, align 4, !tbaa !5
  %15756 = call ptr @s2n_strerror(i32 noundef %15755, ptr noundef @.str.25)
  %15757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15758 = load i32, ptr %15757, align 4, !tbaa !5
  %15759 = call ptr @s2n_strerror_debug(i32 noundef %15758, ptr noundef @.str.25)
  %15760 = call ptr @__errno_location() #12
  %15761 = load i32, ptr %15760, align 4, !tbaa !5
  %15762 = call ptr @strerror(i32 noundef %15761) #11
  %15763 = call ptr @__errno_location() #12
  %15764 = load i32, ptr %15763, align 4, !tbaa !5
  %15765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15752, ptr noundef @.str.23, i32 noundef %15753, ptr noundef @.str.136, ptr noundef @.str.22, i32 noundef 818, ptr noundef %15756, ptr noundef %15759, ptr noundef %15762, i32 noundef %15764) #11
  br label %15783

15766:                                            ; preds = %15744, %15737
  %15767 = load i32, ptr %383, align 4, !tbaa !5
  %15768 = call ptr @__errno_location() #12
  store i32 %15767, ptr %15768, align 4, !tbaa !5
  %15769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15770 = load i32, ptr @test_count, align 4, !tbaa !5
  %15771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15772 = load i32, ptr %15771, align 4, !tbaa !5
  %15773 = call ptr @s2n_strerror(i32 noundef %15772, ptr noundef @.str.25)
  %15774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15775 = load i32, ptr %15774, align 4, !tbaa !5
  %15776 = call ptr @s2n_strerror_debug(i32 noundef %15775, ptr noundef @.str.25)
  %15777 = call ptr @__errno_location() #12
  %15778 = load i32, ptr %15777, align 4, !tbaa !5
  %15779 = call ptr @strerror(i32 noundef %15778) #11
  %15780 = call ptr @__errno_location() #12
  %15781 = load i32, ptr %15780, align 4, !tbaa !5
  %15782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15769, ptr noundef @.str.26, i32 noundef %15770, ptr noundef @.str.136, ptr noundef @.str.22, i32 noundef 818, ptr noundef %15773, ptr noundef %15776, ptr noundef %15779, i32 noundef %15781) #11
  br label %15783

15783:                                            ; preds = %15766, %15749
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #11
  br label %15784

15784:                                            ; preds = %15783
  br label %15785

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

15786:                                            ; No predecessors!
  br label %15787

15787:                                            ; preds = %15786
  br label %15788

15788:                                            ; preds = %15787, %15730
  br label %15789

15789:                                            ; preds = %15788
  br label %15790

15790:                                            ; preds = %15789
  %15791 = load ptr, ptr %382, align 8, !tbaa !9
  %15792 = getelementptr inbounds %struct.s2n_connection, ptr %15791, i32 0, i32 23
  store i8 34, ptr %15792, align 4, !tbaa !17
  %15793 = load ptr, ptr %382, align 8, !tbaa !9
  %15794 = getelementptr inbounds %struct.s2n_connection, ptr %15793, i32 0, i32 27
  %15795 = load ptr, ptr %15794, align 8, !tbaa !43
  %15796 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %15795, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %15796, align 8, !tbaa !44
  br label %15797

15797:                                            ; preds = %15790
  %15798 = load i32, ptr @test_count, align 4, !tbaa !5
  %15799 = add nsw i32 %15798, 1
  store i32 %15799, ptr @test_count, align 4, !tbaa !5
  %15800 = load ptr, ptr %382, align 8, !tbaa !9
  %15801 = load ptr, ptr %376, align 8, !tbaa !9
  %15802 = call i32 @s2n_connection_set_config(ptr noundef %15800, ptr noundef %15801)
  %15803 = icmp eq i32 %15802, -1
  br i1 %15803, label %15804, label %15857

15804:                                            ; preds = %15797
  br label %15805

15805:                                            ; preds = %15804
  br label %15806

15806:                                            ; preds = %15805
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #11
  %15807 = call ptr @__errno_location() #12
  %15808 = load i32, ptr %15807, align 4, !tbaa !5
  store i32 %15808, ptr %384, align 4, !tbaa !5
  %15809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15810 = call i32 @s2n_print_stacktrace(ptr noundef %15809)
  %15811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15812 = trunc i8 %15811 to i1
  br i1 %15812, label %15813, label %15835

15813:                                            ; preds = %15806
  %15814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15815 = call i32 @fileno(ptr noundef %15814) #11
  %15816 = call i32 @isatty(i32 noundef %15815) #11
  %15817 = icmp ne i32 %15816, 0
  br i1 %15817, label %15818, label %15835

15818:                                            ; preds = %15813
  %15819 = load i32, ptr %384, align 4, !tbaa !5
  %15820 = call ptr @__errno_location() #12
  store i32 %15819, ptr %15820, align 4, !tbaa !5
  %15821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15822 = load i32, ptr @test_count, align 4, !tbaa !5
  %15823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15824 = load i32, ptr %15823, align 4, !tbaa !5
  %15825 = call ptr @s2n_strerror(i32 noundef %15824, ptr noundef @.str.25)
  %15826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15827 = load i32, ptr %15826, align 4, !tbaa !5
  %15828 = call ptr @s2n_strerror_debug(i32 noundef %15827, ptr noundef @.str.25)
  %15829 = call ptr @__errno_location() #12
  %15830 = load i32, ptr %15829, align 4, !tbaa !5
  %15831 = call ptr @strerror(i32 noundef %15830) #11
  %15832 = call ptr @__errno_location() #12
  %15833 = load i32, ptr %15832, align 4, !tbaa !5
  %15834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15821, ptr noundef @.str.23, i32 noundef %15822, ptr noundef @.str.137, ptr noundef @.str.22, i32 noundef 821, ptr noundef %15825, ptr noundef %15828, ptr noundef %15831, i32 noundef %15833) #11
  br label %15852

15835:                                            ; preds = %15813, %15806
  %15836 = load i32, ptr %384, align 4, !tbaa !5
  %15837 = call ptr @__errno_location() #12
  store i32 %15836, ptr %15837, align 4, !tbaa !5
  %15838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15839 = load i32, ptr @test_count, align 4, !tbaa !5
  %15840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15841 = load i32, ptr %15840, align 4, !tbaa !5
  %15842 = call ptr @s2n_strerror(i32 noundef %15841, ptr noundef @.str.25)
  %15843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15844 = load i32, ptr %15843, align 4, !tbaa !5
  %15845 = call ptr @s2n_strerror_debug(i32 noundef %15844, ptr noundef @.str.25)
  %15846 = call ptr @__errno_location() #12
  %15847 = load i32, ptr %15846, align 4, !tbaa !5
  %15848 = call ptr @strerror(i32 noundef %15847) #11
  %15849 = call ptr @__errno_location() #12
  %15850 = load i32, ptr %15849, align 4, !tbaa !5
  %15851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15838, ptr noundef @.str.26, i32 noundef %15839, ptr noundef @.str.137, ptr noundef @.str.22, i32 noundef 821, ptr noundef %15842, ptr noundef %15845, ptr noundef %15848, i32 noundef %15850) #11
  br label %15852

15852:                                            ; preds = %15835, %15818
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #11
  br label %15853

15853:                                            ; preds = %15852
  br label %15854

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

15855:                                            ; No predecessors!
  br label %15856

15856:                                            ; preds = %15855
  br label %15857

15857:                                            ; preds = %15856, %15797
  br label %15858

15858:                                            ; preds = %15857
  br label %15859

15859:                                            ; preds = %15858
  call void @llvm.lifetime.start.p0(i64 8, ptr %385) #11
  %15860 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15860, ptr %385, align 8, !tbaa !9
  br label %15861

15861:                                            ; preds = %15859
  %15862 = load i32, ptr @test_count, align 4, !tbaa !5
  %15863 = add nsw i32 %15862, 1
  store i32 %15863, ptr @test_count, align 4, !tbaa !5
  %15864 = load ptr, ptr %385, align 8, !tbaa !9
  %15865 = icmp eq ptr %15864, null
  br i1 %15865, label %15866, label %15919

15866:                                            ; preds = %15861
  br label %15867

15867:                                            ; preds = %15866
  br label %15868

15868:                                            ; preds = %15867
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #11
  %15869 = call ptr @__errno_location() #12
  %15870 = load i32, ptr %15869, align 4, !tbaa !5
  store i32 %15870, ptr %386, align 4, !tbaa !5
  %15871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15872 = call i32 @s2n_print_stacktrace(ptr noundef %15871)
  %15873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15874 = trunc i8 %15873 to i1
  br i1 %15874, label %15875, label %15897

15875:                                            ; preds = %15868
  %15876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15877 = call i32 @fileno(ptr noundef %15876) #11
  %15878 = call i32 @isatty(i32 noundef %15877) #11
  %15879 = icmp ne i32 %15878, 0
  br i1 %15879, label %15880, label %15897

15880:                                            ; preds = %15875
  %15881 = load i32, ptr %386, align 4, !tbaa !5
  %15882 = call ptr @__errno_location() #12
  store i32 %15881, ptr %15882, align 4, !tbaa !5
  %15883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15884 = load i32, ptr @test_count, align 4, !tbaa !5
  %15885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15886 = load i32, ptr %15885, align 4, !tbaa !5
  %15887 = call ptr @s2n_strerror(i32 noundef %15886, ptr noundef @.str.25)
  %15888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15889 = load i32, ptr %15888, align 4, !tbaa !5
  %15890 = call ptr @s2n_strerror_debug(i32 noundef %15889, ptr noundef @.str.25)
  %15891 = call ptr @__errno_location() #12
  %15892 = load i32, ptr %15891, align 4, !tbaa !5
  %15893 = call ptr @strerror(i32 noundef %15892) #11
  %15894 = call ptr @__errno_location() #12
  %15895 = load i32, ptr %15894, align 4, !tbaa !5
  %15896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15883, ptr noundef @.str.23, i32 noundef %15884, ptr noundef @.str.80, ptr noundef @.str.22, i32 noundef 824, ptr noundef %15887, ptr noundef %15890, ptr noundef %15893, i32 noundef %15895) #11
  br label %15914

15897:                                            ; preds = %15875, %15868
  %15898 = load i32, ptr %386, align 4, !tbaa !5
  %15899 = call ptr @__errno_location() #12
  store i32 %15898, ptr %15899, align 4, !tbaa !5
  %15900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15901 = load i32, ptr @test_count, align 4, !tbaa !5
  %15902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15903 = load i32, ptr %15902, align 4, !tbaa !5
  %15904 = call ptr @s2n_strerror(i32 noundef %15903, ptr noundef @.str.25)
  %15905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15906 = load i32, ptr %15905, align 4, !tbaa !5
  %15907 = call ptr @s2n_strerror_debug(i32 noundef %15906, ptr noundef @.str.25)
  %15908 = call ptr @__errno_location() #12
  %15909 = load i32, ptr %15908, align 4, !tbaa !5
  %15910 = call ptr @strerror(i32 noundef %15909) #11
  %15911 = call ptr @__errno_location() #12
  %15912 = load i32, ptr %15911, align 4, !tbaa !5
  %15913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15900, ptr noundef @.str.26, i32 noundef %15901, ptr noundef @.str.80, ptr noundef @.str.22, i32 noundef 824, ptr noundef %15904, ptr noundef %15907, ptr noundef %15910, i32 noundef %15912) #11
  br label %15914

15914:                                            ; preds = %15897, %15880
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #11
  br label %15915

15915:                                            ; preds = %15914
  br label %15916

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

15917:                                            ; No predecessors!
  br label %15918

15918:                                            ; preds = %15917
  br label %15919

15919:                                            ; preds = %15918, %15861
  br label %15920

15920:                                            ; preds = %15919
  br label %15921

15921:                                            ; preds = %15920
  %15922 = load ptr, ptr %385, align 8, !tbaa !9
  %15923 = getelementptr inbounds %struct.s2n_connection, ptr %15922, i32 0, i32 23
  store i8 34, ptr %15923, align 4, !tbaa !17
  %15924 = load ptr, ptr %385, align 8, !tbaa !9
  %15925 = getelementptr inbounds %struct.s2n_connection, ptr %15924, i32 0, i32 27
  %15926 = load ptr, ptr %15925, align 8, !tbaa !43
  %15927 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %15926, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %15927, align 8, !tbaa !44
  br label %15928

15928:                                            ; preds = %15921
  %15929 = load i32, ptr @test_count, align 4, !tbaa !5
  %15930 = add nsw i32 %15929, 1
  store i32 %15930, ptr @test_count, align 4, !tbaa !5
  %15931 = load ptr, ptr %385, align 8, !tbaa !9
  %15932 = load ptr, ptr %376, align 8, !tbaa !9
  %15933 = call i32 @s2n_connection_set_config(ptr noundef %15931, ptr noundef %15932)
  %15934 = icmp eq i32 %15933, -1
  br i1 %15934, label %15935, label %15988

15935:                                            ; preds = %15928
  br label %15936

15936:                                            ; preds = %15935
  br label %15937

15937:                                            ; preds = %15936
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #11
  %15938 = call ptr @__errno_location() #12
  %15939 = load i32, ptr %15938, align 4, !tbaa !5
  store i32 %15939, ptr %387, align 4, !tbaa !5
  %15940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15941 = call i32 @s2n_print_stacktrace(ptr noundef %15940)
  %15942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15943 = trunc i8 %15942 to i1
  br i1 %15943, label %15944, label %15966

15944:                                            ; preds = %15937
  %15945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15946 = call i32 @fileno(ptr noundef %15945) #11
  %15947 = call i32 @isatty(i32 noundef %15946) #11
  %15948 = icmp ne i32 %15947, 0
  br i1 %15948, label %15949, label %15966

15949:                                            ; preds = %15944
  %15950 = load i32, ptr %387, align 4, !tbaa !5
  %15951 = call ptr @__errno_location() #12
  store i32 %15950, ptr %15951, align 4, !tbaa !5
  %15952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15953 = load i32, ptr @test_count, align 4, !tbaa !5
  %15954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15955 = load i32, ptr %15954, align 4, !tbaa !5
  %15956 = call ptr @s2n_strerror(i32 noundef %15955, ptr noundef @.str.25)
  %15957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15958 = load i32, ptr %15957, align 4, !tbaa !5
  %15959 = call ptr @s2n_strerror_debug(i32 noundef %15958, ptr noundef @.str.25)
  %15960 = call ptr @__errno_location() #12
  %15961 = load i32, ptr %15960, align 4, !tbaa !5
  %15962 = call ptr @strerror(i32 noundef %15961) #11
  %15963 = call ptr @__errno_location() #12
  %15964 = load i32, ptr %15963, align 4, !tbaa !5
  %15965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15952, ptr noundef @.str.23, i32 noundef %15953, ptr noundef @.str.81, ptr noundef @.str.22, i32 noundef 827, ptr noundef %15956, ptr noundef %15959, ptr noundef %15962, i32 noundef %15964) #11
  br label %15983

15966:                                            ; preds = %15944, %15937
  %15967 = load i32, ptr %387, align 4, !tbaa !5
  %15968 = call ptr @__errno_location() #12
  store i32 %15967, ptr %15968, align 4, !tbaa !5
  %15969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15970 = load i32, ptr @test_count, align 4, !tbaa !5
  %15971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15972 = load i32, ptr %15971, align 4, !tbaa !5
  %15973 = call ptr @s2n_strerror(i32 noundef %15972, ptr noundef @.str.25)
  %15974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15975 = load i32, ptr %15974, align 4, !tbaa !5
  %15976 = call ptr @s2n_strerror_debug(i32 noundef %15975, ptr noundef @.str.25)
  %15977 = call ptr @__errno_location() #12
  %15978 = load i32, ptr %15977, align 4, !tbaa !5
  %15979 = call ptr @strerror(i32 noundef %15978) #11
  %15980 = call ptr @__errno_location() #12
  %15981 = load i32, ptr %15980, align 4, !tbaa !5
  %15982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15969, ptr noundef @.str.26, i32 noundef %15970, ptr noundef @.str.81, ptr noundef @.str.22, i32 noundef 827, ptr noundef %15973, ptr noundef %15976, ptr noundef %15979, i32 noundef %15981) #11
  br label %15983

15983:                                            ; preds = %15966, %15949
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #11
  br label %15984

15984:                                            ; preds = %15983
  br label %15985

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

15986:                                            ; No predecessors!
  br label %15987

15987:                                            ; preds = %15986
  br label %15988

15988:                                            ; preds = %15987, %15928
  br label %15989

15989:                                            ; preds = %15988
  br label %15990

15990:                                            ; preds = %15989
  call void @llvm.lifetime.start.p0(i64 40, ptr %388) #11
  call void @llvm.memset.p0.i64(ptr align 8 %388, i8 0, i64 40, i1 false)
  br label %15991

15991:                                            ; preds = %15990
  %15992 = load i32, ptr @test_count, align 4, !tbaa !5
  %15993 = add nsw i32 %15992, 1
  store i32 %15993, ptr @test_count, align 4, !tbaa !5
  %15994 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %388, i32 noundef 0)
  %15995 = icmp eq i32 %15994, -1
  br i1 %15995, label %15996, label %16049

15996:                                            ; preds = %15991
  br label %15997

15997:                                            ; preds = %15996
  br label %15998

15998:                                            ; preds = %15997
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #11
  %15999 = call ptr @__errno_location() #12
  %16000 = load i32, ptr %15999, align 4, !tbaa !5
  store i32 %16000, ptr %389, align 4, !tbaa !5
  %16001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16002 = call i32 @s2n_print_stacktrace(ptr noundef %16001)
  %16003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16004 = trunc i8 %16003 to i1
  br i1 %16004, label %16005, label %16027

16005:                                            ; preds = %15998
  %16006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16007 = call i32 @fileno(ptr noundef %16006) #11
  %16008 = call i32 @isatty(i32 noundef %16007) #11
  %16009 = icmp ne i32 %16008, 0
  br i1 %16009, label %16010, label %16027

16010:                                            ; preds = %16005
  %16011 = load i32, ptr %389, align 4, !tbaa !5
  %16012 = call ptr @__errno_location() #12
  store i32 %16011, ptr %16012, align 4, !tbaa !5
  %16013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16014 = load i32, ptr @test_count, align 4, !tbaa !5
  %16015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16016 = load i32, ptr %16015, align 4, !tbaa !5
  %16017 = call ptr @s2n_strerror(i32 noundef %16016, ptr noundef @.str.25)
  %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_debug(i32 noundef %16019, ptr noundef @.str.25)
  %16021 = call ptr @__errno_location() #12
  %16022 = load i32, ptr %16021, align 4, !tbaa !5
  %16023 = call ptr @strerror(i32 noundef %16022) #11
  %16024 = call ptr @__errno_location() #12
  %16025 = load i32, ptr %16024, align 4, !tbaa !5
  %16026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16013, ptr noundef @.str.23, i32 noundef %16014, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 830, ptr noundef %16017, ptr noundef %16020, ptr noundef %16023, i32 noundef %16025) #11
  br label %16044

16027:                                            ; preds = %16005, %15998
  %16028 = load i32, ptr %389, align 4, !tbaa !5
  %16029 = call ptr @__errno_location() #12
  store i32 %16028, ptr %16029, align 4, !tbaa !5
  %16030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16031 = load i32, ptr @test_count, align 4, !tbaa !5
  %16032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16033 = load i32, ptr %16032, align 4, !tbaa !5
  %16034 = call ptr @s2n_strerror(i32 noundef %16033, ptr noundef @.str.25)
  %16035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16036 = load i32, ptr %16035, align 4, !tbaa !5
  %16037 = call ptr @s2n_strerror_debug(i32 noundef %16036, ptr noundef @.str.25)
  %16038 = call ptr @__errno_location() #12
  %16039 = load i32, ptr %16038, align 4, !tbaa !5
  %16040 = call ptr @strerror(i32 noundef %16039) #11
  %16041 = call ptr @__errno_location() #12
  %16042 = load i32, ptr %16041, align 4, !tbaa !5
  %16043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16030, ptr noundef @.str.26, i32 noundef %16031, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 830, ptr noundef %16034, ptr noundef %16037, ptr noundef %16040, i32 noundef %16042) #11
  br label %16044

16044:                                            ; preds = %16027, %16010
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #11
  br label %16045

16045:                                            ; preds = %16044
  br label %16046

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

16047:                                            ; No predecessors!
  br label %16048

16048:                                            ; preds = %16047
  br label %16049

16049:                                            ; preds = %16048, %15991
  br label %16050

16050:                                            ; preds = %16049
  br label %16051

16051:                                            ; preds = %16050
  call void @llvm.lifetime.start.p0(i64 8, ptr %390) #11
  store i64 0, ptr %390, align 8, !tbaa !15
  br label %16052

16052:                                            ; preds = %16440, %16051
  %16053 = load i64, ptr %390, align 8, !tbaa !15
  %16054 = icmp ult i64 %16053, 8
  br i1 %16054, label %16056, label %16055

16055:                                            ; preds = %16052
  store i32 1478, ptr %223, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %390) #11
  br label %16443

16056:                                            ; preds = %16052
  br label %16057

16057:                                            ; preds = %16056
  %16058 = load i32, ptr @test_count, align 4, !tbaa !5
  %16059 = add nsw i32 %16058, 1
  store i32 %16059, ptr @test_count, align 4, !tbaa !5
  %16060 = load ptr, ptr %385, align 8, !tbaa !9
  %16061 = load i64, ptr %390, align 8, !tbaa !15
  %16062 = getelementptr inbounds [8 x i32], ptr %375, i64 0, i64 %16061
  %16063 = load i32, ptr %16062, align 4, !tbaa !5
  %16064 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %16060, i32 noundef %16063)
  %16065 = icmp eq i32 %16064, -1
  br i1 %16065, label %16066, label %16119

16066:                                            ; preds = %16057
  br label %16067

16067:                                            ; preds = %16066
  br label %16068

16068:                                            ; preds = %16067
  call void @llvm.lifetime.start.p0(i64 4, ptr %391) #11
  %16069 = call ptr @__errno_location() #12
  %16070 = load i32, ptr %16069, align 4, !tbaa !5
  store i32 %16070, ptr %391, align 4, !tbaa !5
  %16071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16072 = call i32 @s2n_print_stacktrace(ptr noundef %16071)
  %16073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16074 = trunc i8 %16073 to i1
  br i1 %16074, label %16075, label %16097

16075:                                            ; preds = %16068
  %16076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16077 = call i32 @fileno(ptr noundef %16076) #11
  %16078 = call i32 @isatty(i32 noundef %16077) #11
  %16079 = icmp ne i32 %16078, 0
  br i1 %16079, label %16080, label %16097

16080:                                            ; preds = %16075
  %16081 = load i32, ptr %391, align 4, !tbaa !5
  %16082 = call ptr @__errno_location() #12
  store i32 %16081, ptr %16082, align 4, !tbaa !5
  %16083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16084 = load i32, ptr @test_count, align 4, !tbaa !5
  %16085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16086 = load i32, ptr %16085, align 4, !tbaa !5
  %16087 = call ptr @s2n_strerror(i32 noundef %16086, ptr noundef @.str.25)
  %16088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16089 = load i32, ptr %16088, align 4, !tbaa !5
  %16090 = call ptr @s2n_strerror_debug(i32 noundef %16089, ptr noundef @.str.25)
  %16091 = call ptr @__errno_location() #12
  %16092 = load i32, ptr %16091, align 4, !tbaa !5
  %16093 = call ptr @strerror(i32 noundef %16092) #11
  %16094 = call ptr @__errno_location() #12
  %16095 = load i32, ptr %16094, align 4, !tbaa !5
  %16096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16083, ptr noundef @.str.23, i32 noundef %16084, ptr noundef @.str.146, ptr noundef @.str.22, i32 noundef 833, ptr noundef %16087, ptr noundef %16090, ptr noundef %16093, i32 noundef %16095) #11
  br label %16114

16097:                                            ; preds = %16075, %16068
  %16098 = load i32, ptr %391, align 4, !tbaa !5
  %16099 = call ptr @__errno_location() #12
  store i32 %16098, ptr %16099, align 4, !tbaa !5
  %16100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16101 = load i32, ptr @test_count, align 4, !tbaa !5
  %16102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16103 = load i32, ptr %16102, align 4, !tbaa !5
  %16104 = call ptr @s2n_strerror(i32 noundef %16103, ptr noundef @.str.25)
  %16105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16106 = load i32, ptr %16105, align 4, !tbaa !5
  %16107 = call ptr @s2n_strerror_debug(i32 noundef %16106, ptr noundef @.str.25)
  %16108 = call ptr @__errno_location() #12
  %16109 = load i32, ptr %16108, align 4, !tbaa !5
  %16110 = call ptr @strerror(i32 noundef %16109) #11
  %16111 = call ptr @__errno_location() #12
  %16112 = load i32, ptr %16111, align 4, !tbaa !5
  %16113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16100, ptr noundef @.str.26, i32 noundef %16101, ptr noundef @.str.146, ptr noundef @.str.22, i32 noundef 833, ptr noundef %16104, ptr noundef %16107, ptr noundef %16110, i32 noundef %16112) #11
  br label %16114

16114:                                            ; preds = %16097, %16080
  call void @llvm.lifetime.end.p0(i64 4, ptr %391) #11
  br label %16115

16115:                                            ; preds = %16114
  br label %16116

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

16117:                                            ; No predecessors!
  br label %16118

16118:                                            ; preds = %16117
  br label %16119

16119:                                            ; preds = %16118, %16057
  br label %16120

16120:                                            ; preds = %16119
  br label %16121

16121:                                            ; preds = %16120
  br label %16122

16122:                                            ; preds = %16121
  %16123 = load i32, ptr @test_count, align 4, !tbaa !5
  %16124 = add nsw i32 %16123, 1
  store i32 %16124, ptr @test_count, align 4, !tbaa !5
  %16125 = load ptr, ptr %385, align 8, !tbaa !9
  %16126 = call i32 @s2n_tls13_server_nst_write(ptr noundef %16125, ptr noundef %388)
  %16127 = getelementptr inbounds %struct.s2n_result, ptr %392, i32 0, i32 0
  store i32 %16126, ptr %16127, align 4
  %16128 = getelementptr inbounds %struct.s2n_result, ptr %392, i32 0, i32 0
  %16129 = load i32, ptr %16128, align 4
  %16130 = call zeroext i1 @s2n_result_is_ok(i32 %16129)
  br i1 %16130, label %16184, label %16131

16131:                                            ; preds = %16122
  br label %16132

16132:                                            ; preds = %16131
  br label %16133

16133:                                            ; preds = %16132
  call void @llvm.lifetime.start.p0(i64 4, ptr %393) #11
  %16134 = call ptr @__errno_location() #12
  %16135 = load i32, ptr %16134, align 4, !tbaa !5
  store i32 %16135, ptr %393, align 4, !tbaa !5
  %16136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16137 = call i32 @s2n_print_stacktrace(ptr noundef %16136)
  %16138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16139 = trunc i8 %16138 to i1
  br i1 %16139, label %16140, label %16162

16140:                                            ; preds = %16133
  %16141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16142 = call i32 @fileno(ptr noundef %16141) #11
  %16143 = call i32 @isatty(i32 noundef %16142) #11
  %16144 = icmp ne i32 %16143, 0
  br i1 %16144, label %16145, label %16162

16145:                                            ; preds = %16140
  %16146 = load i32, ptr %393, align 4, !tbaa !5
  %16147 = call ptr @__errno_location() #12
  store i32 %16146, ptr %16147, align 4, !tbaa !5
  %16148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16149 = load i32, ptr @test_count, align 4, !tbaa !5
  %16150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16151 = load i32, ptr %16150, align 4, !tbaa !5
  %16152 = call ptr @s2n_strerror(i32 noundef %16151, ptr noundef @.str.25)
  %16153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16154 = load i32, ptr %16153, align 4, !tbaa !5
  %16155 = call ptr @s2n_strerror_debug(i32 noundef %16154, ptr noundef @.str.25)
  %16156 = call ptr @__errno_location() #12
  %16157 = load i32, ptr %16156, align 4, !tbaa !5
  %16158 = call ptr @strerror(i32 noundef %16157) #11
  %16159 = call ptr @__errno_location() #12
  %16160 = load i32, ptr %16159, align 4, !tbaa !5
  %16161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16148, ptr noundef @.str.23, i32 noundef %16149, ptr noundef @.str.138, ptr noundef @.str.22, i32 noundef 834, ptr noundef %16152, ptr noundef %16155, ptr noundef %16158, i32 noundef %16160) #11
  br label %16179

16162:                                            ; preds = %16140, %16133
  %16163 = load i32, ptr %393, align 4, !tbaa !5
  %16164 = call ptr @__errno_location() #12
  store i32 %16163, ptr %16164, align 4, !tbaa !5
  %16165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16166 = load i32, ptr @test_count, align 4, !tbaa !5
  %16167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16168 = load i32, ptr %16167, align 4, !tbaa !5
  %16169 = call ptr @s2n_strerror(i32 noundef %16168, ptr noundef @.str.25)
  %16170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16171 = load i32, ptr %16170, align 4, !tbaa !5
  %16172 = call ptr @s2n_strerror_debug(i32 noundef %16171, ptr noundef @.str.25)
  %16173 = call ptr @__errno_location() #12
  %16174 = load i32, ptr %16173, align 4, !tbaa !5
  %16175 = call ptr @strerror(i32 noundef %16174) #11
  %16176 = call ptr @__errno_location() #12
  %16177 = load i32, ptr %16176, align 4, !tbaa !5
  %16178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16165, ptr noundef @.str.26, i32 noundef %16166, ptr noundef @.str.138, ptr noundef @.str.22, i32 noundef 834, ptr noundef %16169, ptr noundef %16172, ptr noundef %16175, i32 noundef %16177) #11
  br label %16179

16179:                                            ; preds = %16162, %16145
  call void @llvm.lifetime.end.p0(i64 4, ptr %393) #11
  br label %16180

16180:                                            ; preds = %16179
  br label %16181

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

16182:                                            ; No predecessors!
  br label %16183

16183:                                            ; preds = %16182
  br label %16184

16184:                                            ; preds = %16183, %16122
  br label %16185

16185:                                            ; preds = %16184
  br label %16186

16186:                                            ; preds = %16185
  br label %16187

16187:                                            ; preds = %16186
  %16188 = load i32, ptr @test_count, align 4, !tbaa !5
  %16189 = add nsw i32 %16188, 1
  store i32 %16189, ptr @test_count, align 4, !tbaa !5
  %16190 = call i32 @s2n_stuffer_skip_read(ptr noundef %388, i32 noundef 4)
  %16191 = icmp eq i32 %16190, -1
  br i1 %16191, label %16192, label %16245

16192:                                            ; preds = %16187
  br label %16193

16193:                                            ; preds = %16192
  br label %16194

16194:                                            ; preds = %16193
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #11
  %16195 = call ptr @__errno_location() #12
  %16196 = load i32, ptr %16195, align 4, !tbaa !5
  store i32 %16196, ptr %394, align 4, !tbaa !5
  %16197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16198 = call i32 @s2n_print_stacktrace(ptr noundef %16197)
  %16199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16200 = trunc i8 %16199 to i1
  br i1 %16200, label %16201, label %16223

16201:                                            ; preds = %16194
  %16202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16203 = call i32 @fileno(ptr noundef %16202) #11
  %16204 = call i32 @isatty(i32 noundef %16203) #11
  %16205 = icmp ne i32 %16204, 0
  br i1 %16205, label %16206, label %16223

16206:                                            ; preds = %16201
  %16207 = load i32, ptr %394, align 4, !tbaa !5
  %16208 = call ptr @__errno_location() #12
  store i32 %16207, ptr %16208, align 4, !tbaa !5
  %16209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16210 = load i32, ptr @test_count, align 4, !tbaa !5
  %16211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16212 = load i32, ptr %16211, align 4, !tbaa !5
  %16213 = call ptr @s2n_strerror(i32 noundef %16212, ptr noundef @.str.25)
  %16214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16215 = load i32, ptr %16214, align 4, !tbaa !5
  %16216 = call ptr @s2n_strerror_debug(i32 noundef %16215, ptr noundef @.str.25)
  %16217 = call ptr @__errno_location() #12
  %16218 = load i32, ptr %16217, align 4, !tbaa !5
  %16219 = call ptr @strerror(i32 noundef %16218) #11
  %16220 = call ptr @__errno_location() #12
  %16221 = load i32, ptr %16220, align 4, !tbaa !5
  %16222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16209, ptr noundef @.str.23, i32 noundef %16210, ptr noundef @.str.139, ptr noundef @.str.22, i32 noundef 835, ptr noundef %16213, ptr noundef %16216, ptr noundef %16219, i32 noundef %16221) #11
  br label %16240

16223:                                            ; preds = %16201, %16194
  %16224 = load i32, ptr %394, align 4, !tbaa !5
  %16225 = call ptr @__errno_location() #12
  store i32 %16224, ptr %16225, align 4, !tbaa !5
  %16226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16227 = load i32, ptr @test_count, align 4, !tbaa !5
  %16228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16229 = load i32, ptr %16228, align 4, !tbaa !5
  %16230 = call ptr @s2n_strerror(i32 noundef %16229, ptr noundef @.str.25)
  %16231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16232 = load i32, ptr %16231, align 4, !tbaa !5
  %16233 = call ptr @s2n_strerror_debug(i32 noundef %16232, ptr noundef @.str.25)
  %16234 = call ptr @__errno_location() #12
  %16235 = load i32, ptr %16234, align 4, !tbaa !5
  %16236 = call ptr @strerror(i32 noundef %16235) #11
  %16237 = call ptr @__errno_location() #12
  %16238 = load i32, ptr %16237, align 4, !tbaa !5
  %16239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16226, ptr noundef @.str.26, i32 noundef %16227, ptr noundef @.str.139, ptr noundef @.str.22, i32 noundef 835, ptr noundef %16230, ptr noundef %16233, ptr noundef %16236, i32 noundef %16238) #11
  br label %16240

16240:                                            ; preds = %16223, %16206
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #11
  br label %16241

16241:                                            ; preds = %16240
  br label %16242

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

16243:                                            ; No predecessors!
  br label %16244

16244:                                            ; preds = %16243
  br label %16245

16245:                                            ; preds = %16244, %16187
  br label %16246

16246:                                            ; preds = %16245
  br label %16247

16247:                                            ; preds = %16246
  br label %16248

16248:                                            ; preds = %16247
  %16249 = load i32, ptr @test_count, align 4, !tbaa !5
  %16250 = add nsw i32 %16249, 1
  store i32 %16250, ptr @test_count, align 4, !tbaa !5
  %16251 = load ptr, ptr %382, align 8, !tbaa !9
  %16252 = call i32 @s2n_tls13_server_nst_recv(ptr noundef %16251, ptr noundef %388)
  %16253 = getelementptr inbounds %struct.s2n_result, ptr %395, i32 0, i32 0
  store i32 %16252, ptr %16253, align 4
  %16254 = getelementptr inbounds %struct.s2n_result, ptr %395, i32 0, i32 0
  %16255 = load i32, ptr %16254, align 4
  %16256 = call zeroext i1 @s2n_result_is_ok(i32 %16255)
  br i1 %16256, label %16310, label %16257

16257:                                            ; preds = %16248
  br label %16258

16258:                                            ; preds = %16257
  br label %16259

16259:                                            ; preds = %16258
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #11
  %16260 = call ptr @__errno_location() #12
  %16261 = load i32, ptr %16260, align 4, !tbaa !5
  store i32 %16261, ptr %396, align 4, !tbaa !5
  %16262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16263 = call i32 @s2n_print_stacktrace(ptr noundef %16262)
  %16264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16265 = trunc i8 %16264 to i1
  br i1 %16265, label %16266, label %16288

16266:                                            ; preds = %16259
  %16267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16268 = call i32 @fileno(ptr noundef %16267) #11
  %16269 = call i32 @isatty(i32 noundef %16268) #11
  %16270 = icmp ne i32 %16269, 0
  br i1 %16270, label %16271, label %16288

16271:                                            ; preds = %16266
  %16272 = load i32, ptr %396, align 4, !tbaa !5
  %16273 = call ptr @__errno_location() #12
  store i32 %16272, ptr %16273, align 4, !tbaa !5
  %16274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16275 = load i32, ptr @test_count, align 4, !tbaa !5
  %16276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16277 = load i32, ptr %16276, align 4, !tbaa !5
  %16278 = call ptr @s2n_strerror(i32 noundef %16277, ptr noundef @.str.25)
  %16279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16280 = load i32, ptr %16279, align 4, !tbaa !5
  %16281 = call ptr @s2n_strerror_debug(i32 noundef %16280, ptr noundef @.str.25)
  %16282 = call ptr @__errno_location() #12
  %16283 = load i32, ptr %16282, align 4, !tbaa !5
  %16284 = call ptr @strerror(i32 noundef %16283) #11
  %16285 = call ptr @__errno_location() #12
  %16286 = load i32, ptr %16285, align 4, !tbaa !5
  %16287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16274, ptr noundef @.str.23, i32 noundef %16275, ptr noundef @.str.140, ptr noundef @.str.22, i32 noundef 836, ptr noundef %16278, ptr noundef %16281, ptr noundef %16284, i32 noundef %16286) #11
  br label %16305

16288:                                            ; preds = %16266, %16259
  %16289 = load i32, ptr %396, align 4, !tbaa !5
  %16290 = call ptr @__errno_location() #12
  store i32 %16289, ptr %16290, align 4, !tbaa !5
  %16291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16292 = load i32, ptr @test_count, align 4, !tbaa !5
  %16293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16294 = load i32, ptr %16293, align 4, !tbaa !5
  %16295 = call ptr @s2n_strerror(i32 noundef %16294, ptr noundef @.str.25)
  %16296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16297 = load i32, ptr %16296, align 4, !tbaa !5
  %16298 = call ptr @s2n_strerror_debug(i32 noundef %16297, ptr noundef @.str.25)
  %16299 = call ptr @__errno_location() #12
  %16300 = load i32, ptr %16299, align 4, !tbaa !5
  %16301 = call ptr @strerror(i32 noundef %16300) #11
  %16302 = call ptr @__errno_location() #12
  %16303 = load i32, ptr %16302, align 4, !tbaa !5
  %16304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16291, ptr noundef @.str.26, i32 noundef %16292, ptr noundef @.str.140, ptr noundef @.str.22, i32 noundef 836, ptr noundef %16295, ptr noundef %16298, ptr noundef %16301, i32 noundef %16303) #11
  br label %16305

16305:                                            ; preds = %16288, %16271
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #11
  br label %16306

16306:                                            ; preds = %16305
  br label %16307

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

16308:                                            ; No predecessors!
  br label %16309

16309:                                            ; preds = %16308
  br label %16310

16310:                                            ; preds = %16309, %16248
  br label %16311

16311:                                            ; preds = %16310
  br label %16312

16312:                                            ; preds = %16311
  br label %16313

16313:                                            ; preds = %16312
  %16314 = load i32, ptr @test_count, align 4, !tbaa !5
  %16315 = add nsw i32 %16314, 1
  store i32 %16315, ptr @test_count, align 4, !tbaa !5
  %16316 = load ptr, ptr %382, align 8, !tbaa !9
  %16317 = getelementptr inbounds %struct.s2n_connection, ptr %16316, i32 0, i32 90
  %16318 = load i32, ptr %16317, align 4, !tbaa !75
  %16319 = load i64, ptr %390, align 8, !tbaa !15
  %16320 = getelementptr inbounds [8 x i32], ptr %375, i64 0, i64 %16319
  %16321 = load i32, ptr %16320, align 4, !tbaa !5
  %16322 = icmp eq i32 %16318, %16321
  br i1 %16322, label %16376, label %16323

16323:                                            ; preds = %16313
  br label %16324

16324:                                            ; preds = %16323
  br label %16325

16325:                                            ; preds = %16324
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #11
  %16326 = call ptr @__errno_location() #12
  %16327 = load i32, ptr %16326, align 4, !tbaa !5
  store i32 %16327, ptr %397, align 4, !tbaa !5
  %16328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16329 = call i32 @s2n_print_stacktrace(ptr noundef %16328)
  %16330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16331 = trunc i8 %16330 to i1
  br i1 %16331, label %16332, label %16354

16332:                                            ; preds = %16325
  %16333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16334 = call i32 @fileno(ptr noundef %16333) #11
  %16335 = call i32 @isatty(i32 noundef %16334) #11
  %16336 = icmp ne i32 %16335, 0
  br i1 %16336, label %16337, label %16354

16337:                                            ; preds = %16332
  %16338 = load i32, ptr %397, align 4, !tbaa !5
  %16339 = call ptr @__errno_location() #12
  store i32 %16338, ptr %16339, align 4, !tbaa !5
  %16340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16341 = load i32, ptr @test_count, align 4, !tbaa !5
  %16342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16343 = load i32, ptr %16342, align 4, !tbaa !5
  %16344 = call ptr @s2n_strerror(i32 noundef %16343, ptr noundef @.str.25)
  %16345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16346 = load i32, ptr %16345, align 4, !tbaa !5
  %16347 = call ptr @s2n_strerror_debug(i32 noundef %16346, ptr noundef @.str.25)
  %16348 = call ptr @__errno_location() #12
  %16349 = load i32, ptr %16348, align 4, !tbaa !5
  %16350 = call ptr @strerror(i32 noundef %16349) #11
  %16351 = call ptr @__errno_location() #12
  %16352 = load i32, ptr %16351, align 4, !tbaa !5
  %16353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16340, ptr noundef @.str.23, i32 noundef %16341, ptr noundef @.str.147, ptr noundef @.str.22, i32 noundef 837, ptr noundef %16344, ptr noundef %16347, ptr noundef %16350, i32 noundef %16352) #11
  br label %16371

16354:                                            ; preds = %16332, %16325
  %16355 = load i32, ptr %397, align 4, !tbaa !5
  %16356 = call ptr @__errno_location() #12
  store i32 %16355, ptr %16356, align 4, !tbaa !5
  %16357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16358 = load i32, ptr @test_count, align 4, !tbaa !5
  %16359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16360 = load i32, ptr %16359, align 4, !tbaa !5
  %16361 = call ptr @s2n_strerror(i32 noundef %16360, ptr noundef @.str.25)
  %16362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16363 = load i32, ptr %16362, align 4, !tbaa !5
  %16364 = call ptr @s2n_strerror_debug(i32 noundef %16363, ptr noundef @.str.25)
  %16365 = call ptr @__errno_location() #12
  %16366 = load i32, ptr %16365, align 4, !tbaa !5
  %16367 = call ptr @strerror(i32 noundef %16366) #11
  %16368 = call ptr @__errno_location() #12
  %16369 = load i32, ptr %16368, align 4, !tbaa !5
  %16370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16357, ptr noundef @.str.26, i32 noundef %16358, ptr noundef @.str.147, ptr noundef @.str.22, i32 noundef 837, ptr noundef %16361, ptr noundef %16364, ptr noundef %16367, i32 noundef %16369) #11
  br label %16371

16371:                                            ; preds = %16354, %16337
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #11
  br label %16372

16372:                                            ; preds = %16371
  br label %16373

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

16374:                                            ; No predecessors!
  br label %16375

16375:                                            ; preds = %16374
  br label %16376

16376:                                            ; preds = %16375, %16313
  br label %16377

16377:                                            ; preds = %16376
  br label %16378

16378:                                            ; preds = %16377
  br label %16379

16379:                                            ; preds = %16378
  %16380 = load i32, ptr @test_count, align 4, !tbaa !5
  %16381 = add nsw i32 %16380, 1
  store i32 %16381, ptr @test_count, align 4, !tbaa !5
  %16382 = call i32 @s2n_stuffer_wipe(ptr noundef %388)
  %16383 = icmp eq i32 %16382, -1
  br i1 %16383, label %16384, label %16437

16384:                                            ; preds = %16379
  br label %16385

16385:                                            ; preds = %16384
  br label %16386

16386:                                            ; preds = %16385
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #11
  %16387 = call ptr @__errno_location() #12
  %16388 = load i32, ptr %16387, align 4, !tbaa !5
  store i32 %16388, ptr %398, align 4, !tbaa !5
  %16389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16390 = call i32 @s2n_print_stacktrace(ptr noundef %16389)
  %16391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16392 = trunc i8 %16391 to i1
  br i1 %16392, label %16393, label %16415

16393:                                            ; preds = %16386
  %16394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16395 = call i32 @fileno(ptr noundef %16394) #11
  %16396 = call i32 @isatty(i32 noundef %16395) #11
  %16397 = icmp ne i32 %16396, 0
  br i1 %16397, label %16398, label %16415

16398:                                            ; preds = %16393
  %16399 = load i32, ptr %398, align 4, !tbaa !5
  %16400 = call ptr @__errno_location() #12
  store i32 %16399, ptr %16400, align 4, !tbaa !5
  %16401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16402 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16404, ptr noundef @.str.25)
  %16406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16407 = load i32, ptr %16406, align 4, !tbaa !5
  %16408 = call ptr @s2n_strerror_debug(i32 noundef %16407, ptr noundef @.str.25)
  %16409 = call ptr @__errno_location() #12
  %16410 = load i32, ptr %16409, align 4, !tbaa !5
  %16411 = call ptr @strerror(i32 noundef %16410) #11
  %16412 = call ptr @__errno_location() #12
  %16413 = load i32, ptr %16412, align 4, !tbaa !5
  %16414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16401, ptr noundef @.str.23, i32 noundef %16402, ptr noundef @.str.148, ptr noundef @.str.22, i32 noundef 838, ptr noundef %16405, ptr noundef %16408, ptr noundef %16411, i32 noundef %16413) #11
  br label %16432

16415:                                            ; preds = %16393, %16386
  %16416 = load i32, ptr %398, align 4, !tbaa !5
  %16417 = call ptr @__errno_location() #12
  store i32 %16416, ptr %16417, align 4, !tbaa !5
  %16418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16419 = load i32, ptr @test_count, align 4, !tbaa !5
  %16420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16421 = load i32, ptr %16420, align 4, !tbaa !5
  %16422 = call ptr @s2n_strerror(i32 noundef %16421, ptr noundef @.str.25)
  %16423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16424 = load i32, ptr %16423, align 4, !tbaa !5
  %16425 = call ptr @s2n_strerror_debug(i32 noundef %16424, ptr noundef @.str.25)
  %16426 = call ptr @__errno_location() #12
  %16427 = load i32, ptr %16426, align 4, !tbaa !5
  %16428 = call ptr @strerror(i32 noundef %16427) #11
  %16429 = call ptr @__errno_location() #12
  %16430 = load i32, ptr %16429, align 4, !tbaa !5
  %16431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16418, ptr noundef @.str.26, i32 noundef %16419, ptr noundef @.str.148, ptr noundef @.str.22, i32 noundef 838, ptr noundef %16422, ptr noundef %16425, ptr noundef %16428, i32 noundef %16430) #11
  br label %16432

16432:                                            ; preds = %16415, %16398
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #11
  br label %16433

16433:                                            ; preds = %16432
  br label %16434

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

16435:                                            ; No predecessors!
  br label %16436

16436:                                            ; preds = %16435
  br label %16437

16437:                                            ; preds = %16436, %16379
  br label %16438

16438:                                            ; preds = %16437
  br label %16439

16439:                                            ; preds = %16438
  br label %16440

16440:                                            ; preds = %16439
  %16441 = load i64, ptr %390, align 8, !tbaa !15
  %16442 = add i64 %16441, 1
  store i64 %16442, ptr %390, align 8, !tbaa !15
  br label %16052, !llvm.loop !76

16443:                                            ; preds = %16055
  br label %16444

16444:                                            ; preds = %16443
  %16445 = load i32, ptr @test_count, align 4, !tbaa !5
  %16446 = add nsw i32 %16445, 1
  store i32 %16446, ptr @test_count, align 4, !tbaa !5
  %16447 = load ptr, ptr %382, align 8, !tbaa !9
  %16448 = call i32 @s2n_connection_free(ptr noundef %16447)
  %16449 = icmp eq i32 %16448, -1
  br i1 %16449, label %16450, label %16503

16450:                                            ; preds = %16444
  br label %16451

16451:                                            ; preds = %16450
  br label %16452

16452:                                            ; preds = %16451
  call void @llvm.lifetime.start.p0(i64 4, ptr %399) #11
  %16453 = call ptr @__errno_location() #12
  %16454 = load i32, ptr %16453, align 4, !tbaa !5
  store i32 %16454, ptr %399, align 4, !tbaa !5
  %16455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16456 = call i32 @s2n_print_stacktrace(ptr noundef %16455)
  %16457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16458 = trunc i8 %16457 to i1
  br i1 %16458, label %16459, label %16481

16459:                                            ; preds = %16452
  %16460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16461 = call i32 @fileno(ptr noundef %16460) #11
  %16462 = call i32 @isatty(i32 noundef %16461) #11
  %16463 = icmp ne i32 %16462, 0
  br i1 %16463, label %16464, label %16481

16464:                                            ; preds = %16459
  %16465 = load i32, ptr %399, align 4, !tbaa !5
  %16466 = call ptr @__errno_location() #12
  store i32 %16465, ptr %16466, align 4, !tbaa !5
  %16467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16468 = load i32, ptr @test_count, align 4, !tbaa !5
  %16469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16470 = load i32, ptr %16469, align 4, !tbaa !5
  %16471 = call ptr @s2n_strerror(i32 noundef %16470, ptr noundef @.str.25)
  %16472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16473 = load i32, ptr %16472, align 4, !tbaa !5
  %16474 = call ptr @s2n_strerror_debug(i32 noundef %16473, ptr noundef @.str.25)
  %16475 = call ptr @__errno_location() #12
  %16476 = load i32, ptr %16475, align 4, !tbaa !5
  %16477 = call ptr @strerror(i32 noundef %16476) #11
  %16478 = call ptr @__errno_location() #12
  %16479 = load i32, ptr %16478, align 4, !tbaa !5
  %16480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16467, ptr noundef @.str.23, i32 noundef %16468, ptr noundef @.str.141, ptr noundef @.str.22, i32 noundef 841, ptr noundef %16471, ptr noundef %16474, ptr noundef %16477, i32 noundef %16479) #11
  br label %16498

16481:                                            ; preds = %16459, %16452
  %16482 = load i32, ptr %399, align 4, !tbaa !5
  %16483 = call ptr @__errno_location() #12
  store i32 %16482, ptr %16483, align 4, !tbaa !5
  %16484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16485 = load i32, ptr @test_count, align 4, !tbaa !5
  %16486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16487 = load i32, ptr %16486, align 4, !tbaa !5
  %16488 = call ptr @s2n_strerror(i32 noundef %16487, ptr noundef @.str.25)
  %16489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16490 = load i32, ptr %16489, align 4, !tbaa !5
  %16491 = call ptr @s2n_strerror_debug(i32 noundef %16490, ptr noundef @.str.25)
  %16492 = call ptr @__errno_location() #12
  %16493 = load i32, ptr %16492, align 4, !tbaa !5
  %16494 = call ptr @strerror(i32 noundef %16493) #11
  %16495 = call ptr @__errno_location() #12
  %16496 = load i32, ptr %16495, align 4, !tbaa !5
  %16497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16484, ptr noundef @.str.26, i32 noundef %16485, ptr noundef @.str.141, ptr noundef @.str.22, i32 noundef 841, ptr noundef %16488, ptr noundef %16491, ptr noundef %16494, i32 noundef %16496) #11
  br label %16498

16498:                                            ; preds = %16481, %16464
  call void @llvm.lifetime.end.p0(i64 4, ptr %399) #11
  br label %16499

16499:                                            ; preds = %16498
  br label %16500

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

16501:                                            ; No predecessors!
  br label %16502

16502:                                            ; preds = %16501
  br label %16503

16503:                                            ; preds = %16502, %16444
  br label %16504

16504:                                            ; preds = %16503
  br label %16505

16505:                                            ; preds = %16504
  br label %16506

16506:                                            ; preds = %16505
  %16507 = load i32, ptr @test_count, align 4, !tbaa !5
  %16508 = add nsw i32 %16507, 1
  store i32 %16508, ptr @test_count, align 4, !tbaa !5
  %16509 = load ptr, ptr %385, align 8, !tbaa !9
  %16510 = call i32 @s2n_connection_free(ptr noundef %16509)
  %16511 = icmp eq i32 %16510, -1
  br i1 %16511, label %16512, label %16565

16512:                                            ; preds = %16506
  br label %16513

16513:                                            ; preds = %16512
  br label %16514

16514:                                            ; preds = %16513
  call void @llvm.lifetime.start.p0(i64 4, ptr %400) #11
  %16515 = call ptr @__errno_location() #12
  %16516 = load i32, ptr %16515, align 4, !tbaa !5
  store i32 %16516, ptr %400, align 4, !tbaa !5
  %16517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16518 = call i32 @s2n_print_stacktrace(ptr noundef %16517)
  %16519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16520 = trunc i8 %16519 to i1
  br i1 %16520, label %16521, label %16543

16521:                                            ; preds = %16514
  %16522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16523 = call i32 @fileno(ptr noundef %16522) #11
  %16524 = call i32 @isatty(i32 noundef %16523) #11
  %16525 = icmp ne i32 %16524, 0
  br i1 %16525, label %16526, label %16543

16526:                                            ; preds = %16521
  %16527 = load i32, ptr %400, align 4, !tbaa !5
  %16528 = call ptr @__errno_location() #12
  store i32 %16527, ptr %16528, align 4, !tbaa !5
  %16529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16530 = load i32, ptr @test_count, align 4, !tbaa !5
  %16531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16532 = load i32, ptr %16531, align 4, !tbaa !5
  %16533 = call ptr @s2n_strerror(i32 noundef %16532, ptr noundef @.str.25)
  %16534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16535 = load i32, ptr %16534, align 4, !tbaa !5
  %16536 = call ptr @s2n_strerror_debug(i32 noundef %16535, ptr noundef @.str.25)
  %16537 = call ptr @__errno_location() #12
  %16538 = load i32, ptr %16537, align 4, !tbaa !5
  %16539 = call ptr @strerror(i32 noundef %16538) #11
  %16540 = call ptr @__errno_location() #12
  %16541 = load i32, ptr %16540, align 4, !tbaa !5
  %16542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16529, ptr noundef @.str.23, i32 noundef %16530, ptr noundef @.str.87, ptr noundef @.str.22, i32 noundef 842, ptr noundef %16533, ptr noundef %16536, ptr noundef %16539, i32 noundef %16541) #11
  br label %16560

16543:                                            ; preds = %16521, %16514
  %16544 = load i32, ptr %400, align 4, !tbaa !5
  %16545 = call ptr @__errno_location() #12
  store i32 %16544, ptr %16545, align 4, !tbaa !5
  %16546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16547 = load i32, ptr @test_count, align 4, !tbaa !5
  %16548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16549 = load i32, ptr %16548, align 4, !tbaa !5
  %16550 = call ptr @s2n_strerror(i32 noundef %16549, ptr noundef @.str.25)
  %16551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16552 = load i32, ptr %16551, align 4, !tbaa !5
  %16553 = call ptr @s2n_strerror_debug(i32 noundef %16552, ptr noundef @.str.25)
  %16554 = call ptr @__errno_location() #12
  %16555 = load i32, ptr %16554, align 4, !tbaa !5
  %16556 = call ptr @strerror(i32 noundef %16555) #11
  %16557 = call ptr @__errno_location() #12
  %16558 = load i32, ptr %16557, align 4, !tbaa !5
  %16559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16546, ptr noundef @.str.26, i32 noundef %16547, ptr noundef @.str.87, ptr noundef @.str.22, i32 noundef 842, ptr noundef %16550, ptr noundef %16553, ptr noundef %16556, i32 noundef %16558) #11
  br label %16560

16560:                                            ; preds = %16543, %16526
  call void @llvm.lifetime.end.p0(i64 4, ptr %400) #11
  br label %16561

16561:                                            ; preds = %16560
  br label %16562

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

16563:                                            ; No predecessors!
  br label %16564

16564:                                            ; preds = %16563
  br label %16565

16565:                                            ; preds = %16564, %16506
  br label %16566

16566:                                            ; preds = %16565
  br label %16567

16567:                                            ; preds = %16566
  br label %16568

16568:                                            ; preds = %16567
  %16569 = load i32, ptr @test_count, align 4, !tbaa !5
  %16570 = add nsw i32 %16569, 1
  store i32 %16570, ptr @test_count, align 4, !tbaa !5
  %16571 = call i32 @s2n_stuffer_free(ptr noundef %388)
  %16572 = icmp eq i32 %16571, -1
  br i1 %16572, label %16573, label %16626

16573:                                            ; preds = %16568
  br label %16574

16574:                                            ; preds = %16573
  br label %16575

16575:                                            ; preds = %16574
  call void @llvm.lifetime.start.p0(i64 4, ptr %401) #11
  %16576 = call ptr @__errno_location() #12
  %16577 = load i32, ptr %16576, align 4, !tbaa !5
  store i32 %16577, ptr %401, align 4, !tbaa !5
  %16578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16579 = call i32 @s2n_print_stacktrace(ptr noundef %16578)
  %16580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16581 = trunc i8 %16580 to i1
  br i1 %16581, label %16582, label %16604

16582:                                            ; preds = %16575
  %16583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16584 = call i32 @fileno(ptr noundef %16583) #11
  %16585 = call i32 @isatty(i32 noundef %16584) #11
  %16586 = icmp ne i32 %16585, 0
  br i1 %16586, label %16587, label %16604

16587:                                            ; preds = %16582
  %16588 = load i32, ptr %401, align 4, !tbaa !5
  %16589 = call ptr @__errno_location() #12
  store i32 %16588, ptr %16589, align 4, !tbaa !5
  %16590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16591 = load i32, ptr @test_count, align 4, !tbaa !5
  %16592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16593 = load i32, ptr %16592, align 4, !tbaa !5
  %16594 = call ptr @s2n_strerror(i32 noundef %16593, ptr noundef @.str.25)
  %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_debug(i32 noundef %16596, ptr noundef @.str.25)
  %16598 = call ptr @__errno_location() #12
  %16599 = load i32, ptr %16598, align 4, !tbaa !5
  %16600 = call ptr @strerror(i32 noundef %16599) #11
  %16601 = call ptr @__errno_location() #12
  %16602 = load i32, ptr %16601, align 4, !tbaa !5
  %16603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16590, ptr noundef @.str.23, i32 noundef %16591, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 843, ptr noundef %16594, ptr noundef %16597, ptr noundef %16600, i32 noundef %16602) #11
  br label %16621

16604:                                            ; preds = %16582, %16575
  %16605 = load i32, ptr %401, align 4, !tbaa !5
  %16606 = call ptr @__errno_location() #12
  store i32 %16605, ptr %16606, align 4, !tbaa !5
  %16607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16608 = load i32, ptr @test_count, align 4, !tbaa !5
  %16609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16610 = load i32, ptr %16609, align 4, !tbaa !5
  %16611 = call ptr @s2n_strerror(i32 noundef %16610, ptr noundef @.str.25)
  %16612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16613 = load i32, ptr %16612, align 4, !tbaa !5
  %16614 = call ptr @s2n_strerror_debug(i32 noundef %16613, ptr noundef @.str.25)
  %16615 = call ptr @__errno_location() #12
  %16616 = load i32, ptr %16615, align 4, !tbaa !5
  %16617 = call ptr @strerror(i32 noundef %16616) #11
  %16618 = call ptr @__errno_location() #12
  %16619 = load i32, ptr %16618, align 4, !tbaa !5
  %16620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16607, ptr noundef @.str.26, i32 noundef %16608, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 843, ptr noundef %16611, ptr noundef %16614, ptr noundef %16617, i32 noundef %16619) #11
  br label %16621

16621:                                            ; preds = %16604, %16587
  call void @llvm.lifetime.end.p0(i64 4, ptr %401) #11
  br label %16622

16622:                                            ; preds = %16621
  br label %16623

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

16624:                                            ; No predecessors!
  br label %16625

16625:                                            ; preds = %16624
  br label %16626

16626:                                            ; preds = %16625, %16568
  br label %16627

16627:                                            ; preds = %16626
  br label %16628

16628:                                            ; preds = %16627
  br label %16629

16629:                                            ; preds = %16628
  %16630 = load i32, ptr @test_count, align 4, !tbaa !5
  %16631 = add nsw i32 %16630, 1
  store i32 %16631, ptr @test_count, align 4, !tbaa !5
  %16632 = load ptr, ptr %376, align 8, !tbaa !9
  %16633 = call i32 @s2n_config_free(ptr noundef %16632)
  %16634 = icmp eq i32 %16633, -1
  br i1 %16634, label %16635, label %16688

16635:                                            ; preds = %16629
  br label %16636

16636:                                            ; preds = %16635
  br label %16637

16637:                                            ; preds = %16636
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #11
  %16638 = call ptr @__errno_location() #12
  %16639 = load i32, ptr %16638, align 4, !tbaa !5
  store i32 %16639, ptr %402, align 4, !tbaa !5
  %16640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16641 = call i32 @s2n_print_stacktrace(ptr noundef %16640)
  %16642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16643 = trunc i8 %16642 to i1
  br i1 %16643, label %16644, label %16666

16644:                                            ; preds = %16637
  %16645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16646 = call i32 @fileno(ptr noundef %16645) #11
  %16647 = call i32 @isatty(i32 noundef %16646) #11
  %16648 = icmp ne i32 %16647, 0
  br i1 %16648, label %16649, label %16666

16649:                                            ; preds = %16644
  %16650 = load i32, ptr %402, align 4, !tbaa !5
  %16651 = call ptr @__errno_location() #12
  store i32 %16650, ptr %16651, align 4, !tbaa !5
  %16652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16653 = load i32, ptr @test_count, align 4, !tbaa !5
  %16654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16655 = load i32, ptr %16654, align 4, !tbaa !5
  %16656 = call ptr @s2n_strerror(i32 noundef %16655, ptr noundef @.str.25)
  %16657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16658 = load i32, ptr %16657, align 4, !tbaa !5
  %16659 = call ptr @s2n_strerror_debug(i32 noundef %16658, ptr noundef @.str.25)
  %16660 = call ptr @__errno_location() #12
  %16661 = load i32, ptr %16660, align 4, !tbaa !5
  %16662 = call ptr @strerror(i32 noundef %16661) #11
  %16663 = call ptr @__errno_location() #12
  %16664 = load i32, ptr %16663, align 4, !tbaa !5
  %16665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16652, ptr noundef @.str.23, i32 noundef %16653, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 844, ptr noundef %16656, ptr noundef %16659, ptr noundef %16662, i32 noundef %16664) #11
  br label %16683

16666:                                            ; preds = %16644, %16637
  %16667 = load i32, ptr %402, align 4, !tbaa !5
  %16668 = call ptr @__errno_location() #12
  store i32 %16667, ptr %16668, align 4, !tbaa !5
  %16669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16670 = load i32, ptr @test_count, align 4, !tbaa !5
  %16671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16672 = load i32, ptr %16671, align 4, !tbaa !5
  %16673 = call ptr @s2n_strerror(i32 noundef %16672, ptr noundef @.str.25)
  %16674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16675 = load i32, ptr %16674, align 4, !tbaa !5
  %16676 = call ptr @s2n_strerror_debug(i32 noundef %16675, ptr noundef @.str.25)
  %16677 = call ptr @__errno_location() #12
  %16678 = load i32, ptr %16677, align 4, !tbaa !5
  %16679 = call ptr @strerror(i32 noundef %16678) #11
  %16680 = call ptr @__errno_location() #12
  %16681 = load i32, ptr %16680, align 4, !tbaa !5
  %16682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16669, ptr noundef @.str.26, i32 noundef %16670, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 844, ptr noundef %16673, ptr noundef %16676, ptr noundef %16679, i32 noundef %16681) #11
  br label %16683

16683:                                            ; preds = %16666, %16649
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #11
  br label %16684

16684:                                            ; preds = %16683
  br label %16685

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

16686:                                            ; No predecessors!
  br label %16687

16687:                                            ; preds = %16686
  br label %16688

16688:                                            ; preds = %16687, %16629
  br label %16689

16689:                                            ; preds = %16688
  br label %16690

16690:                                            ; preds = %16689
  call void @llvm.lifetime.end.p0(i64 40, ptr %388) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %385) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %382) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %376) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %375) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %403) #11
  store i64 4, ptr %403, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %404) #11
  %16691 = getelementptr inbounds [18 x i8], ptr %236, i64 0, i64 0
  %16692 = getelementptr inbounds i8, ptr %16691, i64 4
  store ptr %16692, ptr %404, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %405) #11
  store i64 14, ptr %405, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %406) #11
  %16693 = call ptr @s2n_config_new()
  store ptr %16693, ptr %406, align 8, !tbaa !9
  br label %16694

16694:                                            ; preds = %16690
  %16695 = load i32, ptr @test_count, align 4, !tbaa !5
  %16696 = add nsw i32 %16695, 1
  store i32 %16696, ptr @test_count, align 4, !tbaa !5
  %16697 = load ptr, ptr %406, align 8, !tbaa !9
  %16698 = icmp eq ptr %16697, null
  br i1 %16698, label %16699, label %16752

16699:                                            ; preds = %16694
  br label %16700

16700:                                            ; preds = %16699
  br label %16701

16701:                                            ; preds = %16700
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #11
  %16702 = call ptr @__errno_location() #12
  %16703 = load i32, ptr %16702, align 4, !tbaa !5
  store i32 %16703, ptr %407, align 4, !tbaa !5
  %16704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16705 = call i32 @s2n_print_stacktrace(ptr noundef %16704)
  %16706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16707 = trunc i8 %16706 to i1
  br i1 %16707, label %16708, label %16730

16708:                                            ; preds = %16701
  %16709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16710 = call i32 @fileno(ptr noundef %16709) #11
  %16711 = call i32 @isatty(i32 noundef %16710) #11
  %16712 = icmp ne i32 %16711, 0
  br i1 %16712, label %16713, label %16730

16713:                                            ; preds = %16708
  %16714 = load i32, ptr %407, align 4, !tbaa !5
  %16715 = call ptr @__errno_location() #12
  store i32 %16714, ptr %16715, align 4, !tbaa !5
  %16716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16717 = load i32, ptr @test_count, align 4, !tbaa !5
  %16718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16719 = load i32, ptr %16718, align 4, !tbaa !5
  %16720 = call ptr @s2n_strerror(i32 noundef %16719, ptr noundef @.str.25)
  %16721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16722 = load i32, ptr %16721, align 4, !tbaa !5
  %16723 = call ptr @s2n_strerror_debug(i32 noundef %16722, ptr noundef @.str.25)
  %16724 = call ptr @__errno_location() #12
  %16725 = load i32, ptr %16724, align 4, !tbaa !5
  %16726 = call ptr @strerror(i32 noundef %16725) #11
  %16727 = call ptr @__errno_location() #12
  %16728 = load i32, ptr %16727, align 4, !tbaa !5
  %16729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16716, ptr noundef @.str.23, i32 noundef %16717, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 854, ptr noundef %16720, ptr noundef %16723, ptr noundef %16726, i32 noundef %16728) #11
  br label %16747

16730:                                            ; preds = %16708, %16701
  %16731 = load i32, ptr %407, align 4, !tbaa !5
  %16732 = call ptr @__errno_location() #12
  store i32 %16731, ptr %16732, align 4, !tbaa !5
  %16733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16734 = load i32, ptr @test_count, align 4, !tbaa !5
  %16735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16736 = load i32, ptr %16735, align 4, !tbaa !5
  %16737 = call ptr @s2n_strerror(i32 noundef %16736, ptr noundef @.str.25)
  %16738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16739 = load i32, ptr %16738, align 4, !tbaa !5
  %16740 = call ptr @s2n_strerror_debug(i32 noundef %16739, ptr noundef @.str.25)
  %16741 = call ptr @__errno_location() #12
  %16742 = load i32, ptr %16741, align 4, !tbaa !5
  %16743 = call ptr @strerror(i32 noundef %16742) #11
  %16744 = call ptr @__errno_location() #12
  %16745 = load i32, ptr %16744, align 4, !tbaa !5
  %16746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16733, ptr noundef @.str.26, i32 noundef %16734, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 854, ptr noundef %16737, ptr noundef %16740, ptr noundef %16743, i32 noundef %16745) #11
  br label %16747

16747:                                            ; preds = %16730, %16713
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #11
  br label %16748

16748:                                            ; preds = %16747
  br label %16749

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

16750:                                            ; No predecessors!
  br label %16751

16751:                                            ; preds = %16750
  br label %16752

16752:                                            ; preds = %16751, %16694
  br label %16753

16753:                                            ; preds = %16752
  br label %16754

16754:                                            ; preds = %16753
  br label %16755

16755:                                            ; preds = %16754
  %16756 = load i32, ptr @test_count, align 4, !tbaa !5
  %16757 = add nsw i32 %16756, 1
  store i32 %16757, ptr @test_count, align 4, !tbaa !5
  %16758 = load ptr, ptr %406, align 8, !tbaa !9
  %16759 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %16758, i8 noundef zeroext 1)
  %16760 = icmp eq i32 %16759, -1
  br i1 %16760, label %16761, label %16814

16761:                                            ; preds = %16755
  br label %16762

16762:                                            ; preds = %16761
  br label %16763

16763:                                            ; preds = %16762
  call void @llvm.lifetime.start.p0(i64 4, ptr %408) #11
  %16764 = call ptr @__errno_location() #12
  %16765 = load i32, ptr %16764, align 4, !tbaa !5
  store i32 %16765, ptr %408, align 4, !tbaa !5
  %16766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16767 = call i32 @s2n_print_stacktrace(ptr noundef %16766)
  %16768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16769 = trunc i8 %16768 to i1
  br i1 %16769, label %16770, label %16792

16770:                                            ; preds = %16763
  %16771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16772 = call i32 @fileno(ptr noundef %16771) #11
  %16773 = call i32 @isatty(i32 noundef %16772) #11
  %16774 = icmp ne i32 %16773, 0
  br i1 %16774, label %16775, label %16792

16775:                                            ; preds = %16770
  %16776 = load i32, ptr %408, align 4, !tbaa !5
  %16777 = call ptr @__errno_location() #12
  store i32 %16776, ptr %16777, align 4, !tbaa !5
  %16778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16779 = load i32, ptr @test_count, align 4, !tbaa !5
  %16780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16781 = load i32, ptr %16780, align 4, !tbaa !5
  %16782 = call ptr @s2n_strerror(i32 noundef %16781, ptr noundef @.str.25)
  %16783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16784 = load i32, ptr %16783, align 4, !tbaa !5
  %16785 = call ptr @s2n_strerror_debug(i32 noundef %16784, ptr noundef @.str.25)
  %16786 = call ptr @__errno_location() #12
  %16787 = load i32, ptr %16786, align 4, !tbaa !5
  %16788 = call ptr @strerror(i32 noundef %16787) #11
  %16789 = call ptr @__errno_location() #12
  %16790 = load i32, ptr %16789, align 4, !tbaa !5
  %16791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16778, ptr noundef @.str.23, i32 noundef %16779, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 855, ptr noundef %16782, ptr noundef %16785, ptr noundef %16788, i32 noundef %16790) #11
  br label %16809

16792:                                            ; preds = %16770, %16763
  %16793 = load i32, ptr %408, align 4, !tbaa !5
  %16794 = call ptr @__errno_location() #12
  store i32 %16793, ptr %16794, align 4, !tbaa !5
  %16795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16796 = load i32, ptr @test_count, align 4, !tbaa !5
  %16797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16798 = load i32, ptr %16797, align 4, !tbaa !5
  %16799 = call ptr @s2n_strerror(i32 noundef %16798, ptr noundef @.str.25)
  %16800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16801 = load i32, ptr %16800, align 4, !tbaa !5
  %16802 = call ptr @s2n_strerror_debug(i32 noundef %16801, ptr noundef @.str.25)
  %16803 = call ptr @__errno_location() #12
  %16804 = load i32, ptr %16803, align 4, !tbaa !5
  %16805 = call ptr @strerror(i32 noundef %16804) #11
  %16806 = call ptr @__errno_location() #12
  %16807 = load i32, ptr %16806, align 4, !tbaa !5
  %16808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16795, ptr noundef @.str.26, i32 noundef %16796, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 855, ptr noundef %16799, ptr noundef %16802, ptr noundef %16805, i32 noundef %16807) #11
  br label %16809

16809:                                            ; preds = %16792, %16775
  call void @llvm.lifetime.end.p0(i64 4, ptr %408) #11
  br label %16810

16810:                                            ; preds = %16809
  br label %16811

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

16812:                                            ; No predecessors!
  br label %16813

16813:                                            ; preds = %16812
  br label %16814

16814:                                            ; preds = %16813, %16755
  br label %16815

16815:                                            ; preds = %16814
  br label %16816

16816:                                            ; preds = %16815
  br label %16817

16817:                                            ; preds = %16816
  %16818 = load i32, ptr @test_count, align 4, !tbaa !5
  %16819 = add nsw i32 %16818, 1
  store i32 %16819, ptr @test_count, align 4, !tbaa !5
  %16820 = load ptr, ptr %406, align 8, !tbaa !9
  %16821 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %16820, ptr noundef @s2n_test_session_ticket_cb, ptr noundef null)
  %16822 = icmp eq i32 %16821, -1
  br i1 %16822, label %16823, label %16876

16823:                                            ; preds = %16817
  br label %16824

16824:                                            ; preds = %16823
  br label %16825

16825:                                            ; preds = %16824
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #11
  %16826 = call ptr @__errno_location() #12
  %16827 = load i32, ptr %16826, align 4, !tbaa !5
  store i32 %16827, ptr %409, align 4, !tbaa !5
  %16828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16829 = call i32 @s2n_print_stacktrace(ptr noundef %16828)
  %16830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16831 = trunc i8 %16830 to i1
  br i1 %16831, label %16832, label %16854

16832:                                            ; preds = %16825
  %16833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16834 = call i32 @fileno(ptr noundef %16833) #11
  %16835 = call i32 @isatty(i32 noundef %16834) #11
  %16836 = icmp ne i32 %16835, 0
  br i1 %16836, label %16837, label %16854

16837:                                            ; preds = %16832
  %16838 = load i32, ptr %409, align 4, !tbaa !5
  %16839 = call ptr @__errno_location() #12
  store i32 %16838, ptr %16839, align 4, !tbaa !5
  %16840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16841 = load i32, ptr @test_count, align 4, !tbaa !5
  %16842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16843 = load i32, ptr %16842, align 4, !tbaa !5
  %16844 = call ptr @s2n_strerror(i32 noundef %16843, ptr noundef @.str.25)
  %16845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16846 = load i32, ptr %16845, align 4, !tbaa !5
  %16847 = call ptr @s2n_strerror_debug(i32 noundef %16846, ptr noundef @.str.25)
  %16848 = call ptr @__errno_location() #12
  %16849 = load i32, ptr %16848, align 4, !tbaa !5
  %16850 = call ptr @strerror(i32 noundef %16849) #11
  %16851 = call ptr @__errno_location() #12
  %16852 = load i32, ptr %16851, align 4, !tbaa !5
  %16853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16840, ptr noundef @.str.23, i32 noundef %16841, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 856, ptr noundef %16844, ptr noundef %16847, ptr noundef %16850, i32 noundef %16852) #11
  br label %16871

16854:                                            ; preds = %16832, %16825
  %16855 = load i32, ptr %409, align 4, !tbaa !5
  %16856 = call ptr @__errno_location() #12
  store i32 %16855, ptr %16856, align 4, !tbaa !5
  %16857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16858 = load i32, ptr @test_count, align 4, !tbaa !5
  %16859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16860 = load i32, ptr %16859, align 4, !tbaa !5
  %16861 = call ptr @s2n_strerror(i32 noundef %16860, ptr noundef @.str.25)
  %16862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16863 = load i32, ptr %16862, align 4, !tbaa !5
  %16864 = call ptr @s2n_strerror_debug(i32 noundef %16863, ptr noundef @.str.25)
  %16865 = call ptr @__errno_location() #12
  %16866 = load i32, ptr %16865, align 4, !tbaa !5
  %16867 = call ptr @strerror(i32 noundef %16866) #11
  %16868 = call ptr @__errno_location() #12
  %16869 = load i32, ptr %16868, align 4, !tbaa !5
  %16870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16857, ptr noundef @.str.26, i32 noundef %16858, ptr noundef @.str.79, ptr noundef @.str.22, i32 noundef 856, ptr noundef %16861, ptr noundef %16864, ptr noundef %16867, i32 noundef %16869) #11
  br label %16871

16871:                                            ; preds = %16854, %16837
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #11
  br label %16872

16872:                                            ; preds = %16871
  br label %16873

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

16874:                                            ; No predecessors!
  br label %16875

16875:                                            ; preds = %16874
  br label %16876

16876:                                            ; preds = %16875, %16817
  br label %16877

16877:                                            ; preds = %16876
  br label %16878

16878:                                            ; preds = %16877
  call void @llvm.lifetime.start.p0(i64 8, ptr %410) #11
  %16879 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %16879, ptr %410, align 8, !tbaa !9
  br label %16880

16880:                                            ; preds = %16878
  %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 %410, align 8, !tbaa !9
  %16884 = icmp eq ptr %16883, null
  br i1 %16884, label %16885, label %16938

16885:                                            ; preds = %16880
  br label %16886

16886:                                            ; preds = %16885
  br label %16887

16887:                                            ; preds = %16886
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #11
  %16888 = call ptr @__errno_location() #12
  %16889 = load i32, ptr %16888, align 4, !tbaa !5
  store i32 %16889, ptr %411, align 4, !tbaa !5
  %16890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16891 = call i32 @s2n_print_stacktrace(ptr noundef %16890)
  %16892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16893 = trunc i8 %16892 to i1
  br i1 %16893, label %16894, label %16916

16894:                                            ; preds = %16887
  %16895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16896 = call i32 @fileno(ptr noundef %16895) #11
  %16897 = call i32 @isatty(i32 noundef %16896) #11
  %16898 = icmp ne i32 %16897, 0
  br i1 %16898, label %16899, label %16916

16899:                                            ; preds = %16894
  %16900 = load i32, ptr %411, align 4, !tbaa !5
  %16901 = call ptr @__errno_location() #12
  store i32 %16900, ptr %16901, align 4, !tbaa !5
  %16902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16903 = load i32, ptr @test_count, align 4, !tbaa !5
  %16904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16905 = load i32, ptr %16904, align 4, !tbaa !5
  %16906 = call ptr @s2n_strerror(i32 noundef %16905, ptr noundef @.str.25)
  %16907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16908 = load i32, ptr %16907, align 4, !tbaa !5
  %16909 = call ptr @s2n_strerror_debug(i32 noundef %16908, ptr noundef @.str.25)
  %16910 = call ptr @__errno_location() #12
  %16911 = load i32, ptr %16910, align 4, !tbaa !5
  %16912 = call ptr @strerror(i32 noundef %16911) #11
  %16913 = call ptr @__errno_location() #12
  %16914 = load i32, ptr %16913, align 4, !tbaa !5
  %16915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16902, ptr noundef @.str.23, i32 noundef %16903, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 866, ptr noundef %16906, ptr noundef %16909, ptr noundef %16912, i32 noundef %16914) #11
  br label %16933

16916:                                            ; preds = %16894, %16887
  %16917 = load i32, ptr %411, align 4, !tbaa !5
  %16918 = call ptr @__errno_location() #12
  store i32 %16917, ptr %16918, align 4, !tbaa !5
  %16919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16920 = load i32, ptr @test_count, align 4, !tbaa !5
  %16921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16922 = load i32, ptr %16921, align 4, !tbaa !5
  %16923 = call ptr @s2n_strerror(i32 noundef %16922, ptr noundef @.str.25)
  %16924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16925 = load i32, ptr %16924, align 4, !tbaa !5
  %16926 = call ptr @s2n_strerror_debug(i32 noundef %16925, ptr noundef @.str.25)
  %16927 = call ptr @__errno_location() #12
  %16928 = load i32, ptr %16927, align 4, !tbaa !5
  %16929 = call ptr @strerror(i32 noundef %16928) #11
  %16930 = call ptr @__errno_location() #12
  %16931 = load i32, ptr %16930, align 4, !tbaa !5
  %16932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16919, ptr noundef @.str.26, i32 noundef %16920, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 866, ptr noundef %16923, ptr noundef %16926, ptr noundef %16929, i32 noundef %16931) #11
  br label %16933

16933:                                            ; preds = %16916, %16899
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #11
  br label %16934

16934:                                            ; preds = %16933
  br label %16935

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

16936:                                            ; No predecessors!
  br label %16937

16937:                                            ; preds = %16936
  br label %16938

16938:                                            ; preds = %16937, %16880
  br label %16939

16939:                                            ; preds = %16938
  br label %16940

16940:                                            ; preds = %16939
  br label %16941

16941:                                            ; preds = %16940
  %16942 = load i32, ptr @test_count, align 4, !tbaa !5
  %16943 = add nsw i32 %16942, 1
  store i32 %16943, ptr @test_count, align 4, !tbaa !5
  %16944 = load ptr, ptr %410, align 8, !tbaa !9
  %16945 = load ptr, ptr %406, align 8, !tbaa !9
  %16946 = call i32 @s2n_connection_set_config(ptr noundef %16944, ptr noundef %16945)
  %16947 = icmp eq i32 %16946, -1
  br i1 %16947, label %16948, label %17001

16948:                                            ; preds = %16941
  br label %16949

16949:                                            ; preds = %16948
  br label %16950

16950:                                            ; preds = %16949
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #11
  %16951 = call ptr @__errno_location() #12
  %16952 = load i32, ptr %16951, align 4, !tbaa !5
  store i32 %16952, ptr %412, align 4, !tbaa !5
  %16953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16954 = call i32 @s2n_print_stacktrace(ptr noundef %16953)
  %16955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16956 = trunc i8 %16955 to i1
  br i1 %16956, label %16957, label %16979

16957:                                            ; preds = %16950
  %16958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16959 = call i32 @fileno(ptr noundef %16958) #11
  %16960 = call i32 @isatty(i32 noundef %16959) #11
  %16961 = icmp ne i32 %16960, 0
  br i1 %16961, label %16962, label %16979

16962:                                            ; preds = %16957
  %16963 = load i32, ptr %412, align 4, !tbaa !5
  %16964 = call ptr @__errno_location() #12
  store i32 %16963, ptr %16964, align 4, !tbaa !5
  %16965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16966 = load i32, ptr @test_count, align 4, !tbaa !5
  %16967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16968 = load i32, ptr %16967, align 4, !tbaa !5
  %16969 = call ptr @s2n_strerror(i32 noundef %16968, ptr noundef @.str.25)
  %16970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16971 = load i32, ptr %16970, align 4, !tbaa !5
  %16972 = call ptr @s2n_strerror_debug(i32 noundef %16971, ptr noundef @.str.25)
  %16973 = call ptr @__errno_location() #12
  %16974 = load i32, ptr %16973, align 4, !tbaa !5
  %16975 = call ptr @strerror(i32 noundef %16974) #11
  %16976 = call ptr @__errno_location() #12
  %16977 = load i32, ptr %16976, align 4, !tbaa !5
  %16978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16965, ptr noundef @.str.23, i32 noundef %16966, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 867, ptr noundef %16969, ptr noundef %16972, ptr noundef %16975, i32 noundef %16977) #11
  br label %16996

16979:                                            ; preds = %16957, %16950
  %16980 = load i32, ptr %412, align 4, !tbaa !5
  %16981 = call ptr @__errno_location() #12
  store i32 %16980, ptr %16981, align 4, !tbaa !5
  %16982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16983 = load i32, ptr @test_count, align 4, !tbaa !5
  %16984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16985 = load i32, ptr %16984, align 4, !tbaa !5
  %16986 = call ptr @s2n_strerror(i32 noundef %16985, ptr noundef @.str.25)
  %16987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16988 = load i32, ptr %16987, align 4, !tbaa !5
  %16989 = call ptr @s2n_strerror_debug(i32 noundef %16988, ptr noundef @.str.25)
  %16990 = call ptr @__errno_location() #12
  %16991 = load i32, ptr %16990, align 4, !tbaa !5
  %16992 = call ptr @strerror(i32 noundef %16991) #11
  %16993 = call ptr @__errno_location() #12
  %16994 = load i32, ptr %16993, align 4, !tbaa !5
  %16995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16982, ptr noundef @.str.26, i32 noundef %16983, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 867, ptr noundef %16986, ptr noundef %16989, ptr noundef %16992, i32 noundef %16994) #11
  br label %16996

16996:                                            ; preds = %16979, %16962
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #11
  br label %16997

16997:                                            ; preds = %16996
  br label %16998

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

16999:                                            ; No predecessors!
  br label %17000

17000:                                            ; preds = %16999
  br label %17001

17001:                                            ; preds = %17000, %16941
  br label %17002

17002:                                            ; preds = %17001
  br label %17003

17003:                                            ; preds = %17002
  %17004 = load ptr, ptr %410, align 8, !tbaa !9
  %17005 = getelementptr inbounds %struct.s2n_connection, ptr %17004, i32 0, i32 23
  store i8 34, ptr %17005, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 40, ptr %413) #11
  call void @llvm.memset.p0.i64(ptr align 8 %413, i8 0, i64 40, i1 false)
  br label %17006

17006:                                            ; preds = %17003
  %17007 = load i32, ptr @test_count, align 4, !tbaa !5
  %17008 = add nsw i32 %17007, 1
  store i32 %17008, ptr @test_count, align 4, !tbaa !5
  %17009 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %413, i32 noundef 18)
  %17010 = icmp eq i32 %17009, -1
  br i1 %17010, label %17011, label %17064

17011:                                            ; preds = %17006
  br label %17012

17012:                                            ; preds = %17011
  br label %17013

17013:                                            ; preds = %17012
  call void @llvm.lifetime.start.p0(i64 4, ptr %414) #11
  %17014 = call ptr @__errno_location() #12
  %17015 = load i32, ptr %17014, align 4, !tbaa !5
  store i32 %17015, ptr %414, align 4, !tbaa !5
  %17016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17017 = call i32 @s2n_print_stacktrace(ptr noundef %17016)
  %17018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17019 = trunc i8 %17018 to i1
  br i1 %17019, label %17020, label %17042

17020:                                            ; preds = %17013
  %17021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17022 = call i32 @fileno(ptr noundef %17021) #11
  %17023 = call i32 @isatty(i32 noundef %17022) #11
  %17024 = icmp ne i32 %17023, 0
  br i1 %17024, label %17025, label %17042

17025:                                            ; preds = %17020
  %17026 = load i32, ptr %414, align 4, !tbaa !5
  %17027 = call ptr @__errno_location() #12
  store i32 %17026, ptr %17027, align 4, !tbaa !5
  %17028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17029 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17031, ptr noundef @.str.25)
  %17033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17034 = load i32, ptr %17033, align 4, !tbaa !5
  %17035 = call ptr @s2n_strerror_debug(i32 noundef %17034, ptr noundef @.str.25)
  %17036 = call ptr @__errno_location() #12
  %17037 = load i32, ptr %17036, align 4, !tbaa !5
  %17038 = call ptr @strerror(i32 noundef %17037) #11
  %17039 = call ptr @__errno_location() #12
  %17040 = load i32, ptr %17039, align 4, !tbaa !5
  %17041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17028, ptr noundef @.str.23, i32 noundef %17029, ptr noundef @.str.149, ptr noundef @.str.22, i32 noundef 871, ptr noundef %17032, ptr noundef %17035, ptr noundef %17038, i32 noundef %17040) #11
  br label %17059

17042:                                            ; preds = %17020, %17013
  %17043 = load i32, ptr %414, align 4, !tbaa !5
  %17044 = call ptr @__errno_location() #12
  store i32 %17043, ptr %17044, align 4, !tbaa !5
  %17045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17046 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17048, ptr noundef @.str.25)
  %17050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17051 = load i32, ptr %17050, align 4, !tbaa !5
  %17052 = call ptr @s2n_strerror_debug(i32 noundef %17051, ptr noundef @.str.25)
  %17053 = call ptr @__errno_location() #12
  %17054 = load i32, ptr %17053, align 4, !tbaa !5
  %17055 = call ptr @strerror(i32 noundef %17054) #11
  %17056 = call ptr @__errno_location() #12
  %17057 = load i32, ptr %17056, align 4, !tbaa !5
  %17058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17045, ptr noundef @.str.26, i32 noundef %17046, ptr noundef @.str.149, ptr noundef @.str.22, i32 noundef 871, ptr noundef %17049, ptr noundef %17052, ptr noundef %17055, i32 noundef %17057) #11
  br label %17059

17059:                                            ; preds = %17042, %17025
  call void @llvm.lifetime.end.p0(i64 4, ptr %414) #11
  br label %17060

17060:                                            ; preds = %17059
  br label %17061

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

17062:                                            ; No predecessors!
  br label %17063

17063:                                            ; preds = %17062
  br label %17064

17064:                                            ; preds = %17063, %17006
  br label %17065

17065:                                            ; preds = %17064
  br label %17066

17066:                                            ; preds = %17065
  br label %17067

17067:                                            ; preds = %17066
  %17068 = load i32, ptr @test_count, align 4, !tbaa !5
  %17069 = add nsw i32 %17068, 1
  store i32 %17069, ptr @test_count, align 4, !tbaa !5
  %17070 = call i32 @s2n_stuffer_write_uint32(ptr noundef %413, i32 noundef 0)
  %17071 = icmp eq i32 %17070, -1
  br i1 %17071, label %17072, label %17125

17072:                                            ; preds = %17067
  br label %17073

17073:                                            ; preds = %17072
  br label %17074

17074:                                            ; preds = %17073
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #11
  %17075 = call ptr @__errno_location() #12
  %17076 = load i32, ptr %17075, align 4, !tbaa !5
  store i32 %17076, ptr %415, align 4, !tbaa !5
  %17077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17078 = call i32 @s2n_print_stacktrace(ptr noundef %17077)
  %17079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17080 = trunc i8 %17079 to i1
  br i1 %17080, label %17081, label %17103

17081:                                            ; preds = %17074
  %17082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17083 = call i32 @fileno(ptr noundef %17082) #11
  %17084 = call i32 @isatty(i32 noundef %17083) #11
  %17085 = icmp ne i32 %17084, 0
  br i1 %17085, label %17086, label %17103

17086:                                            ; preds = %17081
  %17087 = load i32, ptr %415, align 4, !tbaa !5
  %17088 = call ptr @__errno_location() #12
  store i32 %17087, ptr %17088, align 4, !tbaa !5
  %17089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17090 = load i32, ptr @test_count, align 4, !tbaa !5
  %17091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17092 = load i32, ptr %17091, align 4, !tbaa !5
  %17093 = call ptr @s2n_strerror(i32 noundef %17092, ptr noundef @.str.25)
  %17094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17095 = load i32, ptr %17094, align 4, !tbaa !5
  %17096 = call ptr @s2n_strerror_debug(i32 noundef %17095, ptr noundef @.str.25)
  %17097 = call ptr @__errno_location() #12
  %17098 = load i32, ptr %17097, align 4, !tbaa !5
  %17099 = call ptr @strerror(i32 noundef %17098) #11
  %17100 = call ptr @__errno_location() #12
  %17101 = load i32, ptr %17100, align 4, !tbaa !5
  %17102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17089, ptr noundef @.str.23, i32 noundef %17090, ptr noundef @.str.150, ptr noundef @.str.22, i32 noundef 872, ptr noundef %17093, ptr noundef %17096, ptr noundef %17099, i32 noundef %17101) #11
  br label %17120

17103:                                            ; preds = %17081, %17074
  %17104 = load i32, ptr %415, align 4, !tbaa !5
  %17105 = call ptr @__errno_location() #12
  store i32 %17104, ptr %17105, align 4, !tbaa !5
  %17106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17107 = load i32, ptr @test_count, align 4, !tbaa !5
  %17108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17109 = load i32, ptr %17108, align 4, !tbaa !5
  %17110 = call ptr @s2n_strerror(i32 noundef %17109, ptr noundef @.str.25)
  %17111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17112 = load i32, ptr %17111, align 4, !tbaa !5
  %17113 = call ptr @s2n_strerror_debug(i32 noundef %17112, ptr noundef @.str.25)
  %17114 = call ptr @__errno_location() #12
  %17115 = load i32, ptr %17114, align 4, !tbaa !5
  %17116 = call ptr @strerror(i32 noundef %17115) #11
  %17117 = call ptr @__errno_location() #12
  %17118 = load i32, ptr %17117, align 4, !tbaa !5
  %17119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17106, ptr noundef @.str.26, i32 noundef %17107, ptr noundef @.str.150, ptr noundef @.str.22, i32 noundef 872, ptr noundef %17110, ptr noundef %17113, ptr noundef %17116, i32 noundef %17118) #11
  br label %17120

17120:                                            ; preds = %17103, %17086
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #11
  br label %17121

17121:                                            ; preds = %17120
  br label %17122

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

17123:                                            ; No predecessors!
  br label %17124

17124:                                            ; preds = %17123
  br label %17125

17125:                                            ; preds = %17124, %17067
  br label %17126

17126:                                            ; preds = %17125
  br label %17127

17127:                                            ; preds = %17126
  br label %17128

17128:                                            ; preds = %17127
  %17129 = load i32, ptr @test_count, align 4, !tbaa !5
  %17130 = add nsw i32 %17129, 1
  store i32 %17130, ptr @test_count, align 4, !tbaa !5
  %17131 = load ptr, ptr %404, align 8, !tbaa !9
  %17132 = call i32 @s2n_stuffer_write_bytes(ptr noundef %413, ptr noundef %17131, i32 noundef 14)
  %17133 = icmp eq i32 %17132, -1
  br i1 %17133, label %17134, label %17187

17134:                                            ; preds = %17128
  br label %17135

17135:                                            ; preds = %17134
  br label %17136

17136:                                            ; preds = %17135
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #11
  %17137 = call ptr @__errno_location() #12
  %17138 = load i32, ptr %17137, align 4, !tbaa !5
  store i32 %17138, ptr %416, 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 %416, 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.25)
  %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.25)
  %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.23, i32 noundef %17152, ptr noundef @.str.151, ptr noundef @.str.22, i32 noundef 873, ptr noundef %17155, ptr noundef %17158, ptr noundef %17161, i32 noundef %17163) #11
  br label %17182

17165:                                            ; preds = %17143, %17136
  %17166 = load i32, ptr %416, 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.25)
  %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.25)
  %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.26, i32 noundef %17169, ptr noundef @.str.151, ptr noundef @.str.22, i32 noundef 873, 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 %416) #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, %17128
  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 = load ptr, ptr %410, align 8, !tbaa !9
  %17194 = call i32 @s2n_tls13_server_nst_recv(ptr noundef %17193, ptr noundef %413)
  %17195 = getelementptr inbounds %struct.s2n_result, ptr %417, i32 0, i32 0
  store i32 %17194, ptr %17195, align 4
  %17196 = getelementptr inbounds %struct.s2n_result, ptr %417, i32 0, i32 0
  %17197 = load i32, ptr %17196, align 4
  %17198 = call zeroext i1 @s2n_result_is_ok(i32 %17197)
  br i1 %17198, label %17252, label %17199

17199:                                            ; preds = %17190
  br label %17200

17200:                                            ; preds = %17199
  br label %17201

17201:                                            ; preds = %17200
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #11
  %17202 = call ptr @__errno_location() #12
  %17203 = load i32, ptr %17202, align 4, !tbaa !5
  store i32 %17203, ptr %418, align 4, !tbaa !5
  %17204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17205 = call i32 @s2n_print_stacktrace(ptr noundef %17204)
  %17206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17207 = trunc i8 %17206 to i1
  br i1 %17207, label %17208, label %17230

17208:                                            ; preds = %17201
  %17209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17210 = call i32 @fileno(ptr noundef %17209) #11
  %17211 = call i32 @isatty(i32 noundef %17210) #11
  %17212 = icmp ne i32 %17211, 0
  br i1 %17212, label %17213, label %17230

17213:                                            ; preds = %17208
  %17214 = load i32, ptr %418, align 4, !tbaa !5
  %17215 = call ptr @__errno_location() #12
  store i32 %17214, ptr %17215, align 4, !tbaa !5
  %17216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17217 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17219, ptr noundef @.str.25)
  %17221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17222 = load i32, ptr %17221, align 4, !tbaa !5
  %17223 = call ptr @s2n_strerror_debug(i32 noundef %17222, ptr noundef @.str.25)
  %17224 = call ptr @__errno_location() #12
  %17225 = load i32, ptr %17224, align 4, !tbaa !5
  %17226 = call ptr @strerror(i32 noundef %17225) #11
  %17227 = call ptr @__errno_location() #12
  %17228 = load i32, ptr %17227, align 4, !tbaa !5
  %17229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17216, ptr noundef @.str.23, i32 noundef %17217, ptr noundef @.str.114, ptr noundef @.str.22, i32 noundef 875, ptr noundef %17220, ptr noundef %17223, ptr noundef %17226, i32 noundef %17228) #11
  br label %17247

17230:                                            ; preds = %17208, %17201
  %17231 = load i32, ptr %418, align 4, !tbaa !5
  %17232 = call ptr @__errno_location() #12
  store i32 %17231, ptr %17232, align 4, !tbaa !5
  %17233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17234 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17236, ptr noundef @.str.25)
  %17238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17239 = load i32, ptr %17238, align 4, !tbaa !5
  %17240 = call ptr @s2n_strerror_debug(i32 noundef %17239, ptr noundef @.str.25)
  %17241 = call ptr @__errno_location() #12
  %17242 = load i32, ptr %17241, align 4, !tbaa !5
  %17243 = call ptr @strerror(i32 noundef %17242) #11
  %17244 = call ptr @__errno_location() #12
  %17245 = load i32, ptr %17244, align 4, !tbaa !5
  %17246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17233, ptr noundef @.str.26, i32 noundef %17234, ptr noundef @.str.114, ptr noundef @.str.22, i32 noundef 875, ptr noundef %17237, ptr noundef %17240, ptr noundef %17243, i32 noundef %17245) #11
  br label %17247

17247:                                            ; preds = %17230, %17213
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #11
  br label %17248

17248:                                            ; preds = %17247
  br label %17249

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

17250:                                            ; No predecessors!
  br label %17251

17251:                                            ; preds = %17250
  br label %17252

17252:                                            ; preds = %17251, %17190
  br label %17253

17253:                                            ; preds = %17252
  br label %17254

17254:                                            ; preds = %17253
  br label %17255

17255:                                            ; preds = %17254
  %17256 = load i32, ptr @test_count, align 4, !tbaa !5
  %17257 = add nsw i32 %17256, 1
  store i32 %17257, ptr @test_count, align 4, !tbaa !5
  %17258 = getelementptr inbounds %struct.s2n_stuffer, ptr %413, i32 0, i32 2
  %17259 = load i32, ptr %17258, align 4, !tbaa !52
  %17260 = getelementptr inbounds %struct.s2n_stuffer, ptr %413, i32 0, i32 1
  %17261 = load i32, ptr %17260, align 8, !tbaa !53
  %17262 = sub i32 %17259, %17261
  %17263 = zext i32 %17262 to i64
  %17264 = icmp eq i64 %17263, 14
  br i1 %17264, label %17318, label %17265

17265:                                            ; preds = %17255
  br label %17266

17266:                                            ; preds = %17265
  br label %17267

17267:                                            ; preds = %17266
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #11
  %17268 = call ptr @__errno_location() #12
  %17269 = load i32, ptr %17268, align 4, !tbaa !5
  store i32 %17269, ptr %419, align 4, !tbaa !5
  %17270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17271 = call i32 @s2n_print_stacktrace(ptr noundef %17270)
  %17272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17273 = trunc i8 %17272 to i1
  br i1 %17273, label %17274, label %17296

17274:                                            ; preds = %17267
  %17275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17276 = call i32 @fileno(ptr noundef %17275) #11
  %17277 = call i32 @isatty(i32 noundef %17276) #11
  %17278 = icmp ne i32 %17277, 0
  br i1 %17278, label %17279, label %17296

17279:                                            ; preds = %17274
  %17280 = load i32, ptr %419, align 4, !tbaa !5
  %17281 = call ptr @__errno_location() #12
  store i32 %17280, ptr %17281, align 4, !tbaa !5
  %17282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17283 = load i32, ptr @test_count, align 4, !tbaa !5
  %17284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17285 = load i32, ptr %17284, align 4, !tbaa !5
  %17286 = call ptr @s2n_strerror(i32 noundef %17285, ptr noundef @.str.25)
  %17287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17288 = load i32, ptr %17287, align 4, !tbaa !5
  %17289 = call ptr @s2n_strerror_debug(i32 noundef %17288, ptr noundef @.str.25)
  %17290 = call ptr @__errno_location() #12
  %17291 = load i32, ptr %17290, align 4, !tbaa !5
  %17292 = call ptr @strerror(i32 noundef %17291) #11
  %17293 = call ptr @__errno_location() #12
  %17294 = load i32, ptr %17293, align 4, !tbaa !5
  %17295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17282, ptr noundef @.str.23, i32 noundef %17283, ptr noundef @.str.152, ptr noundef @.str.22, i32 noundef 877, ptr noundef %17286, ptr noundef %17289, ptr noundef %17292, i32 noundef %17294) #11
  br label %17313

17296:                                            ; preds = %17274, %17267
  %17297 = load i32, ptr %419, align 4, !tbaa !5
  %17298 = call ptr @__errno_location() #12
  store i32 %17297, ptr %17298, align 4, !tbaa !5
  %17299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17300 = load i32, ptr @test_count, align 4, !tbaa !5
  %17301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17302 = load i32, ptr %17301, align 4, !tbaa !5
  %17303 = call ptr @s2n_strerror(i32 noundef %17302, ptr noundef @.str.25)
  %17304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17305 = load i32, ptr %17304, align 4, !tbaa !5
  %17306 = call ptr @s2n_strerror_debug(i32 noundef %17305, ptr noundef @.str.25)
  %17307 = call ptr @__errno_location() #12
  %17308 = load i32, ptr %17307, align 4, !tbaa !5
  %17309 = call ptr @strerror(i32 noundef %17308) #11
  %17310 = call ptr @__errno_location() #12
  %17311 = load i32, ptr %17310, align 4, !tbaa !5
  %17312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17299, ptr noundef @.str.26, i32 noundef %17300, ptr noundef @.str.152, ptr noundef @.str.22, i32 noundef 877, ptr noundef %17303, ptr noundef %17306, ptr noundef %17309, i32 noundef %17311) #11
  br label %17313

17313:                                            ; preds = %17296, %17279
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #11
  br label %17314

17314:                                            ; preds = %17313
  br label %17315

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

17316:                                            ; No predecessors!
  br label %17317

17317:                                            ; preds = %17316
  br label %17318

17318:                                            ; preds = %17317, %17255
  br label %17319

17319:                                            ; preds = %17318
  br label %17320

17320:                                            ; preds = %17319
  br label %17321

17321:                                            ; preds = %17320
  %17322 = load i32, ptr @test_count, align 4, !tbaa !5
  %17323 = add nsw i32 %17322, 1
  store i32 %17323, ptr @test_count, align 4, !tbaa !5
  %17324 = load ptr, ptr %410, align 8, !tbaa !9
  %17325 = call i32 @s2n_connection_get_session_length(ptr noundef %17324)
  %17326 = icmp eq i32 %17325, 0
  br i1 %17326, label %17380, label %17327

17327:                                            ; preds = %17321
  br label %17328

17328:                                            ; preds = %17327
  br label %17329

17329:                                            ; preds = %17328
  call void @llvm.lifetime.start.p0(i64 4, ptr %420) #11
  %17330 = call ptr @__errno_location() #12
  %17331 = load i32, ptr %17330, align 4, !tbaa !5
  store i32 %17331, ptr %420, align 4, !tbaa !5
  %17332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17333 = call i32 @s2n_print_stacktrace(ptr noundef %17332)
  %17334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17335 = trunc i8 %17334 to i1
  br i1 %17335, label %17336, label %17358

17336:                                            ; preds = %17329
  %17337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17338 = call i32 @fileno(ptr noundef %17337) #11
  %17339 = call i32 @isatty(i32 noundef %17338) #11
  %17340 = icmp ne i32 %17339, 0
  br i1 %17340, label %17341, label %17358

17341:                                            ; preds = %17336
  %17342 = load i32, ptr %420, align 4, !tbaa !5
  %17343 = call ptr @__errno_location() #12
  store i32 %17342, ptr %17343, align 4, !tbaa !5
  %17344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17345 = load i32, ptr @test_count, align 4, !tbaa !5
  %17346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17347 = load i32, ptr %17346, align 4, !tbaa !5
  %17348 = call ptr @s2n_strerror(i32 noundef %17347, ptr noundef @.str.25)
  %17349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17350 = load i32, ptr %17349, align 4, !tbaa !5
  %17351 = call ptr @s2n_strerror_debug(i32 noundef %17350, ptr noundef @.str.25)
  %17352 = call ptr @__errno_location() #12
  %17353 = load i32, ptr %17352, align 4, !tbaa !5
  %17354 = call ptr @strerror(i32 noundef %17353) #11
  %17355 = call ptr @__errno_location() #12
  %17356 = load i32, ptr %17355, align 4, !tbaa !5
  %17357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17344, ptr noundef @.str.23, i32 noundef %17345, ptr noundef @.str.153, ptr noundef @.str.22, i32 noundef 879, ptr noundef %17348, ptr noundef %17351, ptr noundef %17354, i32 noundef %17356) #11
  br label %17375

17358:                                            ; preds = %17336, %17329
  %17359 = load i32, ptr %420, align 4, !tbaa !5
  %17360 = call ptr @__errno_location() #12
  store i32 %17359, ptr %17360, align 4, !tbaa !5
  %17361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17362 = load i32, ptr @test_count, align 4, !tbaa !5
  %17363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17364 = load i32, ptr %17363, align 4, !tbaa !5
  %17365 = call ptr @s2n_strerror(i32 noundef %17364, ptr noundef @.str.25)
  %17366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17367 = load i32, ptr %17366, align 4, !tbaa !5
  %17368 = call ptr @s2n_strerror_debug(i32 noundef %17367, ptr noundef @.str.25)
  %17369 = call ptr @__errno_location() #12
  %17370 = load i32, ptr %17369, align 4, !tbaa !5
  %17371 = call ptr @strerror(i32 noundef %17370) #11
  %17372 = call ptr @__errno_location() #12
  %17373 = load i32, ptr %17372, align 4, !tbaa !5
  %17374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17361, ptr noundef @.str.26, i32 noundef %17362, ptr noundef @.str.153, ptr noundef @.str.22, i32 noundef 879, ptr noundef %17365, ptr noundef %17368, ptr noundef %17371, i32 noundef %17373) #11
  br label %17375

17375:                                            ; preds = %17358, %17341
  call void @llvm.lifetime.end.p0(i64 4, ptr %420) #11
  br label %17376

17376:                                            ; preds = %17375
  br label %17377

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

17378:                                            ; No predecessors!
  br label %17379

17379:                                            ; preds = %17378
  br label %17380

17380:                                            ; preds = %17379, %17321
  br label %17381

17381:                                            ; preds = %17380
  br label %17382

17382:                                            ; preds = %17381
  br label %17383

17383:                                            ; preds = %17382
  %17384 = load i32, ptr @test_count, align 4, !tbaa !5
  %17385 = add nsw i32 %17384, 1
  store i32 %17385, ptr @test_count, align 4, !tbaa !5
  %17386 = load ptr, ptr %410, align 8, !tbaa !9
  %17387 = call i32 @s2n_connection_free(ptr noundef %17386)
  %17388 = icmp eq i32 %17387, -1
  br i1 %17388, label %17389, label %17442

17389:                                            ; preds = %17383
  br label %17390

17390:                                            ; preds = %17389
  br label %17391

17391:                                            ; preds = %17390
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #11
  %17392 = call ptr @__errno_location() #12
  %17393 = load i32, ptr %17392, align 4, !tbaa !5
  store i32 %17393, ptr %421, align 4, !tbaa !5
  %17394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17395 = call i32 @s2n_print_stacktrace(ptr noundef %17394)
  %17396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17397 = trunc i8 %17396 to i1
  br i1 %17397, label %17398, label %17420

17398:                                            ; preds = %17391
  %17399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17400 = call i32 @fileno(ptr noundef %17399) #11
  %17401 = call i32 @isatty(i32 noundef %17400) #11
  %17402 = icmp ne i32 %17401, 0
  br i1 %17402, label %17403, label %17420

17403:                                            ; preds = %17398
  %17404 = load i32, ptr %421, align 4, !tbaa !5
  %17405 = call ptr @__errno_location() #12
  store i32 %17404, ptr %17405, align 4, !tbaa !5
  %17406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17407 = load i32, ptr @test_count, align 4, !tbaa !5
  %17408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17409 = load i32, ptr %17408, align 4, !tbaa !5
  %17410 = call ptr @s2n_strerror(i32 noundef %17409, ptr noundef @.str.25)
  %17411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17412 = load i32, ptr %17411, align 4, !tbaa !5
  %17413 = call ptr @s2n_strerror_debug(i32 noundef %17412, ptr noundef @.str.25)
  %17414 = call ptr @__errno_location() #12
  %17415 = load i32, ptr %17414, align 4, !tbaa !5
  %17416 = call ptr @strerror(i32 noundef %17415) #11
  %17417 = call ptr @__errno_location() #12
  %17418 = load i32, ptr %17417, align 4, !tbaa !5
  %17419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17406, ptr noundef @.str.23, i32 noundef %17407, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 881, ptr noundef %17410, ptr noundef %17413, ptr noundef %17416, i32 noundef %17418) #11
  br label %17437

17420:                                            ; preds = %17398, %17391
  %17421 = load i32, ptr %421, align 4, !tbaa !5
  %17422 = call ptr @__errno_location() #12
  store i32 %17421, ptr %17422, align 4, !tbaa !5
  %17423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17424 = load i32, ptr @test_count, align 4, !tbaa !5
  %17425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17426 = load i32, ptr %17425, align 4, !tbaa !5
  %17427 = call ptr @s2n_strerror(i32 noundef %17426, ptr noundef @.str.25)
  %17428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17429 = load i32, ptr %17428, align 4, !tbaa !5
  %17430 = call ptr @s2n_strerror_debug(i32 noundef %17429, ptr noundef @.str.25)
  %17431 = call ptr @__errno_location() #12
  %17432 = load i32, ptr %17431, align 4, !tbaa !5
  %17433 = call ptr @strerror(i32 noundef %17432) #11
  %17434 = call ptr @__errno_location() #12
  %17435 = load i32, ptr %17434, align 4, !tbaa !5
  %17436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17423, ptr noundef @.str.26, i32 noundef %17424, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 881, ptr noundef %17427, ptr noundef %17430, ptr noundef %17433, i32 noundef %17435) #11
  br label %17437

17437:                                            ; preds = %17420, %17403
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #11
  br label %17438

17438:                                            ; preds = %17437
  br label %17439

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

17440:                                            ; No predecessors!
  br label %17441

17441:                                            ; preds = %17440
  br label %17442

17442:                                            ; preds = %17441, %17383
  br label %17443

17443:                                            ; preds = %17442
  br label %17444

17444:                                            ; preds = %17443
  %17445 = call i32 @s2n_stuffer_free(ptr noundef %413)
  call void @llvm.lifetime.end.p0(i64 40, ptr %413) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %410) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %422) #11
  %17446 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %17446, ptr %422, align 8, !tbaa !9
  br label %17447

17447:                                            ; preds = %17444
  %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 %422, align 8, !tbaa !9
  %17451 = icmp eq ptr %17450, null
  br i1 %17451, label %17452, label %17505

17452:                                            ; preds = %17447
  br label %17453

17453:                                            ; preds = %17452
  br label %17454

17454:                                            ; preds = %17453
  call void @llvm.lifetime.start.p0(i64 4, ptr %423) #11
  %17455 = call ptr @__errno_location() #12
  %17456 = load i32, ptr %17455, align 4, !tbaa !5
  store i32 %17456, ptr %423, align 4, !tbaa !5
  %17457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17458 = call i32 @s2n_print_stacktrace(ptr noundef %17457)
  %17459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17460 = trunc i8 %17459 to i1
  br i1 %17460, label %17461, label %17483

17461:                                            ; preds = %17454
  %17462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17463 = call i32 @fileno(ptr noundef %17462) #11
  %17464 = call i32 @isatty(i32 noundef %17463) #11
  %17465 = icmp ne i32 %17464, 0
  br i1 %17465, label %17466, label %17483

17466:                                            ; preds = %17461
  %17467 = load i32, ptr %423, align 4, !tbaa !5
  %17468 = call ptr @__errno_location() #12
  store i32 %17467, ptr %17468, align 4, !tbaa !5
  %17469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17470 = load i32, ptr @test_count, align 4, !tbaa !5
  %17471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17472 = load i32, ptr %17471, align 4, !tbaa !5
  %17473 = call ptr @s2n_strerror(i32 noundef %17472, ptr noundef @.str.25)
  %17474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17475 = load i32, ptr %17474, align 4, !tbaa !5
  %17476 = call ptr @s2n_strerror_debug(i32 noundef %17475, ptr noundef @.str.25)
  %17477 = call ptr @__errno_location() #12
  %17478 = load i32, ptr %17477, align 4, !tbaa !5
  %17479 = call ptr @strerror(i32 noundef %17478) #11
  %17480 = call ptr @__errno_location() #12
  %17481 = load i32, ptr %17480, align 4, !tbaa !5
  %17482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17469, ptr noundef @.str.23, i32 noundef %17470, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 892, ptr noundef %17473, ptr noundef %17476, ptr noundef %17479, i32 noundef %17481) #11
  br label %17500

17483:                                            ; preds = %17461, %17454
  %17484 = load i32, ptr %423, align 4, !tbaa !5
  %17485 = call ptr @__errno_location() #12
  store i32 %17484, ptr %17485, align 4, !tbaa !5
  %17486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17487 = load i32, ptr @test_count, align 4, !tbaa !5
  %17488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17489 = load i32, ptr %17488, align 4, !tbaa !5
  %17490 = call ptr @s2n_strerror(i32 noundef %17489, ptr noundef @.str.25)
  %17491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17492 = load i32, ptr %17491, align 4, !tbaa !5
  %17493 = call ptr @s2n_strerror_debug(i32 noundef %17492, ptr noundef @.str.25)
  %17494 = call ptr @__errno_location() #12
  %17495 = load i32, ptr %17494, align 4, !tbaa !5
  %17496 = call ptr @strerror(i32 noundef %17495) #11
  %17497 = call ptr @__errno_location() #12
  %17498 = load i32, ptr %17497, align 4, !tbaa !5
  %17499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17486, ptr noundef @.str.26, i32 noundef %17487, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 892, ptr noundef %17490, ptr noundef %17493, ptr noundef %17496, i32 noundef %17498) #11
  br label %17500

17500:                                            ; preds = %17483, %17466
  call void @llvm.lifetime.end.p0(i64 4, ptr %423) #11
  br label %17501

17501:                                            ; preds = %17500
  br label %17502

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

17503:                                            ; No predecessors!
  br label %17504

17504:                                            ; preds = %17503
  br label %17505

17505:                                            ; preds = %17504, %17447
  br label %17506

17506:                                            ; preds = %17505
  br label %17507

17507:                                            ; preds = %17506
  br label %17508

17508:                                            ; preds = %17507
  %17509 = load i32, ptr @test_count, align 4, !tbaa !5
  %17510 = add nsw i32 %17509, 1
  store i32 %17510, ptr @test_count, align 4, !tbaa !5
  %17511 = load ptr, ptr %422, align 8, !tbaa !9
  %17512 = load ptr, ptr %406, align 8, !tbaa !9
  %17513 = call i32 @s2n_connection_set_config(ptr noundef %17511, ptr noundef %17512)
  %17514 = icmp eq i32 %17513, -1
  br i1 %17514, label %17515, label %17568

17515:                                            ; preds = %17508
  br label %17516

17516:                                            ; preds = %17515
  br label %17517

17517:                                            ; preds = %17516
  call void @llvm.lifetime.start.p0(i64 4, ptr %424) #11
  %17518 = call ptr @__errno_location() #12
  %17519 = load i32, ptr %17518, align 4, !tbaa !5
  store i32 %17519, ptr %424, align 4, !tbaa !5
  %17520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17521 = call i32 @s2n_print_stacktrace(ptr noundef %17520)
  %17522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17523 = trunc i8 %17522 to i1
  br i1 %17523, label %17524, label %17546

17524:                                            ; preds = %17517
  %17525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17526 = call i32 @fileno(ptr noundef %17525) #11
  %17527 = call i32 @isatty(i32 noundef %17526) #11
  %17528 = icmp ne i32 %17527, 0
  br i1 %17528, label %17529, label %17546

17529:                                            ; preds = %17524
  %17530 = load i32, ptr %424, align 4, !tbaa !5
  %17531 = call ptr @__errno_location() #12
  store i32 %17530, ptr %17531, align 4, !tbaa !5
  %17532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17533 = load i32, ptr @test_count, align 4, !tbaa !5
  %17534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17535 = load i32, ptr %17534, align 4, !tbaa !5
  %17536 = call ptr @s2n_strerror(i32 noundef %17535, ptr noundef @.str.25)
  %17537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17538 = load i32, ptr %17537, align 4, !tbaa !5
  %17539 = call ptr @s2n_strerror_debug(i32 noundef %17538, ptr noundef @.str.25)
  %17540 = call ptr @__errno_location() #12
  %17541 = load i32, ptr %17540, align 4, !tbaa !5
  %17542 = call ptr @strerror(i32 noundef %17541) #11
  %17543 = call ptr @__errno_location() #12
  %17544 = load i32, ptr %17543, align 4, !tbaa !5
  %17545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17532, ptr noundef @.str.23, i32 noundef %17533, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 893, ptr noundef %17536, ptr noundef %17539, ptr noundef %17542, i32 noundef %17544) #11
  br label %17563

17546:                                            ; preds = %17524, %17517
  %17547 = load i32, ptr %424, align 4, !tbaa !5
  %17548 = call ptr @__errno_location() #12
  store i32 %17547, ptr %17548, align 4, !tbaa !5
  %17549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17550 = load i32, ptr @test_count, align 4, !tbaa !5
  %17551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17552 = load i32, ptr %17551, align 4, !tbaa !5
  %17553 = call ptr @s2n_strerror(i32 noundef %17552, ptr noundef @.str.25)
  %17554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17555 = load i32, ptr %17554, align 4, !tbaa !5
  %17556 = call ptr @s2n_strerror_debug(i32 noundef %17555, ptr noundef @.str.25)
  %17557 = call ptr @__errno_location() #12
  %17558 = load i32, ptr %17557, align 4, !tbaa !5
  %17559 = call ptr @strerror(i32 noundef %17558) #11
  %17560 = call ptr @__errno_location() #12
  %17561 = load i32, ptr %17560, align 4, !tbaa !5
  %17562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17549, ptr noundef @.str.26, i32 noundef %17550, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 893, ptr noundef %17553, ptr noundef %17556, ptr noundef %17559, i32 noundef %17561) #11
  br label %17563

17563:                                            ; preds = %17546, %17529
  call void @llvm.lifetime.end.p0(i64 4, ptr %424) #11
  br label %17564

17564:                                            ; preds = %17563
  br label %17565

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

17566:                                            ; No predecessors!
  br label %17567

17567:                                            ; preds = %17566
  br label %17568

17568:                                            ; preds = %17567, %17508
  br label %17569

17569:                                            ; preds = %17568
  br label %17570

17570:                                            ; preds = %17569
  %17571 = load ptr, ptr %422, align 8, !tbaa !9
  %17572 = getelementptr inbounds %struct.s2n_connection, ptr %17571, i32 0, i32 23
  store i8 34, ptr %17572, align 4, !tbaa !17
  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 %17573

17573:                                            ; preds = %17570
  %17574 = load i32, ptr @test_count, align 4, !tbaa !5
  %17575 = add nsw i32 %17574, 1
  store i32 %17575, ptr @test_count, align 4, !tbaa !5
  %17576 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %425, i32 noundef 18)
  %17577 = icmp eq i32 %17576, -1
  br i1 %17577, label %17578, label %17631

17578:                                            ; preds = %17573
  br label %17579

17579:                                            ; preds = %17578
  br label %17580

17580:                                            ; preds = %17579
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #11
  %17581 = call ptr @__errno_location() #12
  %17582 = load i32, ptr %17581, align 4, !tbaa !5
  store i32 %17582, ptr %426, align 4, !tbaa !5
  %17583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17584 = call i32 @s2n_print_stacktrace(ptr noundef %17583)
  %17585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17586 = trunc i8 %17585 to i1
  br i1 %17586, label %17587, label %17609

17587:                                            ; preds = %17580
  %17588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17589 = call i32 @fileno(ptr noundef %17588) #11
  %17590 = call i32 @isatty(i32 noundef %17589) #11
  %17591 = icmp ne i32 %17590, 0
  br i1 %17591, label %17592, label %17609

17592:                                            ; preds = %17587
  %17593 = load i32, ptr %426, align 4, !tbaa !5
  %17594 = call ptr @__errno_location() #12
  store i32 %17593, ptr %17594, align 4, !tbaa !5
  %17595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17596 = load i32, ptr @test_count, align 4, !tbaa !5
  %17597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17598 = load i32, ptr %17597, align 4, !tbaa !5
  %17599 = call ptr @s2n_strerror(i32 noundef %17598, ptr noundef @.str.25)
  %17600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17601 = load i32, ptr %17600, align 4, !tbaa !5
  %17602 = call ptr @s2n_strerror_debug(i32 noundef %17601, ptr noundef @.str.25)
  %17603 = call ptr @__errno_location() #12
  %17604 = load i32, ptr %17603, align 4, !tbaa !5
  %17605 = call ptr @strerror(i32 noundef %17604) #11
  %17606 = call ptr @__errno_location() #12
  %17607 = load i32, ptr %17606, align 4, !tbaa !5
  %17608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17595, ptr noundef @.str.23, i32 noundef %17596, ptr noundef @.str.149, ptr noundef @.str.22, i32 noundef 897, ptr noundef %17599, ptr noundef %17602, ptr noundef %17605, i32 noundef %17607) #11
  br label %17626

17609:                                            ; preds = %17587, %17580
  %17610 = load i32, ptr %426, align 4, !tbaa !5
  %17611 = call ptr @__errno_location() #12
  store i32 %17610, ptr %17611, align 4, !tbaa !5
  %17612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17613 = load i32, ptr @test_count, align 4, !tbaa !5
  %17614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17615 = load i32, ptr %17614, align 4, !tbaa !5
  %17616 = call ptr @s2n_strerror(i32 noundef %17615, ptr noundef @.str.25)
  %17617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17618 = load i32, ptr %17617, align 4, !tbaa !5
  %17619 = call ptr @s2n_strerror_debug(i32 noundef %17618, ptr noundef @.str.25)
  %17620 = call ptr @__errno_location() #12
  %17621 = load i32, ptr %17620, align 4, !tbaa !5
  %17622 = call ptr @strerror(i32 noundef %17621) #11
  %17623 = call ptr @__errno_location() #12
  %17624 = load i32, ptr %17623, align 4, !tbaa !5
  %17625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17612, ptr noundef @.str.26, i32 noundef %17613, ptr noundef @.str.149, ptr noundef @.str.22, i32 noundef 897, ptr noundef %17616, ptr noundef %17619, ptr noundef %17622, i32 noundef %17624) #11
  br label %17626

17626:                                            ; preds = %17609, %17592
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #11
  br label %17627

17627:                                            ; preds = %17626
  br label %17628

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

17629:                                            ; No predecessors!
  br label %17630

17630:                                            ; preds = %17629
  br label %17631

17631:                                            ; preds = %17630, %17573
  br label %17632

17632:                                            ; preds = %17631
  br label %17633

17633:                                            ; preds = %17632
  br label %17634

17634:                                            ; preds = %17633
  %17635 = load i32, ptr @test_count, align 4, !tbaa !5
  %17636 = add nsw i32 %17635, 1
  store i32 %17636, ptr @test_count, align 4, !tbaa !5
  %17637 = call i32 @s2n_stuffer_write_uint32(ptr noundef %425, i32 noundef -1)
  %17638 = icmp eq i32 %17637, -1
  br i1 %17638, label %17639, label %17692

17639:                                            ; preds = %17634
  br label %17640

17640:                                            ; preds = %17639
  br label %17641

17641:                                            ; preds = %17640
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #11
  %17642 = call ptr @__errno_location() #12
  %17643 = load i32, ptr %17642, align 4, !tbaa !5
  store i32 %17643, ptr %427, align 4, !tbaa !5
  %17644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17645 = call i32 @s2n_print_stacktrace(ptr noundef %17644)
  %17646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17647 = trunc i8 %17646 to i1
  br i1 %17647, label %17648, label %17670

17648:                                            ; preds = %17641
  %17649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17650 = call i32 @fileno(ptr noundef %17649) #11
  %17651 = call i32 @isatty(i32 noundef %17650) #11
  %17652 = icmp ne i32 %17651, 0
  br i1 %17652, label %17653, label %17670

17653:                                            ; preds = %17648
  %17654 = load i32, ptr %427, align 4, !tbaa !5
  %17655 = call ptr @__errno_location() #12
  store i32 %17654, ptr %17655, align 4, !tbaa !5
  %17656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17657 = load i32, ptr @test_count, align 4, !tbaa !5
  %17658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17659 = load i32, ptr %17658, align 4, !tbaa !5
  %17660 = call ptr @s2n_strerror(i32 noundef %17659, ptr noundef @.str.25)
  %17661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17662 = load i32, ptr %17661, align 4, !tbaa !5
  %17663 = call ptr @s2n_strerror_debug(i32 noundef %17662, ptr noundef @.str.25)
  %17664 = call ptr @__errno_location() #12
  %17665 = load i32, ptr %17664, align 4, !tbaa !5
  %17666 = call ptr @strerror(i32 noundef %17665) #11
  %17667 = call ptr @__errno_location() #12
  %17668 = load i32, ptr %17667, align 4, !tbaa !5
  %17669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17656, ptr noundef @.str.23, i32 noundef %17657, ptr noundef @.str.154, ptr noundef @.str.22, i32 noundef 898, ptr noundef %17660, ptr noundef %17663, ptr noundef %17666, i32 noundef %17668) #11
  br label %17687

17670:                                            ; preds = %17648, %17641
  %17671 = load i32, ptr %427, align 4, !tbaa !5
  %17672 = call ptr @__errno_location() #12
  store i32 %17671, ptr %17672, align 4, !tbaa !5
  %17673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17674 = load i32, ptr @test_count, align 4, !tbaa !5
  %17675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17676 = load i32, ptr %17675, align 4, !tbaa !5
  %17677 = call ptr @s2n_strerror(i32 noundef %17676, ptr noundef @.str.25)
  %17678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17679 = load i32, ptr %17678, align 4, !tbaa !5
  %17680 = call ptr @s2n_strerror_debug(i32 noundef %17679, ptr noundef @.str.25)
  %17681 = call ptr @__errno_location() #12
  %17682 = load i32, ptr %17681, align 4, !tbaa !5
  %17683 = call ptr @strerror(i32 noundef %17682) #11
  %17684 = call ptr @__errno_location() #12
  %17685 = load i32, ptr %17684, align 4, !tbaa !5
  %17686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17673, ptr noundef @.str.26, i32 noundef %17674, ptr noundef @.str.154, ptr noundef @.str.22, i32 noundef 898, ptr noundef %17677, ptr noundef %17680, ptr noundef %17683, i32 noundef %17685) #11
  br label %17687

17687:                                            ; preds = %17670, %17653
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #11
  br label %17688

17688:                                            ; preds = %17687
  br label %17689

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

17690:                                            ; No predecessors!
  br label %17691

17691:                                            ; preds = %17690
  br label %17692

17692:                                            ; preds = %17691, %17634
  br label %17693

17693:                                            ; preds = %17692
  br label %17694

17694:                                            ; preds = %17693
  br label %17695

17695:                                            ; preds = %17694
  %17696 = load i32, ptr @test_count, align 4, !tbaa !5
  %17697 = add nsw i32 %17696, 1
  store i32 %17697, ptr @test_count, align 4, !tbaa !5
  %17698 = load ptr, ptr %404, align 8, !tbaa !9
  %17699 = call i32 @s2n_stuffer_write_bytes(ptr noundef %425, ptr noundef %17698, i32 noundef 14)
  %17700 = icmp eq i32 %17699, -1
  br i1 %17700, label %17701, label %17754

17701:                                            ; preds = %17695
  br label %17702

17702:                                            ; preds = %17701
  br label %17703

17703:                                            ; preds = %17702
  call void @llvm.lifetime.start.p0(i64 4, ptr %428) #11
  %17704 = call ptr @__errno_location() #12
  %17705 = load i32, ptr %17704, align 4, !tbaa !5
  store i32 %17705, ptr %428, align 4, !tbaa !5
  %17706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17707 = call i32 @s2n_print_stacktrace(ptr noundef %17706)
  %17708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17709 = trunc i8 %17708 to i1
  br i1 %17709, label %17710, label %17732

17710:                                            ; preds = %17703
  %17711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17712 = call i32 @fileno(ptr noundef %17711) #11
  %17713 = call i32 @isatty(i32 noundef %17712) #11
  %17714 = icmp ne i32 %17713, 0
  br i1 %17714, label %17715, label %17732

17715:                                            ; preds = %17710
  %17716 = load i32, ptr %428, align 4, !tbaa !5
  %17717 = call ptr @__errno_location() #12
  store i32 %17716, ptr %17717, align 4, !tbaa !5
  %17718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17719 = load i32, ptr @test_count, align 4, !tbaa !5
  %17720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17721 = load i32, ptr %17720, align 4, !tbaa !5
  %17722 = call ptr @s2n_strerror(i32 noundef %17721, ptr noundef @.str.25)
  %17723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17724 = load i32, ptr %17723, align 4, !tbaa !5
  %17725 = call ptr @s2n_strerror_debug(i32 noundef %17724, ptr noundef @.str.25)
  %17726 = call ptr @__errno_location() #12
  %17727 = load i32, ptr %17726, align 4, !tbaa !5
  %17728 = call ptr @strerror(i32 noundef %17727) #11
  %17729 = call ptr @__errno_location() #12
  %17730 = load i32, ptr %17729, align 4, !tbaa !5
  %17731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17718, ptr noundef @.str.23, i32 noundef %17719, ptr noundef @.str.151, ptr noundef @.str.22, i32 noundef 899, ptr noundef %17722, ptr noundef %17725, ptr noundef %17728, i32 noundef %17730) #11
  br label %17749

17732:                                            ; preds = %17710, %17703
  %17733 = load i32, ptr %428, align 4, !tbaa !5
  %17734 = call ptr @__errno_location() #12
  store i32 %17733, ptr %17734, align 4, !tbaa !5
  %17735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17736 = load i32, ptr @test_count, align 4, !tbaa !5
  %17737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17738 = load i32, ptr %17737, align 4, !tbaa !5
  %17739 = call ptr @s2n_strerror(i32 noundef %17738, ptr noundef @.str.25)
  %17740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17741 = load i32, ptr %17740, align 4, !tbaa !5
  %17742 = call ptr @s2n_strerror_debug(i32 noundef %17741, ptr noundef @.str.25)
  %17743 = call ptr @__errno_location() #12
  %17744 = load i32, ptr %17743, align 4, !tbaa !5
  %17745 = call ptr @strerror(i32 noundef %17744) #11
  %17746 = call ptr @__errno_location() #12
  %17747 = load i32, ptr %17746, align 4, !tbaa !5
  %17748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17735, ptr noundef @.str.26, i32 noundef %17736, ptr noundef @.str.151, ptr noundef @.str.22, i32 noundef 899, ptr noundef %17739, ptr noundef %17742, ptr noundef %17745, i32 noundef %17747) #11
  br label %17749

17749:                                            ; preds = %17732, %17715
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #11
  br label %17750

17750:                                            ; preds = %17749
  br label %17751

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

17752:                                            ; No predecessors!
  br label %17753

17753:                                            ; preds = %17752
  br label %17754

17754:                                            ; preds = %17753, %17695
  br label %17755

17755:                                            ; preds = %17754
  br label %17756

17756:                                            ; preds = %17755
  br label %17757

17757:                                            ; preds = %17756
  br label %17758

17758:                                            ; preds = %17757
  br label %17759

17759:                                            ; preds = %17758
  %17760 = load i32, ptr @test_count, align 4, !tbaa !5
  %17761 = add nsw i32 %17760, 1
  store i32 %17761, ptr @test_count, align 4, !tbaa !5
  %17762 = load ptr, ptr %422, align 8, !tbaa !9
  %17763 = call i32 @s2n_tls13_server_nst_recv(ptr noundef %17762, ptr noundef %425)
  %17764 = getelementptr inbounds %struct.s2n_result, ptr %429, i32 0, i32 0
  store i32 %17763, ptr %17764, align 4
  %17765 = getelementptr inbounds %struct.s2n_result, ptr %429, i32 0, i32 0
  %17766 = load i32, ptr %17765, align 4
  %17767 = call zeroext i1 @s2n_result_is_error(i32 %17766)
  br i1 %17767, label %17821, label %17768

17768:                                            ; preds = %17759
  br label %17769

17769:                                            ; preds = %17768
  br label %17770

17770:                                            ; preds = %17769
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #11
  %17771 = call ptr @__errno_location() #12
  %17772 = load i32, ptr %17771, align 4, !tbaa !5
  store i32 %17772, ptr %430, align 4, !tbaa !5
  %17773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17774 = call i32 @s2n_print_stacktrace(ptr noundef %17773)
  %17775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17776 = trunc i8 %17775 to i1
  br i1 %17776, label %17777, label %17799

17777:                                            ; preds = %17770
  %17778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17779 = call i32 @fileno(ptr noundef %17778) #11
  %17780 = call i32 @isatty(i32 noundef %17779) #11
  %17781 = icmp ne i32 %17780, 0
  br i1 %17781, label %17782, label %17799

17782:                                            ; preds = %17777
  %17783 = load i32, ptr %430, align 4, !tbaa !5
  %17784 = call ptr @__errno_location() #12
  store i32 %17783, ptr %17784, align 4, !tbaa !5
  %17785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17786 = load i32, ptr @test_count, align 4, !tbaa !5
  %17787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17788 = load i32, ptr %17787, align 4, !tbaa !5
  %17789 = call ptr @s2n_strerror(i32 noundef %17788, ptr noundef @.str.25)
  %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_debug(i32 noundef %17791, ptr noundef @.str.25)
  %17793 = call ptr @__errno_location() #12
  %17794 = load i32, ptr %17793, align 4, !tbaa !5
  %17795 = call ptr @strerror(i32 noundef %17794) #11
  %17796 = call ptr @__errno_location() #12
  %17797 = load i32, ptr %17796, align 4, !tbaa !5
  %17798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17785, ptr noundef @.str.23, i32 noundef %17786, ptr noundef @.str.117, ptr noundef @.str.22, i32 noundef 901, ptr noundef %17789, ptr noundef %17792, ptr noundef %17795, i32 noundef %17797) #11
  br label %17816

17799:                                            ; preds = %17777, %17770
  %17800 = load i32, ptr %430, align 4, !tbaa !5
  %17801 = call ptr @__errno_location() #12
  store i32 %17800, ptr %17801, align 4, !tbaa !5
  %17802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17803 = load i32, ptr @test_count, align 4, !tbaa !5
  %17804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17805 = load i32, ptr %17804, align 4, !tbaa !5
  %17806 = call ptr @s2n_strerror(i32 noundef %17805, ptr noundef @.str.25)
  %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_debug(i32 noundef %17808, ptr noundef @.str.25)
  %17810 = call ptr @__errno_location() #12
  %17811 = load i32, ptr %17810, align 4, !tbaa !5
  %17812 = call ptr @strerror(i32 noundef %17811) #11
  %17813 = call ptr @__errno_location() #12
  %17814 = load i32, ptr %17813, align 4, !tbaa !5
  %17815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17802, ptr noundef @.str.26, i32 noundef %17803, ptr noundef @.str.117, ptr noundef @.str.22, i32 noundef 901, ptr noundef %17806, ptr noundef %17809, ptr noundef %17812, i32 noundef %17814) #11
  br label %17816

17816:                                            ; preds = %17799, %17782
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #11
  br label %17817

17817:                                            ; preds = %17816
  br label %17818

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

17819:                                            ; No predecessors!
  br label %17820

17820:                                            ; preds = %17819
  br label %17821

17821:                                            ; preds = %17820, %17759
  br label %17822

17822:                                            ; preds = %17821
  br label %17823

17823:                                            ; preds = %17822
  br label %17824

17824:                                            ; preds = %17823
  %17825 = load i32, ptr @test_count, align 4, !tbaa !5
  %17826 = add nsw i32 %17825, 1
  store i32 %17826, ptr @test_count, align 4, !tbaa !5
  %17827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17828 = load i32, ptr %17827, align 4, !tbaa !5
  %17829 = icmp eq i32 %17828, 335544322
  br i1 %17829, label %17883, label %17830

17830:                                            ; preds = %17824
  br label %17831

17831:                                            ; preds = %17830
  br label %17832

17832:                                            ; preds = %17831
  call void @llvm.lifetime.start.p0(i64 4, ptr %431) #11
  %17833 = call ptr @__errno_location() #12
  %17834 = load i32, ptr %17833, align 4, !tbaa !5
  store i32 %17834, ptr %431, align 4, !tbaa !5
  %17835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17836 = call i32 @s2n_print_stacktrace(ptr noundef %17835)
  %17837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17838 = trunc i8 %17837 to i1
  br i1 %17838, label %17839, label %17861

17839:                                            ; preds = %17832
  %17840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17841 = call i32 @fileno(ptr noundef %17840) #11
  %17842 = call i32 @isatty(i32 noundef %17841) #11
  %17843 = icmp ne i32 %17842, 0
  br i1 %17843, label %17844, label %17861

17844:                                            ; preds = %17839
  %17845 = load i32, ptr %431, align 4, !tbaa !5
  %17846 = call ptr @__errno_location() #12
  store i32 %17845, ptr %17846, align 4, !tbaa !5
  %17847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17848 = load i32, ptr @test_count, align 4, !tbaa !5
  %17849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17850 = load i32, ptr %17849, align 4, !tbaa !5
  %17851 = call ptr @s2n_strerror(i32 noundef %17850, ptr noundef @.str.25)
  %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_debug(i32 noundef %17853, ptr noundef @.str.25)
  %17855 = call ptr @__errno_location() #12
  %17856 = load i32, ptr %17855, align 4, !tbaa !5
  %17857 = call ptr @strerror(i32 noundef %17856) #11
  %17858 = call ptr @__errno_location() #12
  %17859 = load i32, ptr %17858, align 4, !tbaa !5
  %17860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17847, ptr noundef @.str.23, i32 noundef %17848, ptr noundef @.str.118, ptr noundef @.str.22, i32 noundef 901, ptr noundef %17851, ptr noundef %17854, ptr noundef %17857, i32 noundef %17859) #11
  br label %17878

17861:                                            ; preds = %17839, %17832
  %17862 = load i32, ptr %431, align 4, !tbaa !5
  %17863 = call ptr @__errno_location() #12
  store i32 %17862, ptr %17863, align 4, !tbaa !5
  %17864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17865 = load i32, ptr @test_count, align 4, !tbaa !5
  %17866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17867 = load i32, ptr %17866, align 4, !tbaa !5
  %17868 = call ptr @s2n_strerror(i32 noundef %17867, ptr noundef @.str.25)
  %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_debug(i32 noundef %17870, ptr noundef @.str.25)
  %17872 = call ptr @__errno_location() #12
  %17873 = load i32, ptr %17872, align 4, !tbaa !5
  %17874 = call ptr @strerror(i32 noundef %17873) #11
  %17875 = call ptr @__errno_location() #12
  %17876 = load i32, ptr %17875, align 4, !tbaa !5
  %17877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17864, ptr noundef @.str.26, i32 noundef %17865, ptr noundef @.str.118, ptr noundef @.str.22, i32 noundef 901, ptr noundef %17868, ptr noundef %17871, ptr noundef %17874, i32 noundef %17876) #11
  br label %17878

17878:                                            ; preds = %17861, %17844
  call void @llvm.lifetime.end.p0(i64 4, ptr %431) #11
  br label %17879

17879:                                            ; preds = %17878
  br label %17880

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

17881:                                            ; No predecessors!
  br label %17882

17882:                                            ; preds = %17881
  br label %17883

17883:                                            ; preds = %17882, %17824
  br label %17884

17884:                                            ; preds = %17883
  br label %17885

17885:                                            ; preds = %17884
  br label %17886

17886:                                            ; preds = %17885
  %17887 = load i32, ptr @test_count, align 4, !tbaa !5
  %17888 = add nsw i32 %17887, 1
  store i32 %17888, ptr @test_count, align 4, !tbaa !5
  %17889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17890 = load i32, ptr %17889, align 4, !tbaa !5
  %17891 = call ptr @s2n_strerror_debug(i32 noundef %17890, ptr noundef @.str.25)
  %17892 = icmp eq ptr %17891, null
  br i1 %17892, label %17893, label %17946

17893:                                            ; preds = %17886
  br label %17894

17894:                                            ; preds = %17893
  br label %17895

17895:                                            ; preds = %17894
  call void @llvm.lifetime.start.p0(i64 4, ptr %432) #11
  %17896 = call ptr @__errno_location() #12
  %17897 = load i32, ptr %17896, align 4, !tbaa !5
  store i32 %17897, ptr %432, align 4, !tbaa !5
  %17898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17899 = call i32 @s2n_print_stacktrace(ptr noundef %17898)
  %17900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17901 = trunc i8 %17900 to i1
  br i1 %17901, label %17902, label %17924

17902:                                            ; preds = %17895
  %17903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17904 = call i32 @fileno(ptr noundef %17903) #11
  %17905 = call i32 @isatty(i32 noundef %17904) #11
  %17906 = icmp ne i32 %17905, 0
  br i1 %17906, label %17907, label %17924

17907:                                            ; preds = %17902
  %17908 = load i32, ptr %432, align 4, !tbaa !5
  %17909 = call ptr @__errno_location() #12
  store i32 %17908, ptr %17909, align 4, !tbaa !5
  %17910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17911 = load i32, ptr @test_count, align 4, !tbaa !5
  %17912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17913 = load i32, ptr %17912, align 4, !tbaa !5
  %17914 = call ptr @s2n_strerror(i32 noundef %17913, ptr noundef @.str.25)
  %17915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17916 = load i32, ptr %17915, align 4, !tbaa !5
  %17917 = call ptr @s2n_strerror_debug(i32 noundef %17916, ptr noundef @.str.25)
  %17918 = call ptr @__errno_location() #12
  %17919 = load i32, ptr %17918, align 4, !tbaa !5
  %17920 = call ptr @strerror(i32 noundef %17919) #11
  %17921 = call ptr @__errno_location() #12
  %17922 = load i32, ptr %17921, align 4, !tbaa !5
  %17923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17910, ptr noundef @.str.23, i32 noundef %17911, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 901, ptr noundef %17914, ptr noundef %17917, ptr noundef %17920, i32 noundef %17922) #11
  br label %17941

17924:                                            ; preds = %17902, %17895
  %17925 = load i32, ptr %432, align 4, !tbaa !5
  %17926 = call ptr @__errno_location() #12
  store i32 %17925, ptr %17926, align 4, !tbaa !5
  %17927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17928 = load i32, ptr @test_count, align 4, !tbaa !5
  %17929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17930 = load i32, ptr %17929, align 4, !tbaa !5
  %17931 = call ptr @s2n_strerror(i32 noundef %17930, ptr noundef @.str.25)
  %17932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17933 = load i32, ptr %17932, align 4, !tbaa !5
  %17934 = call ptr @s2n_strerror_debug(i32 noundef %17933, ptr noundef @.str.25)
  %17935 = call ptr @__errno_location() #12
  %17936 = load i32, ptr %17935, align 4, !tbaa !5
  %17937 = call ptr @strerror(i32 noundef %17936) #11
  %17938 = call ptr @__errno_location() #12
  %17939 = load i32, ptr %17938, align 4, !tbaa !5
  %17940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17927, ptr noundef @.str.26, i32 noundef %17928, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 901, ptr noundef %17931, ptr noundef %17934, ptr noundef %17937, i32 noundef %17939) #11
  br label %17941

17941:                                            ; preds = %17924, %17907
  call void @llvm.lifetime.end.p0(i64 4, ptr %432) #11
  br label %17942

17942:                                            ; preds = %17941
  br label %17943

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

17944:                                            ; No predecessors!
  br label %17945

17945:                                            ; preds = %17944
  br label %17946

17946:                                            ; preds = %17945, %17886
  br label %17947

17947:                                            ; preds = %17946
  br label %17948

17948:                                            ; preds = %17947
  br label %17949

17949:                                            ; preds = %17948
  br label %17950

17950:                                            ; preds = %17949
  br label %17951

17951:                                            ; preds = %17950
  %17952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17952, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17953 = call ptr @__errno_location() #12
  store i32 0, ptr %17953, align 4, !tbaa !5
  br label %17954

17954:                                            ; preds = %17951
  br label %17955

17955:                                            ; preds = %17954
  br label %17956

17956:                                            ; preds = %17955
  br label %17957

17957:                                            ; preds = %17956
  br label %17958

17958:                                            ; preds = %17957
  %17959 = load i32, ptr @test_count, align 4, !tbaa !5
  %17960 = add nsw i32 %17959, 1
  store i32 %17960, ptr @test_count, align 4, !tbaa !5
  %17961 = getelementptr inbounds %struct.s2n_stuffer, ptr %425, i32 0, i32 2
  %17962 = load i32, ptr %17961, align 4, !tbaa !52
  %17963 = getelementptr inbounds %struct.s2n_stuffer, ptr %425, i32 0, i32 1
  %17964 = load i32, ptr %17963, align 8, !tbaa !53
  %17965 = sub i32 %17962, %17964
  %17966 = zext i32 %17965 to i64
  %17967 = icmp eq i64 %17966, 14
  br i1 %17967, label %18021, label %17968

17968:                                            ; preds = %17958
  br label %17969

17969:                                            ; preds = %17968
  br label %17970

17970:                                            ; preds = %17969
  call void @llvm.lifetime.start.p0(i64 4, ptr %433) #11
  %17971 = call ptr @__errno_location() #12
  %17972 = load i32, ptr %17971, align 4, !tbaa !5
  store i32 %17972, ptr %433, align 4, !tbaa !5
  %17973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17974 = call i32 @s2n_print_stacktrace(ptr noundef %17973)
  %17975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17976 = trunc i8 %17975 to i1
  br i1 %17976, label %17977, label %17999

17977:                                            ; preds = %17970
  %17978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17979 = call i32 @fileno(ptr noundef %17978) #11
  %17980 = call i32 @isatty(i32 noundef %17979) #11
  %17981 = icmp ne i32 %17980, 0
  br i1 %17981, label %17982, label %17999

17982:                                            ; preds = %17977
  %17983 = load i32, ptr %433, align 4, !tbaa !5
  %17984 = call ptr @__errno_location() #12
  store i32 %17983, ptr %17984, align 4, !tbaa !5
  %17985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17986 = load i32, ptr @test_count, align 4, !tbaa !5
  %17987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17988 = load i32, ptr %17987, align 4, !tbaa !5
  %17989 = call ptr @s2n_strerror(i32 noundef %17988, ptr noundef @.str.25)
  %17990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17991 = load i32, ptr %17990, align 4, !tbaa !5
  %17992 = call ptr @s2n_strerror_debug(i32 noundef %17991, ptr noundef @.str.25)
  %17993 = call ptr @__errno_location() #12
  %17994 = load i32, ptr %17993, align 4, !tbaa !5
  %17995 = call ptr @strerror(i32 noundef %17994) #11
  %17996 = call ptr @__errno_location() #12
  %17997 = load i32, ptr %17996, align 4, !tbaa !5
  %17998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17985, ptr noundef @.str.23, i32 noundef %17986, ptr noundef @.str.152, ptr noundef @.str.22, i32 noundef 903, ptr noundef %17989, ptr noundef %17992, ptr noundef %17995, i32 noundef %17997) #11
  br label %18016

17999:                                            ; preds = %17977, %17970
  %18000 = load i32, ptr %433, align 4, !tbaa !5
  %18001 = call ptr @__errno_location() #12
  store i32 %18000, ptr %18001, align 4, !tbaa !5
  %18002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18003 = load i32, ptr @test_count, align 4, !tbaa !5
  %18004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18005 = load i32, ptr %18004, align 4, !tbaa !5
  %18006 = call ptr @s2n_strerror(i32 noundef %18005, ptr noundef @.str.25)
  %18007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18008 = load i32, ptr %18007, align 4, !tbaa !5
  %18009 = call ptr @s2n_strerror_debug(i32 noundef %18008, ptr noundef @.str.25)
  %18010 = call ptr @__errno_location() #12
  %18011 = load i32, ptr %18010, align 4, !tbaa !5
  %18012 = call ptr @strerror(i32 noundef %18011) #11
  %18013 = call ptr @__errno_location() #12
  %18014 = load i32, ptr %18013, align 4, !tbaa !5
  %18015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18002, ptr noundef @.str.26, i32 noundef %18003, ptr noundef @.str.152, ptr noundef @.str.22, i32 noundef 903, ptr noundef %18006, ptr noundef %18009, ptr noundef %18012, i32 noundef %18014) #11
  br label %18016

18016:                                            ; preds = %17999, %17982
  call void @llvm.lifetime.end.p0(i64 4, ptr %433) #11
  br label %18017

18017:                                            ; preds = %18016
  br label %18018

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

18019:                                            ; No predecessors!
  br label %18020

18020:                                            ; preds = %18019
  br label %18021

18021:                                            ; preds = %18020, %17958
  br label %18022

18022:                                            ; preds = %18021
  br label %18023

18023:                                            ; preds = %18022
  br label %18024

18024:                                            ; preds = %18023
  %18025 = load i32, ptr @test_count, align 4, !tbaa !5
  %18026 = add nsw i32 %18025, 1
  store i32 %18026, ptr @test_count, align 4, !tbaa !5
  %18027 = load ptr, ptr %422, align 8, !tbaa !9
  %18028 = call i32 @s2n_connection_get_session_length(ptr noundef %18027)
  %18029 = icmp eq i32 %18028, 0
  br i1 %18029, label %18083, label %18030

18030:                                            ; preds = %18024
  br label %18031

18031:                                            ; preds = %18030
  br label %18032

18032:                                            ; preds = %18031
  call void @llvm.lifetime.start.p0(i64 4, ptr %434) #11
  %18033 = call ptr @__errno_location() #12
  %18034 = load i32, ptr %18033, align 4, !tbaa !5
  store i32 %18034, ptr %434, align 4, !tbaa !5
  %18035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18036 = call i32 @s2n_print_stacktrace(ptr noundef %18035)
  %18037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18038 = trunc i8 %18037 to i1
  br i1 %18038, label %18039, label %18061

18039:                                            ; preds = %18032
  %18040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18041 = call i32 @fileno(ptr noundef %18040) #11
  %18042 = call i32 @isatty(i32 noundef %18041) #11
  %18043 = icmp ne i32 %18042, 0
  br i1 %18043, label %18044, label %18061

18044:                                            ; preds = %18039
  %18045 = load i32, ptr %434, align 4, !tbaa !5
  %18046 = call ptr @__errno_location() #12
  store i32 %18045, ptr %18046, align 4, !tbaa !5
  %18047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18048 = load i32, ptr @test_count, align 4, !tbaa !5
  %18049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18050 = load i32, ptr %18049, align 4, !tbaa !5
  %18051 = call ptr @s2n_strerror(i32 noundef %18050, ptr noundef @.str.25)
  %18052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18053 = load i32, ptr %18052, align 4, !tbaa !5
  %18054 = call ptr @s2n_strerror_debug(i32 noundef %18053, ptr noundef @.str.25)
  %18055 = call ptr @__errno_location() #12
  %18056 = load i32, ptr %18055, align 4, !tbaa !5
  %18057 = call ptr @strerror(i32 noundef %18056) #11
  %18058 = call ptr @__errno_location() #12
  %18059 = load i32, ptr %18058, align 4, !tbaa !5
  %18060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18047, ptr noundef @.str.23, i32 noundef %18048, ptr noundef @.str.153, ptr noundef @.str.22, i32 noundef 905, ptr noundef %18051, ptr noundef %18054, ptr noundef %18057, i32 noundef %18059) #11
  br label %18078

18061:                                            ; preds = %18039, %18032
  %18062 = load i32, ptr %434, align 4, !tbaa !5
  %18063 = call ptr @__errno_location() #12
  store i32 %18062, ptr %18063, align 4, !tbaa !5
  %18064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18065 = load i32, ptr @test_count, align 4, !tbaa !5
  %18066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18067 = load i32, ptr %18066, align 4, !tbaa !5
  %18068 = call ptr @s2n_strerror(i32 noundef %18067, ptr noundef @.str.25)
  %18069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18070 = load i32, ptr %18069, align 4, !tbaa !5
  %18071 = call ptr @s2n_strerror_debug(i32 noundef %18070, ptr noundef @.str.25)
  %18072 = call ptr @__errno_location() #12
  %18073 = load i32, ptr %18072, align 4, !tbaa !5
  %18074 = call ptr @strerror(i32 noundef %18073) #11
  %18075 = call ptr @__errno_location() #12
  %18076 = load i32, ptr %18075, align 4, !tbaa !5
  %18077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18064, ptr noundef @.str.26, i32 noundef %18065, ptr noundef @.str.153, ptr noundef @.str.22, i32 noundef 905, ptr noundef %18068, ptr noundef %18071, ptr noundef %18074, i32 noundef %18076) #11
  br label %18078

18078:                                            ; preds = %18061, %18044
  call void @llvm.lifetime.end.p0(i64 4, ptr %434) #11
  br label %18079

18079:                                            ; preds = %18078
  br label %18080

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

18081:                                            ; No predecessors!
  br label %18082

18082:                                            ; preds = %18081
  br label %18083

18083:                                            ; preds = %18082, %18024
  br label %18084

18084:                                            ; preds = %18083
  br label %18085

18085:                                            ; preds = %18084
  br label %18086

18086:                                            ; preds = %18085
  %18087 = load i32, ptr @test_count, align 4, !tbaa !5
  %18088 = add nsw i32 %18087, 1
  store i32 %18088, ptr @test_count, align 4, !tbaa !5
  %18089 = load ptr, ptr %422, align 8, !tbaa !9
  %18090 = call i32 @s2n_connection_free(ptr noundef %18089)
  %18091 = icmp eq i32 %18090, -1
  br i1 %18091, label %18092, label %18145

18092:                                            ; preds = %18086
  br label %18093

18093:                                            ; preds = %18092
  br label %18094

18094:                                            ; preds = %18093
  call void @llvm.lifetime.start.p0(i64 4, ptr %435) #11
  %18095 = call ptr @__errno_location() #12
  %18096 = load i32, ptr %18095, align 4, !tbaa !5
  store i32 %18096, ptr %435, align 4, !tbaa !5
  %18097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18098 = call i32 @s2n_print_stacktrace(ptr noundef %18097)
  %18099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18100 = trunc i8 %18099 to i1
  br i1 %18100, label %18101, label %18123

18101:                                            ; preds = %18094
  %18102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18103 = call i32 @fileno(ptr noundef %18102) #11
  %18104 = call i32 @isatty(i32 noundef %18103) #11
  %18105 = icmp ne i32 %18104, 0
  br i1 %18105, label %18106, label %18123

18106:                                            ; preds = %18101
  %18107 = load i32, ptr %435, align 4, !tbaa !5
  %18108 = call ptr @__errno_location() #12
  store i32 %18107, ptr %18108, align 4, !tbaa !5
  %18109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18110 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18112, ptr noundef @.str.25)
  %18114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18115 = load i32, ptr %18114, align 4, !tbaa !5
  %18116 = call ptr @s2n_strerror_debug(i32 noundef %18115, ptr noundef @.str.25)
  %18117 = call ptr @__errno_location() #12
  %18118 = load i32, ptr %18117, align 4, !tbaa !5
  %18119 = call ptr @strerror(i32 noundef %18118) #11
  %18120 = call ptr @__errno_location() #12
  %18121 = load i32, ptr %18120, align 4, !tbaa !5
  %18122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18109, ptr noundef @.str.23, i32 noundef %18110, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 907, ptr noundef %18113, ptr noundef %18116, ptr noundef %18119, i32 noundef %18121) #11
  br label %18140

18123:                                            ; preds = %18101, %18094
  %18124 = load i32, ptr %435, align 4, !tbaa !5
  %18125 = call ptr @__errno_location() #12
  store i32 %18124, ptr %18125, align 4, !tbaa !5
  %18126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18127 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18129, ptr noundef @.str.25)
  %18131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18132 = load i32, ptr %18131, align 4, !tbaa !5
  %18133 = call ptr @s2n_strerror_debug(i32 noundef %18132, ptr noundef @.str.25)
  %18134 = call ptr @__errno_location() #12
  %18135 = load i32, ptr %18134, align 4, !tbaa !5
  %18136 = call ptr @strerror(i32 noundef %18135) #11
  %18137 = call ptr @__errno_location() #12
  %18138 = load i32, ptr %18137, align 4, !tbaa !5
  %18139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18126, ptr noundef @.str.26, i32 noundef %18127, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 907, ptr noundef %18130, ptr noundef %18133, ptr noundef %18136, i32 noundef %18138) #11
  br label %18140

18140:                                            ; preds = %18123, %18106
  call void @llvm.lifetime.end.p0(i64 4, ptr %435) #11
  br label %18141

18141:                                            ; preds = %18140
  br label %18142

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

18143:                                            ; No predecessors!
  br label %18144

18144:                                            ; preds = %18143
  br label %18145

18145:                                            ; preds = %18144, %18086
  br label %18146

18146:                                            ; preds = %18145
  br label %18147

18147:                                            ; preds = %18146
  %18148 = call i32 @s2n_stuffer_free(ptr noundef %425)
  call void @llvm.lifetime.end.p0(i64 40, ptr %425) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %422) #11
  br label %18149

18149:                                            ; preds = %18147
  %18150 = load i32, ptr @test_count, align 4, !tbaa !5
  %18151 = add nsw i32 %18150, 1
  store i32 %18151, ptr @test_count, align 4, !tbaa !5
  %18152 = load ptr, ptr %406, align 8, !tbaa !9
  %18153 = call i32 @s2n_config_free(ptr noundef %18152)
  %18154 = icmp eq i32 %18153, -1
  br i1 %18154, label %18155, label %18208

18155:                                            ; preds = %18149
  br label %18156

18156:                                            ; preds = %18155
  br label %18157

18157:                                            ; preds = %18156
  call void @llvm.lifetime.start.p0(i64 4, ptr %436) #11
  %18158 = call ptr @__errno_location() #12
  %18159 = load i32, ptr %18158, align 4, !tbaa !5
  store i32 %18159, ptr %436, align 4, !tbaa !5
  %18160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18161 = call i32 @s2n_print_stacktrace(ptr noundef %18160)
  %18162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18163 = trunc i8 %18162 to i1
  br i1 %18163, label %18164, label %18186

18164:                                            ; preds = %18157
  %18165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18166 = call i32 @fileno(ptr noundef %18165) #11
  %18167 = call i32 @isatty(i32 noundef %18166) #11
  %18168 = icmp ne i32 %18167, 0
  br i1 %18168, label %18169, label %18186

18169:                                            ; preds = %18164
  %18170 = load i32, ptr %436, align 4, !tbaa !5
  %18171 = call ptr @__errno_location() #12
  store i32 %18170, ptr %18171, align 4, !tbaa !5
  %18172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18173 = load i32, ptr @test_count, align 4, !tbaa !5
  %18174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18175 = load i32, ptr %18174, align 4, !tbaa !5
  %18176 = call ptr @s2n_strerror(i32 noundef %18175, ptr noundef @.str.25)
  %18177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18178 = load i32, ptr %18177, align 4, !tbaa !5
  %18179 = call ptr @s2n_strerror_debug(i32 noundef %18178, ptr noundef @.str.25)
  %18180 = call ptr @__errno_location() #12
  %18181 = load i32, ptr %18180, align 4, !tbaa !5
  %18182 = call ptr @strerror(i32 noundef %18181) #11
  %18183 = call ptr @__errno_location() #12
  %18184 = load i32, ptr %18183, align 4, !tbaa !5
  %18185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18172, ptr noundef @.str.23, i32 noundef %18173, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 910, ptr noundef %18176, ptr noundef %18179, ptr noundef %18182, i32 noundef %18184) #11
  br label %18203

18186:                                            ; preds = %18164, %18157
  %18187 = load i32, ptr %436, align 4, !tbaa !5
  %18188 = call ptr @__errno_location() #12
  store i32 %18187, ptr %18188, align 4, !tbaa !5
  %18189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18190 = load i32, ptr @test_count, align 4, !tbaa !5
  %18191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18192 = load i32, ptr %18191, align 4, !tbaa !5
  %18193 = call ptr @s2n_strerror(i32 noundef %18192, ptr noundef @.str.25)
  %18194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18195 = load i32, ptr %18194, align 4, !tbaa !5
  %18196 = call ptr @s2n_strerror_debug(i32 noundef %18195, ptr noundef @.str.25)
  %18197 = call ptr @__errno_location() #12
  %18198 = load i32, ptr %18197, align 4, !tbaa !5
  %18199 = call ptr @strerror(i32 noundef %18198) #11
  %18200 = call ptr @__errno_location() #12
  %18201 = load i32, ptr %18200, align 4, !tbaa !5
  %18202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18189, ptr noundef @.str.26, i32 noundef %18190, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 910, ptr noundef %18193, ptr noundef %18196, ptr noundef %18199, i32 noundef %18201) #11
  br label %18203

18203:                                            ; preds = %18186, %18169
  call void @llvm.lifetime.end.p0(i64 4, ptr %436) #11
  br label %18204

18204:                                            ; preds = %18203
  br label %18205

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

18206:                                            ; No predecessors!
  br label %18207

18207:                                            ; preds = %18206
  br label %18208

18208:                                            ; preds = %18207, %18149
  br label %18209

18209:                                            ; preds = %18208
  br label %18210

18210:                                            ; preds = %18209
  call void @llvm.lifetime.end.p0(i64 8, ptr %406) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %405) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %404) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %403) #11
  store i32 0, ptr %223, align 4
  br label %18211

18211:                                            ; preds = %18210, %13262
  call void @llvm.lifetime.end.p0(i64 18, ptr %236) #11
  call void @llvm.lifetime.end.p0(i64 3, ptr %235) #11
  %18212 = load i32, ptr %223, align 4
  switch i32 %18212, label %34421 [
    i32 0, label %18213
    i32 1, label %34419
  ]

18213:                                            ; preds = %18211
  call void @llvm.lifetime.start.p0(i64 8, ptr %437) #11
  %18214 = call ptr @s2n_config_new()
  store ptr %18214, ptr %437, align 8, !tbaa !9
  br label %18215

18215:                                            ; preds = %18213
  %18216 = load i32, ptr @test_count, align 4, !tbaa !5
  %18217 = add nsw i32 %18216, 1
  store i32 %18217, ptr @test_count, align 4, !tbaa !5
  %18218 = load ptr, ptr %437, align 8, !tbaa !9
  %18219 = icmp eq ptr %18218, null
  br i1 %18219, label %18220, label %18273

18220:                                            ; preds = %18215
  br label %18221

18221:                                            ; preds = %18220
  br label %18222

18222:                                            ; preds = %18221
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #11
  %18223 = call ptr @__errno_location() #12
  %18224 = load i32, ptr %18223, align 4, !tbaa !5
  store i32 %18224, ptr %438, align 4, !tbaa !5
  %18225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18226 = call i32 @s2n_print_stacktrace(ptr noundef %18225)
  %18227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18228 = trunc i8 %18227 to i1
  br i1 %18228, label %18229, label %18251

18229:                                            ; preds = %18222
  %18230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18231 = call i32 @fileno(ptr noundef %18230) #11
  %18232 = call i32 @isatty(i32 noundef %18231) #11
  %18233 = icmp ne i32 %18232, 0
  br i1 %18233, label %18234, label %18251

18234:                                            ; preds = %18229
  %18235 = load i32, ptr %438, align 4, !tbaa !5
  %18236 = call ptr @__errno_location() #12
  store i32 %18235, ptr %18236, align 4, !tbaa !5
  %18237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18238 = load i32, ptr @test_count, align 4, !tbaa !5
  %18239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18240 = load i32, ptr %18239, align 4, !tbaa !5
  %18241 = call ptr @s2n_strerror(i32 noundef %18240, ptr noundef @.str.25)
  %18242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18243 = load i32, ptr %18242, align 4, !tbaa !5
  %18244 = call ptr @s2n_strerror_debug(i32 noundef %18243, ptr noundef @.str.25)
  %18245 = call ptr @__errno_location() #12
  %18246 = load i32, ptr %18245, align 4, !tbaa !5
  %18247 = call ptr @strerror(i32 noundef %18246) #11
  %18248 = call ptr @__errno_location() #12
  %18249 = load i32, ptr %18248, align 4, !tbaa !5
  %18250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18237, ptr noundef @.str.23, i32 noundef %18238, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 919, ptr noundef %18241, ptr noundef %18244, ptr noundef %18247, i32 noundef %18249) #11
  br label %18268

18251:                                            ; preds = %18229, %18222
  %18252 = load i32, ptr %438, align 4, !tbaa !5
  %18253 = call ptr @__errno_location() #12
  store i32 %18252, ptr %18253, align 4, !tbaa !5
  %18254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18255 = load i32, ptr @test_count, align 4, !tbaa !5
  %18256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18257 = load i32, ptr %18256, align 4, !tbaa !5
  %18258 = call ptr @s2n_strerror(i32 noundef %18257, ptr noundef @.str.25)
  %18259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18260 = load i32, ptr %18259, align 4, !tbaa !5
  %18261 = call ptr @s2n_strerror_debug(i32 noundef %18260, ptr noundef @.str.25)
  %18262 = call ptr @__errno_location() #12
  %18263 = load i32, ptr %18262, align 4, !tbaa !5
  %18264 = call ptr @strerror(i32 noundef %18263) #11
  %18265 = call ptr @__errno_location() #12
  %18266 = load i32, ptr %18265, align 4, !tbaa !5
  %18267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18254, ptr noundef @.str.26, i32 noundef %18255, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 919, ptr noundef %18258, ptr noundef %18261, ptr noundef %18264, i32 noundef %18266) #11
  br label %18268

18268:                                            ; preds = %18251, %18234
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #11
  br label %18269

18269:                                            ; preds = %18268
  br label %18270

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

18271:                                            ; No predecessors!
  br label %18272

18272:                                            ; preds = %18271
  br label %18273

18273:                                            ; preds = %18272, %18215
  br label %18274

18274:                                            ; preds = %18273
  br label %18275

18275:                                            ; preds = %18274
  call void @llvm.lifetime.start.p0(i64 8, ptr %439) #11
  %18276 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18276, ptr %439, align 8, !tbaa !9
  br label %18277

18277:                                            ; preds = %18275
  %18278 = load i32, ptr @test_count, align 4, !tbaa !5
  %18279 = add nsw i32 %18278, 1
  store i32 %18279, ptr @test_count, align 4, !tbaa !5
  %18280 = load ptr, ptr %439, align 8, !tbaa !9
  %18281 = icmp eq ptr %18280, null
  br i1 %18281, label %18282, label %18335

18282:                                            ; preds = %18277
  br label %18283

18283:                                            ; preds = %18282
  br label %18284

18284:                                            ; preds = %18283
  call void @llvm.lifetime.start.p0(i64 4, ptr %440) #11
  %18285 = call ptr @__errno_location() #12
  %18286 = load i32, ptr %18285, align 4, !tbaa !5
  store i32 %18286, ptr %440, align 4, !tbaa !5
  %18287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18288 = call i32 @s2n_print_stacktrace(ptr noundef %18287)
  %18289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18290 = trunc i8 %18289 to i1
  br i1 %18290, label %18291, label %18313

18291:                                            ; preds = %18284
  %18292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18293 = call i32 @fileno(ptr noundef %18292) #11
  %18294 = call i32 @isatty(i32 noundef %18293) #11
  %18295 = icmp ne i32 %18294, 0
  br i1 %18295, label %18296, label %18313

18296:                                            ; preds = %18291
  %18297 = load i32, ptr %440, align 4, !tbaa !5
  %18298 = call ptr @__errno_location() #12
  store i32 %18297, ptr %18298, align 4, !tbaa !5
  %18299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18300 = load i32, ptr @test_count, align 4, !tbaa !5
  %18301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18302 = load i32, ptr %18301, align 4, !tbaa !5
  %18303 = call ptr @s2n_strerror(i32 noundef %18302, ptr noundef @.str.25)
  %18304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18305 = load i32, ptr %18304, align 4, !tbaa !5
  %18306 = call ptr @s2n_strerror_debug(i32 noundef %18305, ptr noundef @.str.25)
  %18307 = call ptr @__errno_location() #12
  %18308 = load i32, ptr %18307, align 4, !tbaa !5
  %18309 = call ptr @strerror(i32 noundef %18308) #11
  %18310 = call ptr @__errno_location() #12
  %18311 = load i32, ptr %18310, align 4, !tbaa !5
  %18312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18299, ptr noundef @.str.23, i32 noundef %18300, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 922, ptr noundef %18303, ptr noundef %18306, ptr noundef %18309, i32 noundef %18311) #11
  br label %18330

18313:                                            ; preds = %18291, %18284
  %18314 = load i32, ptr %440, align 4, !tbaa !5
  %18315 = call ptr @__errno_location() #12
  store i32 %18314, ptr %18315, align 4, !tbaa !5
  %18316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18317 = load i32, ptr @test_count, align 4, !tbaa !5
  %18318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18319 = load i32, ptr %18318, align 4, !tbaa !5
  %18320 = call ptr @s2n_strerror(i32 noundef %18319, ptr noundef @.str.25)
  %18321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18322 = load i32, ptr %18321, align 4, !tbaa !5
  %18323 = call ptr @s2n_strerror_debug(i32 noundef %18322, ptr noundef @.str.25)
  %18324 = call ptr @__errno_location() #12
  %18325 = load i32, ptr %18324, align 4, !tbaa !5
  %18326 = call ptr @strerror(i32 noundef %18325) #11
  %18327 = call ptr @__errno_location() #12
  %18328 = load i32, ptr %18327, align 4, !tbaa !5
  %18329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18316, ptr noundef @.str.26, i32 noundef %18317, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 922, ptr noundef %18320, ptr noundef %18323, ptr noundef %18326, i32 noundef %18328) #11
  br label %18330

18330:                                            ; preds = %18313, %18296
  call void @llvm.lifetime.end.p0(i64 4, ptr %440) #11
  br label %18331

18331:                                            ; preds = %18330
  br label %18332

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

18333:                                            ; No predecessors!
  br label %18334

18334:                                            ; preds = %18333
  br label %18335

18335:                                            ; preds = %18334, %18277
  br label %18336

18336:                                            ; preds = %18335
  br label %18337

18337:                                            ; preds = %18336
  br label %18338

18338:                                            ; preds = %18337
  %18339 = load i32, ptr @test_count, align 4, !tbaa !5
  %18340 = add nsw i32 %18339, 1
  store i32 %18340, ptr @test_count, align 4, !tbaa !5
  %18341 = load ptr, ptr %437, align 8, !tbaa !9
  %18342 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %18341)
  %18343 = getelementptr inbounds %struct.s2n_result, ptr %441, i32 0, i32 0
  store i32 %18342, ptr %18343, align 4
  %18344 = getelementptr inbounds %struct.s2n_result, ptr %441, i32 0, i32 0
  %18345 = load i32, ptr %18344, align 4
  %18346 = call zeroext i1 @s2n_result_is_ok(i32 %18345)
  br i1 %18346, label %18400, label %18347

18347:                                            ; preds = %18338
  br label %18348

18348:                                            ; preds = %18347
  br label %18349

18349:                                            ; preds = %18348
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #11
  %18350 = call ptr @__errno_location() #12
  %18351 = load i32, ptr %18350, align 4, !tbaa !5
  store i32 %18351, ptr %442, align 4, !tbaa !5
  %18352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18353 = call i32 @s2n_print_stacktrace(ptr noundef %18352)
  %18354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18355 = trunc i8 %18354 to i1
  br i1 %18355, label %18356, label %18378

18356:                                            ; preds = %18349
  %18357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18358 = call i32 @fileno(ptr noundef %18357) #11
  %18359 = call i32 @isatty(i32 noundef %18358) #11
  %18360 = icmp ne i32 %18359, 0
  br i1 %18360, label %18361, label %18378

18361:                                            ; preds = %18356
  %18362 = load i32, ptr %442, align 4, !tbaa !5
  %18363 = call ptr @__errno_location() #12
  store i32 %18362, ptr %18363, align 4, !tbaa !5
  %18364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18365 = load i32, ptr @test_count, align 4, !tbaa !5
  %18366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18367 = load i32, ptr %18366, align 4, !tbaa !5
  %18368 = call ptr @s2n_strerror(i32 noundef %18367, ptr noundef @.str.25)
  %18369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18370 = load i32, ptr %18369, align 4, !tbaa !5
  %18371 = call ptr @s2n_strerror_debug(i32 noundef %18370, ptr noundef @.str.25)
  %18372 = call ptr @__errno_location() #12
  %18373 = load i32, ptr %18372, align 4, !tbaa !5
  %18374 = call ptr @strerror(i32 noundef %18373) #11
  %18375 = call ptr @__errno_location() #12
  %18376 = load i32, ptr %18375, align 4, !tbaa !5
  %18377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18364, ptr noundef @.str.23, i32 noundef %18365, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 923, ptr noundef %18368, ptr noundef %18371, ptr noundef %18374, i32 noundef %18376) #11
  br label %18395

18378:                                            ; preds = %18356, %18349
  %18379 = load i32, ptr %442, align 4, !tbaa !5
  %18380 = call ptr @__errno_location() #12
  store i32 %18379, ptr %18380, align 4, !tbaa !5
  %18381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18382 = load i32, ptr @test_count, align 4, !tbaa !5
  %18383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18384 = load i32, ptr %18383, align 4, !tbaa !5
  %18385 = call ptr @s2n_strerror(i32 noundef %18384, ptr noundef @.str.25)
  %18386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18387 = load i32, ptr %18386, align 4, !tbaa !5
  %18388 = call ptr @s2n_strerror_debug(i32 noundef %18387, ptr noundef @.str.25)
  %18389 = call ptr @__errno_location() #12
  %18390 = load i32, ptr %18389, align 4, !tbaa !5
  %18391 = call ptr @strerror(i32 noundef %18390) #11
  %18392 = call ptr @__errno_location() #12
  %18393 = load i32, ptr %18392, align 4, !tbaa !5
  %18394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18381, ptr noundef @.str.26, i32 noundef %18382, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 923, ptr noundef %18385, ptr noundef %18388, ptr noundef %18391, i32 noundef %18393) #11
  br label %18395

18395:                                            ; preds = %18378, %18361
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #11
  br label %18396

18396:                                            ; preds = %18395
  br label %18397

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

18398:                                            ; No predecessors!
  br label %18399

18399:                                            ; preds = %18398
  br label %18400

18400:                                            ; preds = %18399, %18338
  br label %18401

18401:                                            ; preds = %18400
  br label %18402

18402:                                            ; preds = %18401
  br label %18403

18403:                                            ; preds = %18402
  %18404 = load i32, ptr @test_count, align 4, !tbaa !5
  %18405 = add nsw i32 %18404, 1
  store i32 %18405, ptr @test_count, align 4, !tbaa !5
  %18406 = load ptr, ptr %439, align 8, !tbaa !9
  %18407 = load ptr, ptr %437, align 8, !tbaa !9
  %18408 = call i32 @s2n_connection_set_config(ptr noundef %18406, ptr noundef %18407)
  %18409 = icmp eq i32 %18408, -1
  br i1 %18409, label %18410, label %18463

18410:                                            ; preds = %18403
  br label %18411

18411:                                            ; preds = %18410
  br label %18412

18412:                                            ; preds = %18411
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #11
  %18413 = call ptr @__errno_location() #12
  %18414 = load i32, ptr %18413, align 4, !tbaa !5
  store i32 %18414, ptr %443, align 4, !tbaa !5
  %18415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18416 = call i32 @s2n_print_stacktrace(ptr noundef %18415)
  %18417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18418 = trunc i8 %18417 to i1
  br i1 %18418, label %18419, label %18441

18419:                                            ; preds = %18412
  %18420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18421 = call i32 @fileno(ptr noundef %18420) #11
  %18422 = call i32 @isatty(i32 noundef %18421) #11
  %18423 = icmp ne i32 %18422, 0
  br i1 %18423, label %18424, label %18441

18424:                                            ; preds = %18419
  %18425 = load i32, ptr %443, align 4, !tbaa !5
  %18426 = call ptr @__errno_location() #12
  store i32 %18425, ptr %18426, align 4, !tbaa !5
  %18427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18428 = load i32, ptr @test_count, align 4, !tbaa !5
  %18429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18430 = load i32, ptr %18429, align 4, !tbaa !5
  %18431 = call ptr @s2n_strerror(i32 noundef %18430, ptr noundef @.str.25)
  %18432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18433 = load i32, ptr %18432, align 4, !tbaa !5
  %18434 = call ptr @s2n_strerror_debug(i32 noundef %18433, ptr noundef @.str.25)
  %18435 = call ptr @__errno_location() #12
  %18436 = load i32, ptr %18435, align 4, !tbaa !5
  %18437 = call ptr @strerror(i32 noundef %18436) #11
  %18438 = call ptr @__errno_location() #12
  %18439 = load i32, ptr %18438, align 4, !tbaa !5
  %18440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18427, ptr noundef @.str.23, i32 noundef %18428, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 924, ptr noundef %18431, ptr noundef %18434, ptr noundef %18437, i32 noundef %18439) #11
  br label %18458

18441:                                            ; preds = %18419, %18412
  %18442 = load i32, ptr %443, align 4, !tbaa !5
  %18443 = call ptr @__errno_location() #12
  store i32 %18442, ptr %18443, align 4, !tbaa !5
  %18444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18445 = load i32, ptr @test_count, align 4, !tbaa !5
  %18446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18447 = load i32, ptr %18446, align 4, !tbaa !5
  %18448 = call ptr @s2n_strerror(i32 noundef %18447, ptr noundef @.str.25)
  %18449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18450 = load i32, ptr %18449, align 4, !tbaa !5
  %18451 = call ptr @s2n_strerror_debug(i32 noundef %18450, ptr noundef @.str.25)
  %18452 = call ptr @__errno_location() #12
  %18453 = load i32, ptr %18452, align 4, !tbaa !5
  %18454 = call ptr @strerror(i32 noundef %18453) #11
  %18455 = call ptr @__errno_location() #12
  %18456 = load i32, ptr %18455, align 4, !tbaa !5
  %18457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18444, ptr noundef @.str.26, i32 noundef %18445, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 924, ptr noundef %18448, ptr noundef %18451, ptr noundef %18454, i32 noundef %18456) #11
  br label %18458

18458:                                            ; preds = %18441, %18424
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #11
  br label %18459

18459:                                            ; preds = %18458
  br label %18460

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

18461:                                            ; No predecessors!
  br label %18462

18462:                                            ; preds = %18461
  br label %18463

18463:                                            ; preds = %18462, %18403
  br label %18464

18464:                                            ; preds = %18463
  br label %18465

18465:                                            ; preds = %18464
  %18466 = load ptr, ptr %439, align 8, !tbaa !9
  %18467 = getelementptr inbounds %struct.s2n_connection, ptr %18466, i32 0, i32 76
  store i32 2, ptr %18467, align 4, !tbaa !77
  br label %18468

18468:                                            ; preds = %18465
  %18469 = load i32, ptr @test_count, align 4, !tbaa !5
  %18470 = add nsw i32 %18469, 1
  store i32 %18470, ptr @test_count, align 4, !tbaa !5
  %18471 = load ptr, ptr %439, align 8, !tbaa !9
  %18472 = call i32 @s2n_server_nst_send(ptr noundef %18471)
  %18473 = icmp eq i32 %18472, -1
  br i1 %18473, label %18474, label %18527

18474:                                            ; preds = %18468
  br label %18475

18475:                                            ; preds = %18474
  br label %18476

18476:                                            ; preds = %18475
  call void @llvm.lifetime.start.p0(i64 4, ptr %444) #11
  %18477 = call ptr @__errno_location() #12
  %18478 = load i32, ptr %18477, align 4, !tbaa !5
  store i32 %18478, ptr %444, align 4, !tbaa !5
  %18479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18480 = call i32 @s2n_print_stacktrace(ptr noundef %18479)
  %18481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18482 = trunc i8 %18481 to i1
  br i1 %18482, label %18483, label %18505

18483:                                            ; preds = %18476
  %18484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18485 = call i32 @fileno(ptr noundef %18484) #11
  %18486 = call i32 @isatty(i32 noundef %18485) #11
  %18487 = icmp ne i32 %18486, 0
  br i1 %18487, label %18488, label %18505

18488:                                            ; preds = %18483
  %18489 = load i32, ptr %444, align 4, !tbaa !5
  %18490 = call ptr @__errno_location() #12
  store i32 %18489, ptr %18490, align 4, !tbaa !5
  %18491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18492 = load i32, ptr @test_count, align 4, !tbaa !5
  %18493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18494 = load i32, ptr %18493, align 4, !tbaa !5
  %18495 = call ptr @s2n_strerror(i32 noundef %18494, ptr noundef @.str.25)
  %18496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18497 = load i32, ptr %18496, align 4, !tbaa !5
  %18498 = call ptr @s2n_strerror_debug(i32 noundef %18497, ptr noundef @.str.25)
  %18499 = call ptr @__errno_location() #12
  %18500 = load i32, ptr %18499, align 4, !tbaa !5
  %18501 = call ptr @strerror(i32 noundef %18500) #11
  %18502 = call ptr @__errno_location() #12
  %18503 = load i32, ptr %18502, align 4, !tbaa !5
  %18504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18491, ptr noundef @.str.23, i32 noundef %18492, ptr noundef @.str.155, ptr noundef @.str.22, i32 noundef 928, ptr noundef %18495, ptr noundef %18498, ptr noundef %18501, i32 noundef %18503) #11
  br label %18522

18505:                                            ; preds = %18483, %18476
  %18506 = load i32, ptr %444, align 4, !tbaa !5
  %18507 = call ptr @__errno_location() #12
  store i32 %18506, ptr %18507, align 4, !tbaa !5
  %18508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18509 = load i32, ptr @test_count, align 4, !tbaa !5
  %18510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18511 = load i32, ptr %18510, align 4, !tbaa !5
  %18512 = call ptr @s2n_strerror(i32 noundef %18511, ptr noundef @.str.25)
  %18513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18514 = load i32, ptr %18513, align 4, !tbaa !5
  %18515 = call ptr @s2n_strerror_debug(i32 noundef %18514, ptr noundef @.str.25)
  %18516 = call ptr @__errno_location() #12
  %18517 = load i32, ptr %18516, align 4, !tbaa !5
  %18518 = call ptr @strerror(i32 noundef %18517) #11
  %18519 = call ptr @__errno_location() #12
  %18520 = load i32, ptr %18519, align 4, !tbaa !5
  %18521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18508, ptr noundef @.str.26, i32 noundef %18509, ptr noundef @.str.155, ptr noundef @.str.22, i32 noundef 928, ptr noundef %18512, ptr noundef %18515, ptr noundef %18518, i32 noundef %18520) #11
  br label %18522

18522:                                            ; preds = %18505, %18488
  call void @llvm.lifetime.end.p0(i64 4, ptr %444) #11
  br label %18523

18523:                                            ; preds = %18522
  br label %18524

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

18525:                                            ; No predecessors!
  br label %18526

18526:                                            ; preds = %18525
  br label %18527

18527:                                            ; preds = %18526, %18468
  br label %18528

18528:                                            ; preds = %18527
  br label %18529

18529:                                            ; preds = %18528
  br label %18530

18530:                                            ; preds = %18529
  %18531 = load i32, ptr @test_count, align 4, !tbaa !5
  %18532 = add nsw i32 %18531, 1
  store i32 %18532, ptr @test_count, align 4, !tbaa !5
  %18533 = load ptr, ptr %439, align 8, !tbaa !9
  %18534 = call i32 @s2n_assert_tickets_sent(ptr noundef %18533, i16 noundef zeroext 1)
  %18535 = getelementptr inbounds %struct.s2n_result, ptr %445, i32 0, i32 0
  store i32 %18534, ptr %18535, align 4
  %18536 = getelementptr inbounds %struct.s2n_result, ptr %445, i32 0, i32 0
  %18537 = load i32, ptr %18536, align 4
  %18538 = call zeroext i1 @s2n_result_is_ok(i32 %18537)
  br i1 %18538, label %18592, label %18539

18539:                                            ; preds = %18530
  br label %18540

18540:                                            ; preds = %18539
  br label %18541

18541:                                            ; preds = %18540
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #11
  %18542 = call ptr @__errno_location() #12
  %18543 = load i32, ptr %18542, align 4, !tbaa !5
  store i32 %18543, ptr %446, align 4, !tbaa !5
  %18544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18545 = call i32 @s2n_print_stacktrace(ptr noundef %18544)
  %18546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18547 = trunc i8 %18546 to i1
  br i1 %18547, label %18548, label %18570

18548:                                            ; preds = %18541
  %18549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18550 = call i32 @fileno(ptr noundef %18549) #11
  %18551 = call i32 @isatty(i32 noundef %18550) #11
  %18552 = icmp ne i32 %18551, 0
  br i1 %18552, label %18553, label %18570

18553:                                            ; preds = %18548
  %18554 = load i32, ptr %446, align 4, !tbaa !5
  %18555 = call ptr @__errno_location() #12
  store i32 %18554, ptr %18555, align 4, !tbaa !5
  %18556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18557 = load i32, ptr @test_count, align 4, !tbaa !5
  %18558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18559 = load i32, ptr %18558, align 4, !tbaa !5
  %18560 = call ptr @s2n_strerror(i32 noundef %18559, ptr noundef @.str.25)
  %18561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18562 = load i32, ptr %18561, align 4, !tbaa !5
  %18563 = call ptr @s2n_strerror_debug(i32 noundef %18562, ptr noundef @.str.25)
  %18564 = call ptr @__errno_location() #12
  %18565 = load i32, ptr %18564, align 4, !tbaa !5
  %18566 = call ptr @strerror(i32 noundef %18565) #11
  %18567 = call ptr @__errno_location() #12
  %18568 = load i32, ptr %18567, align 4, !tbaa !5
  %18569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18556, ptr noundef @.str.23, i32 noundef %18557, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 929, ptr noundef %18560, ptr noundef %18563, ptr noundef %18566, i32 noundef %18568) #11
  br label %18587

18570:                                            ; preds = %18548, %18541
  %18571 = load i32, ptr %446, align 4, !tbaa !5
  %18572 = call ptr @__errno_location() #12
  store i32 %18571, ptr %18572, align 4, !tbaa !5
  %18573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18574 = load i32, ptr @test_count, align 4, !tbaa !5
  %18575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18576 = load i32, ptr %18575, align 4, !tbaa !5
  %18577 = call ptr @s2n_strerror(i32 noundef %18576, ptr noundef @.str.25)
  %18578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18579 = load i32, ptr %18578, align 4, !tbaa !5
  %18580 = call ptr @s2n_strerror_debug(i32 noundef %18579, ptr noundef @.str.25)
  %18581 = call ptr @__errno_location() #12
  %18582 = load i32, ptr %18581, align 4, !tbaa !5
  %18583 = call ptr @strerror(i32 noundef %18582) #11
  %18584 = call ptr @__errno_location() #12
  %18585 = load i32, ptr %18584, align 4, !tbaa !5
  %18586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18573, ptr noundef @.str.26, i32 noundef %18574, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 929, ptr noundef %18577, ptr noundef %18580, ptr noundef %18583, i32 noundef %18585) #11
  br label %18587

18587:                                            ; preds = %18570, %18553
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #11
  br label %18588

18588:                                            ; preds = %18587
  br label %18589

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

18590:                                            ; No predecessors!
  br label %18591

18591:                                            ; preds = %18590
  br label %18592

18592:                                            ; preds = %18591, %18530
  br label %18593

18593:                                            ; preds = %18592
  br label %18594

18594:                                            ; preds = %18593
  call void @llvm.lifetime.start.p0(i64 4, ptr %447) #11
  store i32 0, ptr %447, align 4, !tbaa !5
  br label %18595

18595:                                            ; preds = %18594
  %18596 = load i32, ptr @test_count, align 4, !tbaa !5
  %18597 = add nsw i32 %18596, 1
  store i32 %18597, ptr @test_count, align 4, !tbaa !5
  %18598 = load ptr, ptr %439, align 8, !tbaa !9
  %18599 = getelementptr inbounds %struct.s2n_connection, ptr %18598, i32 0, i32 52
  %18600 = getelementptr inbounds %struct.s2n_handshake, ptr %18599, i32 0, i32 0
  %18601 = call i32 @s2n_stuffer_read_uint32(ptr noundef %18600, ptr noundef %447)
  %18602 = icmp eq i32 %18601, -1
  br i1 %18602, label %18603, label %18656

18603:                                            ; preds = %18595
  br label %18604

18604:                                            ; preds = %18603
  br label %18605

18605:                                            ; preds = %18604
  call void @llvm.lifetime.start.p0(i64 4, ptr %448) #11
  %18606 = call ptr @__errno_location() #12
  %18607 = load i32, ptr %18606, align 4, !tbaa !5
  store i32 %18607, ptr %448, align 4, !tbaa !5
  %18608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18609 = call i32 @s2n_print_stacktrace(ptr noundef %18608)
  %18610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18611 = trunc i8 %18610 to i1
  br i1 %18611, label %18612, label %18634

18612:                                            ; preds = %18605
  %18613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18614 = call i32 @fileno(ptr noundef %18613) #11
  %18615 = call i32 @isatty(i32 noundef %18614) #11
  %18616 = icmp ne i32 %18615, 0
  br i1 %18616, label %18617, label %18634

18617:                                            ; preds = %18612
  %18618 = load i32, ptr %448, align 4, !tbaa !5
  %18619 = call ptr @__errno_location() #12
  store i32 %18618, ptr %18619, align 4, !tbaa !5
  %18620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18621 = load i32, ptr @test_count, align 4, !tbaa !5
  %18622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18623 = load i32, ptr %18622, align 4, !tbaa !5
  %18624 = call ptr @s2n_strerror(i32 noundef %18623, ptr noundef @.str.25)
  %18625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18626 = load i32, ptr %18625, align 4, !tbaa !5
  %18627 = call ptr @s2n_strerror_debug(i32 noundef %18626, ptr noundef @.str.25)
  %18628 = call ptr @__errno_location() #12
  %18629 = load i32, ptr %18628, align 4, !tbaa !5
  %18630 = call ptr @strerror(i32 noundef %18629) #11
  %18631 = call ptr @__errno_location() #12
  %18632 = load i32, ptr %18631, align 4, !tbaa !5
  %18633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18620, ptr noundef @.str.23, i32 noundef %18621, ptr noundef @.str.157, ptr noundef @.str.22, i32 noundef 932, ptr noundef %18624, ptr noundef %18627, ptr noundef %18630, i32 noundef %18632) #11
  br label %18651

18634:                                            ; preds = %18612, %18605
  %18635 = load i32, ptr %448, align 4, !tbaa !5
  %18636 = call ptr @__errno_location() #12
  store i32 %18635, ptr %18636, align 4, !tbaa !5
  %18637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18638 = load i32, ptr @test_count, align 4, !tbaa !5
  %18639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18640 = load i32, ptr %18639, align 4, !tbaa !5
  %18641 = call ptr @s2n_strerror(i32 noundef %18640, ptr noundef @.str.25)
  %18642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18643 = load i32, ptr %18642, align 4, !tbaa !5
  %18644 = call ptr @s2n_strerror_debug(i32 noundef %18643, ptr noundef @.str.25)
  %18645 = call ptr @__errno_location() #12
  %18646 = load i32, ptr %18645, align 4, !tbaa !5
  %18647 = call ptr @strerror(i32 noundef %18646) #11
  %18648 = call ptr @__errno_location() #12
  %18649 = load i32, ptr %18648, align 4, !tbaa !5
  %18650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18637, ptr noundef @.str.26, i32 noundef %18638, ptr noundef @.str.157, ptr noundef @.str.22, i32 noundef 932, ptr noundef %18641, ptr noundef %18644, ptr noundef %18647, i32 noundef %18649) #11
  br label %18651

18651:                                            ; preds = %18634, %18617
  call void @llvm.lifetime.end.p0(i64 4, ptr %448) #11
  br label %18652

18652:                                            ; preds = %18651
  br label %18653

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

18654:                                            ; No predecessors!
  br label %18655

18655:                                            ; preds = %18654
  br label %18656

18656:                                            ; preds = %18655, %18595
  br label %18657

18657:                                            ; preds = %18656
  br label %18658

18658:                                            ; preds = %18657
  br label %18659

18659:                                            ; preds = %18658
  %18660 = load i32, ptr @test_count, align 4, !tbaa !5
  %18661 = add nsw i32 %18660, 1
  store i32 %18661, ptr @test_count, align 4, !tbaa !5
  %18662 = load i32, ptr %447, align 4, !tbaa !5
  %18663 = icmp ugt i32 %18662, 0
  br i1 %18663, label %18717, label %18664

18664:                                            ; preds = %18659
  br label %18665

18665:                                            ; preds = %18664
  br label %18666

18666:                                            ; preds = %18665
  call void @llvm.lifetime.start.p0(i64 4, ptr %449) #11
  %18667 = call ptr @__errno_location() #12
  %18668 = load i32, ptr %18667, align 4, !tbaa !5
  store i32 %18668, ptr %449, align 4, !tbaa !5
  %18669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18670 = call i32 @s2n_print_stacktrace(ptr noundef %18669)
  %18671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18672 = trunc i8 %18671 to i1
  br i1 %18672, label %18673, label %18695

18673:                                            ; preds = %18666
  %18674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18675 = call i32 @fileno(ptr noundef %18674) #11
  %18676 = call i32 @isatty(i32 noundef %18675) #11
  %18677 = icmp ne i32 %18676, 0
  br i1 %18677, label %18678, label %18695

18678:                                            ; preds = %18673
  %18679 = load i32, ptr %449, align 4, !tbaa !5
  %18680 = call ptr @__errno_location() #12
  store i32 %18679, ptr %18680, align 4, !tbaa !5
  %18681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18682 = load i32, ptr @test_count, align 4, !tbaa !5
  %18683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18684 = load i32, ptr %18683, align 4, !tbaa !5
  %18685 = call ptr @s2n_strerror(i32 noundef %18684, ptr noundef @.str.25)
  %18686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18687 = load i32, ptr %18686, align 4, !tbaa !5
  %18688 = call ptr @s2n_strerror_debug(i32 noundef %18687, ptr noundef @.str.25)
  %18689 = call ptr @__errno_location() #12
  %18690 = load i32, ptr %18689, align 4, !tbaa !5
  %18691 = call ptr @strerror(i32 noundef %18690) #11
  %18692 = call ptr @__errno_location() #12
  %18693 = load i32, ptr %18692, align 4, !tbaa !5
  %18694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18681, ptr noundef @.str.23, i32 noundef %18682, ptr noundef @.str.158, ptr noundef @.str.22, i32 noundef 933, ptr noundef %18685, ptr noundef %18688, ptr noundef %18691, i32 noundef %18693) #11
  br label %18712

18695:                                            ; preds = %18673, %18666
  %18696 = load i32, ptr %449, align 4, !tbaa !5
  %18697 = call ptr @__errno_location() #12
  store i32 %18696, ptr %18697, align 4, !tbaa !5
  %18698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18699 = load i32, ptr @test_count, align 4, !tbaa !5
  %18700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18701 = load i32, ptr %18700, align 4, !tbaa !5
  %18702 = call ptr @s2n_strerror(i32 noundef %18701, ptr noundef @.str.25)
  %18703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18704 = load i32, ptr %18703, align 4, !tbaa !5
  %18705 = call ptr @s2n_strerror_debug(i32 noundef %18704, ptr noundef @.str.25)
  %18706 = call ptr @__errno_location() #12
  %18707 = load i32, ptr %18706, align 4, !tbaa !5
  %18708 = call ptr @strerror(i32 noundef %18707) #11
  %18709 = call ptr @__errno_location() #12
  %18710 = load i32, ptr %18709, align 4, !tbaa !5
  %18711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18698, ptr noundef @.str.26, i32 noundef %18699, ptr noundef @.str.158, ptr noundef @.str.22, i32 noundef 933, ptr noundef %18702, ptr noundef %18705, ptr noundef %18708, i32 noundef %18710) #11
  br label %18712

18712:                                            ; preds = %18695, %18678
  call void @llvm.lifetime.end.p0(i64 4, ptr %449) #11
  br label %18713

18713:                                            ; preds = %18712
  br label %18714

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

18715:                                            ; No predecessors!
  br label %18716

18716:                                            ; preds = %18715
  br label %18717

18717:                                            ; preds = %18716, %18659
  br label %18718

18718:                                            ; preds = %18717
  br label %18719

18719:                                            ; preds = %18718
  call void @llvm.lifetime.start.p0(i64 2, ptr %450) #11
  store i16 0, ptr %450, align 2, !tbaa !49
  br label %18720

18720:                                            ; preds = %18719
  %18721 = load i32, ptr @test_count, align 4, !tbaa !5
  %18722 = add nsw i32 %18721, 1
  store i32 %18722, ptr @test_count, align 4, !tbaa !5
  %18723 = load ptr, ptr %439, align 8, !tbaa !9
  %18724 = getelementptr inbounds %struct.s2n_connection, ptr %18723, i32 0, i32 52
  %18725 = getelementptr inbounds %struct.s2n_handshake, ptr %18724, i32 0, i32 0
  %18726 = call i32 @s2n_stuffer_read_uint16(ptr noundef %18725, ptr noundef %450)
  %18727 = icmp eq i32 %18726, -1
  br i1 %18727, label %18728, label %18781

18728:                                            ; preds = %18720
  br label %18729

18729:                                            ; preds = %18728
  br label %18730

18730:                                            ; preds = %18729
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #11
  %18731 = call ptr @__errno_location() #12
  %18732 = load i32, ptr %18731, align 4, !tbaa !5
  store i32 %18732, ptr %451, align 4, !tbaa !5
  %18733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18734 = call i32 @s2n_print_stacktrace(ptr noundef %18733)
  %18735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18736 = trunc i8 %18735 to i1
  br i1 %18736, label %18737, label %18759

18737:                                            ; preds = %18730
  %18738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18739 = call i32 @fileno(ptr noundef %18738) #11
  %18740 = call i32 @isatty(i32 noundef %18739) #11
  %18741 = icmp ne i32 %18740, 0
  br i1 %18741, label %18742, label %18759

18742:                                            ; preds = %18737
  %18743 = load i32, ptr %451, align 4, !tbaa !5
  %18744 = call ptr @__errno_location() #12
  store i32 %18743, ptr %18744, align 4, !tbaa !5
  %18745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18746 = load i32, ptr @test_count, align 4, !tbaa !5
  %18747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18748 = load i32, ptr %18747, align 4, !tbaa !5
  %18749 = call ptr @s2n_strerror(i32 noundef %18748, ptr noundef @.str.25)
  %18750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18751 = load i32, ptr %18750, align 4, !tbaa !5
  %18752 = call ptr @s2n_strerror_debug(i32 noundef %18751, ptr noundef @.str.25)
  %18753 = call ptr @__errno_location() #12
  %18754 = load i32, ptr %18753, align 4, !tbaa !5
  %18755 = call ptr @strerror(i32 noundef %18754) #11
  %18756 = call ptr @__errno_location() #12
  %18757 = load i32, ptr %18756, align 4, !tbaa !5
  %18758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18745, ptr noundef @.str.23, i32 noundef %18746, ptr noundef @.str.159, ptr noundef @.str.22, i32 noundef 936, ptr noundef %18749, ptr noundef %18752, ptr noundef %18755, i32 noundef %18757) #11
  br label %18776

18759:                                            ; preds = %18737, %18730
  %18760 = load i32, ptr %451, align 4, !tbaa !5
  %18761 = call ptr @__errno_location() #12
  store i32 %18760, ptr %18761, align 4, !tbaa !5
  %18762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18763 = load i32, ptr @test_count, align 4, !tbaa !5
  %18764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18765 = load i32, ptr %18764, align 4, !tbaa !5
  %18766 = call ptr @s2n_strerror(i32 noundef %18765, ptr noundef @.str.25)
  %18767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18768 = load i32, ptr %18767, align 4, !tbaa !5
  %18769 = call ptr @s2n_strerror_debug(i32 noundef %18768, ptr noundef @.str.25)
  %18770 = call ptr @__errno_location() #12
  %18771 = load i32, ptr %18770, align 4, !tbaa !5
  %18772 = call ptr @strerror(i32 noundef %18771) #11
  %18773 = call ptr @__errno_location() #12
  %18774 = load i32, ptr %18773, align 4, !tbaa !5
  %18775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18762, ptr noundef @.str.26, i32 noundef %18763, ptr noundef @.str.159, ptr noundef @.str.22, i32 noundef 936, ptr noundef %18766, ptr noundef %18769, ptr noundef %18772, i32 noundef %18774) #11
  br label %18776

18776:                                            ; preds = %18759, %18742
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #11
  br label %18777

18777:                                            ; preds = %18776
  br label %18778

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

18779:                                            ; No predecessors!
  br label %18780

18780:                                            ; preds = %18779
  br label %18781

18781:                                            ; preds = %18780, %18720
  br label %18782

18782:                                            ; preds = %18781
  br label %18783

18783:                                            ; preds = %18782
  br label %18784

18784:                                            ; preds = %18783
  %18785 = load i32, ptr @test_count, align 4, !tbaa !5
  %18786 = add nsw i32 %18785, 1
  store i32 %18786, ptr @test_count, align 4, !tbaa !5
  %18787 = load i16, ptr %450, align 2, !tbaa !49
  %18788 = zext i16 %18787 to i32
  %18789 = icmp sgt i32 %18788, 0
  br i1 %18789, label %18843, label %18790

18790:                                            ; preds = %18784
  br label %18791

18791:                                            ; preds = %18790
  br label %18792

18792:                                            ; preds = %18791
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #11
  %18793 = call ptr @__errno_location() #12
  %18794 = load i32, ptr %18793, align 4, !tbaa !5
  store i32 %18794, ptr %452, align 4, !tbaa !5
  %18795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18796 = call i32 @s2n_print_stacktrace(ptr noundef %18795)
  %18797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18798 = trunc i8 %18797 to i1
  br i1 %18798, label %18799, label %18821

18799:                                            ; preds = %18792
  %18800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18801 = call i32 @fileno(ptr noundef %18800) #11
  %18802 = call i32 @isatty(i32 noundef %18801) #11
  %18803 = icmp ne i32 %18802, 0
  br i1 %18803, label %18804, label %18821

18804:                                            ; preds = %18799
  %18805 = load i32, ptr %452, align 4, !tbaa !5
  %18806 = call ptr @__errno_location() #12
  store i32 %18805, ptr %18806, align 4, !tbaa !5
  %18807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18808 = load i32, ptr @test_count, align 4, !tbaa !5
  %18809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18810 = load i32, ptr %18809, align 4, !tbaa !5
  %18811 = call ptr @s2n_strerror(i32 noundef %18810, ptr noundef @.str.25)
  %18812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18813 = load i32, ptr %18812, align 4, !tbaa !5
  %18814 = call ptr @s2n_strerror_debug(i32 noundef %18813, ptr noundef @.str.25)
  %18815 = call ptr @__errno_location() #12
  %18816 = load i32, ptr %18815, align 4, !tbaa !5
  %18817 = call ptr @strerror(i32 noundef %18816) #11
  %18818 = call ptr @__errno_location() #12
  %18819 = load i32, ptr %18818, align 4, !tbaa !5
  %18820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18807, ptr noundef @.str.23, i32 noundef %18808, ptr noundef @.str.160, ptr noundef @.str.22, i32 noundef 937, ptr noundef %18811, ptr noundef %18814, ptr noundef %18817, i32 noundef %18819) #11
  br label %18838

18821:                                            ; preds = %18799, %18792
  %18822 = load i32, ptr %452, align 4, !tbaa !5
  %18823 = call ptr @__errno_location() #12
  store i32 %18822, ptr %18823, align 4, !tbaa !5
  %18824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18825 = load i32, ptr @test_count, align 4, !tbaa !5
  %18826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18827 = load i32, ptr %18826, align 4, !tbaa !5
  %18828 = call ptr @s2n_strerror(i32 noundef %18827, ptr noundef @.str.25)
  %18829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18830 = load i32, ptr %18829, align 4, !tbaa !5
  %18831 = call ptr @s2n_strerror_debug(i32 noundef %18830, ptr noundef @.str.25)
  %18832 = call ptr @__errno_location() #12
  %18833 = load i32, ptr %18832, align 4, !tbaa !5
  %18834 = call ptr @strerror(i32 noundef %18833) #11
  %18835 = call ptr @__errno_location() #12
  %18836 = load i32, ptr %18835, align 4, !tbaa !5
  %18837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18824, ptr noundef @.str.26, i32 noundef %18825, ptr noundef @.str.160, ptr noundef @.str.22, i32 noundef 937, ptr noundef %18828, ptr noundef %18831, ptr noundef %18834, i32 noundef %18836) #11
  br label %18838

18838:                                            ; preds = %18821, %18804
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #11
  br label %18839

18839:                                            ; preds = %18838
  br label %18840

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

18841:                                            ; No predecessors!
  br label %18842

18842:                                            ; preds = %18841
  br label %18843

18843:                                            ; preds = %18842, %18784
  br label %18844

18844:                                            ; preds = %18843
  br label %18845

18845:                                            ; preds = %18844
  br label %18846

18846:                                            ; preds = %18845
  %18847 = load i32, ptr @test_count, align 4, !tbaa !5
  %18848 = add nsw i32 %18847, 1
  store i32 %18848, ptr @test_count, align 4, !tbaa !5
  %18849 = load ptr, ptr %439, align 8, !tbaa !9
  %18850 = getelementptr inbounds %struct.s2n_connection, ptr %18849, i32 0, i32 52
  %18851 = getelementptr inbounds %struct.s2n_handshake, ptr %18850, i32 0, i32 0
  %18852 = getelementptr inbounds %struct.s2n_stuffer, ptr %18851, i32 0, i32 2
  %18853 = load i32, ptr %18852, align 4, !tbaa !78
  %18854 = load ptr, ptr %439, align 8, !tbaa !9
  %18855 = getelementptr inbounds %struct.s2n_connection, ptr %18854, i32 0, i32 52
  %18856 = getelementptr inbounds %struct.s2n_handshake, ptr %18855, i32 0, i32 0
  %18857 = getelementptr inbounds %struct.s2n_stuffer, ptr %18856, i32 0, i32 1
  %18858 = load i32, ptr %18857, align 8, !tbaa !79
  %18859 = sub i32 %18853, %18858
  %18860 = icmp eq i32 %18859, 138
  br i1 %18860, label %18914, label %18861

18861:                                            ; preds = %18846
  br label %18862

18862:                                            ; preds = %18861
  br label %18863

18863:                                            ; preds = %18862
  call void @llvm.lifetime.start.p0(i64 4, ptr %453) #11
  %18864 = call ptr @__errno_location() #12
  %18865 = load i32, ptr %18864, align 4, !tbaa !5
  store i32 %18865, ptr %453, align 4, !tbaa !5
  %18866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18867 = call i32 @s2n_print_stacktrace(ptr noundef %18866)
  %18868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18869 = trunc i8 %18868 to i1
  br i1 %18869, label %18870, label %18892

18870:                                            ; preds = %18863
  %18871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18872 = call i32 @fileno(ptr noundef %18871) #11
  %18873 = call i32 @isatty(i32 noundef %18872) #11
  %18874 = icmp ne i32 %18873, 0
  br i1 %18874, label %18875, label %18892

18875:                                            ; preds = %18870
  %18876 = load i32, ptr %453, align 4, !tbaa !5
  %18877 = call ptr @__errno_location() #12
  store i32 %18876, ptr %18877, align 4, !tbaa !5
  %18878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18879 = load i32, ptr @test_count, align 4, !tbaa !5
  %18880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18881 = load i32, ptr %18880, align 4, !tbaa !5
  %18882 = call ptr @s2n_strerror(i32 noundef %18881, ptr noundef @.str.25)
  %18883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18884 = load i32, ptr %18883, align 4, !tbaa !5
  %18885 = call ptr @s2n_strerror_debug(i32 noundef %18884, ptr noundef @.str.25)
  %18886 = call ptr @__errno_location() #12
  %18887 = load i32, ptr %18886, align 4, !tbaa !5
  %18888 = call ptr @strerror(i32 noundef %18887) #11
  %18889 = call ptr @__errno_location() #12
  %18890 = load i32, ptr %18889, align 4, !tbaa !5
  %18891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18878, ptr noundef @.str.23, i32 noundef %18879, ptr noundef @.str.161, ptr noundef @.str.22, i32 noundef 940, ptr noundef %18882, ptr noundef %18885, ptr noundef %18888, i32 noundef %18890) #11
  br label %18909

18892:                                            ; preds = %18870, %18863
  %18893 = load i32, ptr %453, align 4, !tbaa !5
  %18894 = call ptr @__errno_location() #12
  store i32 %18893, ptr %18894, align 4, !tbaa !5
  %18895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18896 = load i32, ptr @test_count, align 4, !tbaa !5
  %18897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18898 = load i32, ptr %18897, align 4, !tbaa !5
  %18899 = call ptr @s2n_strerror(i32 noundef %18898, ptr noundef @.str.25)
  %18900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18901 = load i32, ptr %18900, align 4, !tbaa !5
  %18902 = call ptr @s2n_strerror_debug(i32 noundef %18901, ptr noundef @.str.25)
  %18903 = call ptr @__errno_location() #12
  %18904 = load i32, ptr %18903, align 4, !tbaa !5
  %18905 = call ptr @strerror(i32 noundef %18904) #11
  %18906 = call ptr @__errno_location() #12
  %18907 = load i32, ptr %18906, align 4, !tbaa !5
  %18908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18895, ptr noundef @.str.26, i32 noundef %18896, ptr noundef @.str.161, ptr noundef @.str.22, i32 noundef 940, ptr noundef %18899, ptr noundef %18902, ptr noundef %18905, i32 noundef %18907) #11
  br label %18909

18909:                                            ; preds = %18892, %18875
  call void @llvm.lifetime.end.p0(i64 4, ptr %453) #11
  br label %18910

18910:                                            ; preds = %18909
  br label %18911

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

18912:                                            ; No predecessors!
  br label %18913

18913:                                            ; preds = %18912
  br label %18914

18914:                                            ; preds = %18913, %18846
  br label %18915

18915:                                            ; preds = %18914
  br label %18916

18916:                                            ; preds = %18915
  call void @llvm.lifetime.end.p0(i64 2, ptr %450) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %447) #11
  %18917 = call i32 @s2n_connection_ptr_free(ptr noundef %439)
  %18918 = getelementptr inbounds %struct.s2n_result, ptr %454, i32 0, i32 0
  store i32 %18917, ptr %18918, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %439) #11
  %18919 = call i32 @s2n_config_ptr_free(ptr noundef %437)
  %18920 = getelementptr inbounds %struct.s2n_result, ptr %455, i32 0, i32 0
  store i32 %18919, ptr %18920, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %437) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %456) #11
  %18921 = call ptr @s2n_config_new()
  store ptr %18921, ptr %456, align 8, !tbaa !9
  br label %18922

18922:                                            ; preds = %18916
  %18923 = load i32, ptr @test_count, align 4, !tbaa !5
  %18924 = add nsw i32 %18923, 1
  store i32 %18924, ptr @test_count, align 4, !tbaa !5
  %18925 = load ptr, ptr %456, align 8, !tbaa !9
  %18926 = icmp eq ptr %18925, null
  br i1 %18926, label %18927, label %18980

18927:                                            ; preds = %18922
  br label %18928

18928:                                            ; preds = %18927
  br label %18929

18929:                                            ; preds = %18928
  call void @llvm.lifetime.start.p0(i64 4, ptr %457) #11
  %18930 = call ptr @__errno_location() #12
  %18931 = load i32, ptr %18930, align 4, !tbaa !5
  store i32 %18931, ptr %457, align 4, !tbaa !5
  %18932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18933 = call i32 @s2n_print_stacktrace(ptr noundef %18932)
  %18934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18935 = trunc i8 %18934 to i1
  br i1 %18935, label %18936, label %18958

18936:                                            ; preds = %18929
  %18937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18938 = call i32 @fileno(ptr noundef %18937) #11
  %18939 = call i32 @isatty(i32 noundef %18938) #11
  %18940 = icmp ne i32 %18939, 0
  br i1 %18940, label %18941, label %18958

18941:                                            ; preds = %18936
  %18942 = load i32, ptr %457, align 4, !tbaa !5
  %18943 = call ptr @__errno_location() #12
  store i32 %18942, ptr %18943, align 4, !tbaa !5
  %18944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18945 = load i32, ptr @test_count, align 4, !tbaa !5
  %18946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18947 = load i32, ptr %18946, align 4, !tbaa !5
  %18948 = call ptr @s2n_strerror(i32 noundef %18947, ptr noundef @.str.25)
  %18949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18950 = load i32, ptr %18949, align 4, !tbaa !5
  %18951 = call ptr @s2n_strerror_debug(i32 noundef %18950, ptr noundef @.str.25)
  %18952 = call ptr @__errno_location() #12
  %18953 = load i32, ptr %18952, align 4, !tbaa !5
  %18954 = call ptr @strerror(i32 noundef %18953) #11
  %18955 = call ptr @__errno_location() #12
  %18956 = load i32, ptr %18955, align 4, !tbaa !5
  %18957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18944, ptr noundef @.str.23, i32 noundef %18945, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 954, ptr noundef %18948, ptr noundef %18951, ptr noundef %18954, i32 noundef %18956) #11
  br label %18975

18958:                                            ; preds = %18936, %18929
  %18959 = load i32, ptr %457, align 4, !tbaa !5
  %18960 = call ptr @__errno_location() #12
  store i32 %18959, ptr %18960, align 4, !tbaa !5
  %18961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18962 = load i32, ptr @test_count, align 4, !tbaa !5
  %18963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18964 = load i32, ptr %18963, align 4, !tbaa !5
  %18965 = call ptr @s2n_strerror(i32 noundef %18964, ptr noundef @.str.25)
  %18966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18967 = load i32, ptr %18966, align 4, !tbaa !5
  %18968 = call ptr @s2n_strerror_debug(i32 noundef %18967, ptr noundef @.str.25)
  %18969 = call ptr @__errno_location() #12
  %18970 = load i32, ptr %18969, align 4, !tbaa !5
  %18971 = call ptr @strerror(i32 noundef %18970) #11
  %18972 = call ptr @__errno_location() #12
  %18973 = load i32, ptr %18972, align 4, !tbaa !5
  %18974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18961, ptr noundef @.str.26, i32 noundef %18962, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 954, ptr noundef %18965, ptr noundef %18968, ptr noundef %18971, i32 noundef %18973) #11
  br label %18975

18975:                                            ; preds = %18958, %18941
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #11
  br label %18976

18976:                                            ; preds = %18975
  br label %18977

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

18978:                                            ; No predecessors!
  br label %18979

18979:                                            ; preds = %18978
  br label %18980

18980:                                            ; preds = %18979, %18922
  br label %18981

18981:                                            ; preds = %18980
  br label %18982

18982:                                            ; preds = %18981
  call void @llvm.lifetime.start.p0(i64 8, ptr %458) #11
  %18983 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18983, ptr %458, align 8, !tbaa !9
  br label %18984

18984:                                            ; preds = %18982
  %18985 = load i32, ptr @test_count, align 4, !tbaa !5
  %18986 = add nsw i32 %18985, 1
  store i32 %18986, ptr @test_count, align 4, !tbaa !5
  %18987 = load ptr, ptr %458, align 8, !tbaa !9
  %18988 = icmp eq ptr %18987, null
  br i1 %18988, label %18989, label %19042

18989:                                            ; preds = %18984
  br label %18990

18990:                                            ; preds = %18989
  br label %18991

18991:                                            ; preds = %18990
  call void @llvm.lifetime.start.p0(i64 4, ptr %459) #11
  %18992 = call ptr @__errno_location() #12
  %18993 = load i32, ptr %18992, align 4, !tbaa !5
  store i32 %18993, ptr %459, align 4, !tbaa !5
  %18994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18995 = call i32 @s2n_print_stacktrace(ptr noundef %18994)
  %18996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18997 = trunc i8 %18996 to i1
  br i1 %18997, label %18998, label %19020

18998:                                            ; preds = %18991
  %18999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19000 = call i32 @fileno(ptr noundef %18999) #11
  %19001 = call i32 @isatty(i32 noundef %19000) #11
  %19002 = icmp ne i32 %19001, 0
  br i1 %19002, label %19003, label %19020

19003:                                            ; preds = %18998
  %19004 = load i32, ptr %459, align 4, !tbaa !5
  %19005 = call ptr @__errno_location() #12
  store i32 %19004, ptr %19005, align 4, !tbaa !5
  %19006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19007 = load i32, ptr @test_count, align 4, !tbaa !5
  %19008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19009 = load i32, ptr %19008, align 4, !tbaa !5
  %19010 = call ptr @s2n_strerror(i32 noundef %19009, ptr noundef @.str.25)
  %19011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19012 = load i32, ptr %19011, align 4, !tbaa !5
  %19013 = call ptr @s2n_strerror_debug(i32 noundef %19012, ptr noundef @.str.25)
  %19014 = call ptr @__errno_location() #12
  %19015 = load i32, ptr %19014, align 4, !tbaa !5
  %19016 = call ptr @strerror(i32 noundef %19015) #11
  %19017 = call ptr @__errno_location() #12
  %19018 = load i32, ptr %19017, align 4, !tbaa !5
  %19019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19006, ptr noundef @.str.23, i32 noundef %19007, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 957, ptr noundef %19010, ptr noundef %19013, ptr noundef %19016, i32 noundef %19018) #11
  br label %19037

19020:                                            ; preds = %18998, %18991
  %19021 = load i32, ptr %459, align 4, !tbaa !5
  %19022 = call ptr @__errno_location() #12
  store i32 %19021, ptr %19022, align 4, !tbaa !5
  %19023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19024 = load i32, ptr @test_count, align 4, !tbaa !5
  %19025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19026 = load i32, ptr %19025, align 4, !tbaa !5
  %19027 = call ptr @s2n_strerror(i32 noundef %19026, ptr noundef @.str.25)
  %19028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19029 = load i32, ptr %19028, align 4, !tbaa !5
  %19030 = call ptr @s2n_strerror_debug(i32 noundef %19029, ptr noundef @.str.25)
  %19031 = call ptr @__errno_location() #12
  %19032 = load i32, ptr %19031, align 4, !tbaa !5
  %19033 = call ptr @strerror(i32 noundef %19032) #11
  %19034 = call ptr @__errno_location() #12
  %19035 = load i32, ptr %19034, align 4, !tbaa !5
  %19036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19023, ptr noundef @.str.26, i32 noundef %19024, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 957, ptr noundef %19027, ptr noundef %19030, ptr noundef %19033, i32 noundef %19035) #11
  br label %19037

19037:                                            ; preds = %19020, %19003
  call void @llvm.lifetime.end.p0(i64 4, ptr %459) #11
  br label %19038

19038:                                            ; preds = %19037
  br label %19039

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

19040:                                            ; No predecessors!
  br label %19041

19041:                                            ; preds = %19040
  br label %19042

19042:                                            ; preds = %19041, %18984
  br label %19043

19043:                                            ; preds = %19042
  br label %19044

19044:                                            ; preds = %19043
  br label %19045

19045:                                            ; preds = %19044
  %19046 = load i32, ptr @test_count, align 4, !tbaa !5
  %19047 = add nsw i32 %19046, 1
  store i32 %19047, ptr @test_count, align 4, !tbaa !5
  %19048 = load ptr, ptr %458, align 8, !tbaa !9
  %19049 = load ptr, ptr %456, align 8, !tbaa !9
  %19050 = call i32 @s2n_connection_set_config(ptr noundef %19048, ptr noundef %19049)
  %19051 = icmp eq i32 %19050, -1
  br i1 %19051, label %19052, label %19105

19052:                                            ; preds = %19045
  br label %19053

19053:                                            ; preds = %19052
  br label %19054

19054:                                            ; preds = %19053
  call void @llvm.lifetime.start.p0(i64 4, ptr %460) #11
  %19055 = call ptr @__errno_location() #12
  %19056 = load i32, ptr %19055, align 4, !tbaa !5
  store i32 %19056, ptr %460, align 4, !tbaa !5
  %19057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19058 = call i32 @s2n_print_stacktrace(ptr noundef %19057)
  %19059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19060 = trunc i8 %19059 to i1
  br i1 %19060, label %19061, label %19083

19061:                                            ; preds = %19054
  %19062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19063 = call i32 @fileno(ptr noundef %19062) #11
  %19064 = call i32 @isatty(i32 noundef %19063) #11
  %19065 = icmp ne i32 %19064, 0
  br i1 %19065, label %19066, label %19083

19066:                                            ; preds = %19061
  %19067 = load i32, ptr %460, align 4, !tbaa !5
  %19068 = call ptr @__errno_location() #12
  store i32 %19067, ptr %19068, align 4, !tbaa !5
  %19069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19070 = load i32, ptr @test_count, align 4, !tbaa !5
  %19071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19072 = load i32, ptr %19071, align 4, !tbaa !5
  %19073 = call ptr @s2n_strerror(i32 noundef %19072, ptr noundef @.str.25)
  %19074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19075 = load i32, ptr %19074, align 4, !tbaa !5
  %19076 = call ptr @s2n_strerror_debug(i32 noundef %19075, ptr noundef @.str.25)
  %19077 = call ptr @__errno_location() #12
  %19078 = load i32, ptr %19077, align 4, !tbaa !5
  %19079 = call ptr @strerror(i32 noundef %19078) #11
  %19080 = call ptr @__errno_location() #12
  %19081 = load i32, ptr %19080, align 4, !tbaa !5
  %19082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19069, ptr noundef @.str.23, i32 noundef %19070, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 958, ptr noundef %19073, ptr noundef %19076, ptr noundef %19079, i32 noundef %19081) #11
  br label %19100

19083:                                            ; preds = %19061, %19054
  %19084 = load i32, ptr %460, align 4, !tbaa !5
  %19085 = call ptr @__errno_location() #12
  store i32 %19084, ptr %19085, align 4, !tbaa !5
  %19086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19087 = load i32, ptr @test_count, align 4, !tbaa !5
  %19088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19089 = load i32, ptr %19088, align 4, !tbaa !5
  %19090 = call ptr @s2n_strerror(i32 noundef %19089, ptr noundef @.str.25)
  %19091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19092 = load i32, ptr %19091, align 4, !tbaa !5
  %19093 = call ptr @s2n_strerror_debug(i32 noundef %19092, ptr noundef @.str.25)
  %19094 = call ptr @__errno_location() #12
  %19095 = load i32, ptr %19094, align 4, !tbaa !5
  %19096 = call ptr @strerror(i32 noundef %19095) #11
  %19097 = call ptr @__errno_location() #12
  %19098 = load i32, ptr %19097, align 4, !tbaa !5
  %19099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19086, ptr noundef @.str.26, i32 noundef %19087, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 958, ptr noundef %19090, ptr noundef %19093, ptr noundef %19096, i32 noundef %19098) #11
  br label %19100

19100:                                            ; preds = %19083, %19066
  call void @llvm.lifetime.end.p0(i64 4, ptr %460) #11
  br label %19101

19101:                                            ; preds = %19100
  br label %19102

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

19103:                                            ; No predecessors!
  br label %19104

19104:                                            ; preds = %19103
  br label %19105

19105:                                            ; preds = %19104, %19045
  br label %19106

19106:                                            ; preds = %19105
  br label %19107

19107:                                            ; preds = %19106
  %19108 = load ptr, ptr %458, align 8, !tbaa !9
  %19109 = getelementptr inbounds %struct.s2n_connection, ptr %19108, i32 0, i32 76
  store i32 2, ptr %19109, align 4, !tbaa !77
  br label %19110

19110:                                            ; preds = %19107
  %19111 = load i32, ptr @test_count, align 4, !tbaa !5
  %19112 = add nsw i32 %19111, 1
  store i32 %19112, ptr @test_count, align 4, !tbaa !5
  %19113 = load ptr, ptr %458, align 8, !tbaa !9
  %19114 = call i32 @s2n_server_nst_send(ptr noundef %19113)
  %19115 = icmp eq i32 %19114, -1
  br i1 %19115, label %19116, label %19169

19116:                                            ; preds = %19110
  br label %19117

19117:                                            ; preds = %19116
  br label %19118

19118:                                            ; preds = %19117
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #11
  %19119 = call ptr @__errno_location() #12
  %19120 = load i32, ptr %19119, align 4, !tbaa !5
  store i32 %19120, ptr %461, align 4, !tbaa !5
  %19121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19122 = call i32 @s2n_print_stacktrace(ptr noundef %19121)
  %19123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19124 = trunc i8 %19123 to i1
  br i1 %19124, label %19125, label %19147

19125:                                            ; preds = %19118
  %19126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19127 = call i32 @fileno(ptr noundef %19126) #11
  %19128 = call i32 @isatty(i32 noundef %19127) #11
  %19129 = icmp ne i32 %19128, 0
  br i1 %19129, label %19130, label %19147

19130:                                            ; preds = %19125
  %19131 = load i32, ptr %461, align 4, !tbaa !5
  %19132 = call ptr @__errno_location() #12
  store i32 %19131, ptr %19132, align 4, !tbaa !5
  %19133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19134 = load i32, ptr @test_count, align 4, !tbaa !5
  %19135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19136 = load i32, ptr %19135, align 4, !tbaa !5
  %19137 = call ptr @s2n_strerror(i32 noundef %19136, ptr noundef @.str.25)
  %19138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19139 = load i32, ptr %19138, align 4, !tbaa !5
  %19140 = call ptr @s2n_strerror_debug(i32 noundef %19139, ptr noundef @.str.25)
  %19141 = call ptr @__errno_location() #12
  %19142 = load i32, ptr %19141, align 4, !tbaa !5
  %19143 = call ptr @strerror(i32 noundef %19142) #11
  %19144 = call ptr @__errno_location() #12
  %19145 = load i32, ptr %19144, align 4, !tbaa !5
  %19146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19133, ptr noundef @.str.23, i32 noundef %19134, ptr noundef @.str.155, ptr noundef @.str.22, i32 noundef 962, ptr noundef %19137, ptr noundef %19140, ptr noundef %19143, i32 noundef %19145) #11
  br label %19164

19147:                                            ; preds = %19125, %19118
  %19148 = load i32, ptr %461, align 4, !tbaa !5
  %19149 = call ptr @__errno_location() #12
  store i32 %19148, ptr %19149, align 4, !tbaa !5
  %19150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19151 = load i32, ptr @test_count, align 4, !tbaa !5
  %19152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19153 = load i32, ptr %19152, align 4, !tbaa !5
  %19154 = call ptr @s2n_strerror(i32 noundef %19153, ptr noundef @.str.25)
  %19155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19156 = load i32, ptr %19155, align 4, !tbaa !5
  %19157 = call ptr @s2n_strerror_debug(i32 noundef %19156, ptr noundef @.str.25)
  %19158 = call ptr @__errno_location() #12
  %19159 = load i32, ptr %19158, align 4, !tbaa !5
  %19160 = call ptr @strerror(i32 noundef %19159) #11
  %19161 = call ptr @__errno_location() #12
  %19162 = load i32, ptr %19161, align 4, !tbaa !5
  %19163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19150, ptr noundef @.str.26, i32 noundef %19151, ptr noundef @.str.155, ptr noundef @.str.22, i32 noundef 962, ptr noundef %19154, ptr noundef %19157, ptr noundef %19160, i32 noundef %19162) #11
  br label %19164

19164:                                            ; preds = %19147, %19130
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #11
  br label %19165

19165:                                            ; preds = %19164
  br label %19166

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

19167:                                            ; No predecessors!
  br label %19168

19168:                                            ; preds = %19167
  br label %19169

19169:                                            ; preds = %19168, %19110
  br label %19170

19170:                                            ; preds = %19169
  br label %19171

19171:                                            ; preds = %19170
  br label %19172

19172:                                            ; preds = %19171
  %19173 = load i32, ptr @test_count, align 4, !tbaa !5
  %19174 = add nsw i32 %19173, 1
  store i32 %19174, ptr @test_count, align 4, !tbaa !5
  %19175 = load ptr, ptr %458, align 8, !tbaa !9
  %19176 = call i32 @s2n_assert_tickets_sent(ptr noundef %19175, i16 noundef zeroext 0)
  %19177 = getelementptr inbounds %struct.s2n_result, ptr %462, i32 0, i32 0
  store i32 %19176, ptr %19177, align 4
  %19178 = getelementptr inbounds %struct.s2n_result, ptr %462, i32 0, i32 0
  %19179 = load i32, ptr %19178, align 4
  %19180 = call zeroext i1 @s2n_result_is_ok(i32 %19179)
  br i1 %19180, label %19234, label %19181

19181:                                            ; preds = %19172
  br label %19182

19182:                                            ; preds = %19181
  br label %19183

19183:                                            ; preds = %19182
  call void @llvm.lifetime.start.p0(i64 4, ptr %463) #11
  %19184 = call ptr @__errno_location() #12
  %19185 = load i32, ptr %19184, align 4, !tbaa !5
  store i32 %19185, ptr %463, align 4, !tbaa !5
  %19186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19187 = call i32 @s2n_print_stacktrace(ptr noundef %19186)
  %19188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19189 = trunc i8 %19188 to i1
  br i1 %19189, label %19190, label %19212

19190:                                            ; preds = %19183
  %19191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19192 = call i32 @fileno(ptr noundef %19191) #11
  %19193 = call i32 @isatty(i32 noundef %19192) #11
  %19194 = icmp ne i32 %19193, 0
  br i1 %19194, label %19195, label %19212

19195:                                            ; preds = %19190
  %19196 = load i32, ptr %463, align 4, !tbaa !5
  %19197 = call ptr @__errno_location() #12
  store i32 %19196, ptr %19197, align 4, !tbaa !5
  %19198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19199 = load i32, ptr @test_count, align 4, !tbaa !5
  %19200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19201 = load i32, ptr %19200, align 4, !tbaa !5
  %19202 = call ptr @s2n_strerror(i32 noundef %19201, ptr noundef @.str.25)
  %19203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19204 = load i32, ptr %19203, align 4, !tbaa !5
  %19205 = call ptr @s2n_strerror_debug(i32 noundef %19204, ptr noundef @.str.25)
  %19206 = call ptr @__errno_location() #12
  %19207 = load i32, ptr %19206, align 4, !tbaa !5
  %19208 = call ptr @strerror(i32 noundef %19207) #11
  %19209 = call ptr @__errno_location() #12
  %19210 = load i32, ptr %19209, align 4, !tbaa !5
  %19211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19198, ptr noundef @.str.23, i32 noundef %19199, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 963, ptr noundef %19202, ptr noundef %19205, ptr noundef %19208, i32 noundef %19210) #11
  br label %19229

19212:                                            ; preds = %19190, %19183
  %19213 = load i32, ptr %463, align 4, !tbaa !5
  %19214 = call ptr @__errno_location() #12
  store i32 %19213, ptr %19214, align 4, !tbaa !5
  %19215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19216 = load i32, ptr @test_count, align 4, !tbaa !5
  %19217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19218 = load i32, ptr %19217, align 4, !tbaa !5
  %19219 = call ptr @s2n_strerror(i32 noundef %19218, ptr noundef @.str.25)
  %19220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19221 = load i32, ptr %19220, align 4, !tbaa !5
  %19222 = call ptr @s2n_strerror_debug(i32 noundef %19221, ptr noundef @.str.25)
  %19223 = call ptr @__errno_location() #12
  %19224 = load i32, ptr %19223, align 4, !tbaa !5
  %19225 = call ptr @strerror(i32 noundef %19224) #11
  %19226 = call ptr @__errno_location() #12
  %19227 = load i32, ptr %19226, align 4, !tbaa !5
  %19228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19215, ptr noundef @.str.26, i32 noundef %19216, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 963, ptr noundef %19219, ptr noundef %19222, ptr noundef %19225, i32 noundef %19227) #11
  br label %19229

19229:                                            ; preds = %19212, %19195
  call void @llvm.lifetime.end.p0(i64 4, ptr %463) #11
  br label %19230

19230:                                            ; preds = %19229
  br label %19231

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

19232:                                            ; No predecessors!
  br label %19233

19233:                                            ; preds = %19232
  br label %19234

19234:                                            ; preds = %19233, %19172
  br label %19235

19235:                                            ; preds = %19234
  br label %19236

19236:                                            ; preds = %19235
  call void @llvm.lifetime.start.p0(i64 4, ptr %464) #11
  store i32 0, ptr %464, align 4, !tbaa !5
  br label %19237

19237:                                            ; preds = %19236
  %19238 = load i32, ptr @test_count, align 4, !tbaa !5
  %19239 = add nsw i32 %19238, 1
  store i32 %19239, ptr @test_count, align 4, !tbaa !5
  %19240 = load ptr, ptr %458, align 8, !tbaa !9
  %19241 = getelementptr inbounds %struct.s2n_connection, ptr %19240, i32 0, i32 52
  %19242 = getelementptr inbounds %struct.s2n_handshake, ptr %19241, i32 0, i32 0
  %19243 = call i32 @s2n_stuffer_read_uint32(ptr noundef %19242, ptr noundef %464)
  %19244 = icmp eq i32 %19243, -1
  br i1 %19244, label %19245, label %19298

19245:                                            ; preds = %19237
  br label %19246

19246:                                            ; preds = %19245
  br label %19247

19247:                                            ; preds = %19246
  call void @llvm.lifetime.start.p0(i64 4, ptr %465) #11
  %19248 = call ptr @__errno_location() #12
  %19249 = load i32, ptr %19248, align 4, !tbaa !5
  store i32 %19249, ptr %465, align 4, !tbaa !5
  %19250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19251 = call i32 @s2n_print_stacktrace(ptr noundef %19250)
  %19252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19253 = trunc i8 %19252 to i1
  br i1 %19253, label %19254, label %19276

19254:                                            ; preds = %19247
  %19255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19256 = call i32 @fileno(ptr noundef %19255) #11
  %19257 = call i32 @isatty(i32 noundef %19256) #11
  %19258 = icmp ne i32 %19257, 0
  br i1 %19258, label %19259, label %19276

19259:                                            ; preds = %19254
  %19260 = load i32, ptr %465, align 4, !tbaa !5
  %19261 = call ptr @__errno_location() #12
  store i32 %19260, ptr %19261, align 4, !tbaa !5
  %19262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19263 = load i32, ptr @test_count, align 4, !tbaa !5
  %19264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19265 = load i32, ptr %19264, align 4, !tbaa !5
  %19266 = call ptr @s2n_strerror(i32 noundef %19265, ptr noundef @.str.25)
  %19267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19268 = load i32, ptr %19267, align 4, !tbaa !5
  %19269 = call ptr @s2n_strerror_debug(i32 noundef %19268, ptr noundef @.str.25)
  %19270 = call ptr @__errno_location() #12
  %19271 = load i32, ptr %19270, align 4, !tbaa !5
  %19272 = call ptr @strerror(i32 noundef %19271) #11
  %19273 = call ptr @__errno_location() #12
  %19274 = load i32, ptr %19273, align 4, !tbaa !5
  %19275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19262, ptr noundef @.str.23, i32 noundef %19263, ptr noundef @.str.157, ptr noundef @.str.22, i32 noundef 966, ptr noundef %19266, ptr noundef %19269, ptr noundef %19272, i32 noundef %19274) #11
  br label %19293

19276:                                            ; preds = %19254, %19247
  %19277 = load i32, ptr %465, align 4, !tbaa !5
  %19278 = call ptr @__errno_location() #12
  store i32 %19277, ptr %19278, align 4, !tbaa !5
  %19279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19280 = load i32, ptr @test_count, align 4, !tbaa !5
  %19281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19282 = load i32, ptr %19281, align 4, !tbaa !5
  %19283 = call ptr @s2n_strerror(i32 noundef %19282, ptr noundef @.str.25)
  %19284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19285 = load i32, ptr %19284, align 4, !tbaa !5
  %19286 = call ptr @s2n_strerror_debug(i32 noundef %19285, ptr noundef @.str.25)
  %19287 = call ptr @__errno_location() #12
  %19288 = load i32, ptr %19287, align 4, !tbaa !5
  %19289 = call ptr @strerror(i32 noundef %19288) #11
  %19290 = call ptr @__errno_location() #12
  %19291 = load i32, ptr %19290, align 4, !tbaa !5
  %19292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19279, ptr noundef @.str.26, i32 noundef %19280, ptr noundef @.str.157, ptr noundef @.str.22, i32 noundef 966, ptr noundef %19283, ptr noundef %19286, ptr noundef %19289, i32 noundef %19291) #11
  br label %19293

19293:                                            ; preds = %19276, %19259
  call void @llvm.lifetime.end.p0(i64 4, ptr %465) #11
  br label %19294

19294:                                            ; preds = %19293
  br label %19295

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

19296:                                            ; No predecessors!
  br label %19297

19297:                                            ; preds = %19296
  br label %19298

19298:                                            ; preds = %19297, %19237
  br label %19299

19299:                                            ; preds = %19298
  br label %19300

19300:                                            ; preds = %19299
  br label %19301

19301:                                            ; preds = %19300
  %19302 = load i32, ptr @test_count, align 4, !tbaa !5
  %19303 = add nsw i32 %19302, 1
  store i32 %19303, ptr @test_count, align 4, !tbaa !5
  %19304 = load i32, ptr %464, align 4, !tbaa !5
  %19305 = icmp eq i32 %19304, 0
  br i1 %19305, label %19359, label %19306

19306:                                            ; preds = %19301
  br label %19307

19307:                                            ; preds = %19306
  br label %19308

19308:                                            ; preds = %19307
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #11
  %19309 = call ptr @__errno_location() #12
  %19310 = load i32, ptr %19309, align 4, !tbaa !5
  store i32 %19310, ptr %466, align 4, !tbaa !5
  %19311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19312 = call i32 @s2n_print_stacktrace(ptr noundef %19311)
  %19313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19314 = trunc i8 %19313 to i1
  br i1 %19314, label %19315, label %19337

19315:                                            ; preds = %19308
  %19316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19317 = call i32 @fileno(ptr noundef %19316) #11
  %19318 = call i32 @isatty(i32 noundef %19317) #11
  %19319 = icmp ne i32 %19318, 0
  br i1 %19319, label %19320, label %19337

19320:                                            ; preds = %19315
  %19321 = load i32, ptr %466, align 4, !tbaa !5
  %19322 = call ptr @__errno_location() #12
  store i32 %19321, ptr %19322, align 4, !tbaa !5
  %19323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19324 = load i32, ptr @test_count, align 4, !tbaa !5
  %19325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19326 = load i32, ptr %19325, align 4, !tbaa !5
  %19327 = call ptr @s2n_strerror(i32 noundef %19326, ptr noundef @.str.25)
  %19328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19329 = load i32, ptr %19328, align 4, !tbaa !5
  %19330 = call ptr @s2n_strerror_debug(i32 noundef %19329, ptr noundef @.str.25)
  %19331 = call ptr @__errno_location() #12
  %19332 = load i32, ptr %19331, align 4, !tbaa !5
  %19333 = call ptr @strerror(i32 noundef %19332) #11
  %19334 = call ptr @__errno_location() #12
  %19335 = load i32, ptr %19334, align 4, !tbaa !5
  %19336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19323, ptr noundef @.str.23, i32 noundef %19324, ptr noundef @.str.163, ptr noundef @.str.22, i32 noundef 967, ptr noundef %19327, ptr noundef %19330, ptr noundef %19333, i32 noundef %19335) #11
  br label %19354

19337:                                            ; preds = %19315, %19308
  %19338 = load i32, ptr %466, align 4, !tbaa !5
  %19339 = call ptr @__errno_location() #12
  store i32 %19338, ptr %19339, align 4, !tbaa !5
  %19340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19341 = load i32, ptr @test_count, align 4, !tbaa !5
  %19342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19343 = load i32, ptr %19342, align 4, !tbaa !5
  %19344 = call ptr @s2n_strerror(i32 noundef %19343, ptr noundef @.str.25)
  %19345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19346 = load i32, ptr %19345, align 4, !tbaa !5
  %19347 = call ptr @s2n_strerror_debug(i32 noundef %19346, ptr noundef @.str.25)
  %19348 = call ptr @__errno_location() #12
  %19349 = load i32, ptr %19348, align 4, !tbaa !5
  %19350 = call ptr @strerror(i32 noundef %19349) #11
  %19351 = call ptr @__errno_location() #12
  %19352 = load i32, ptr %19351, align 4, !tbaa !5
  %19353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19340, ptr noundef @.str.26, i32 noundef %19341, ptr noundef @.str.163, ptr noundef @.str.22, i32 noundef 967, ptr noundef %19344, ptr noundef %19347, ptr noundef %19350, i32 noundef %19352) #11
  br label %19354

19354:                                            ; preds = %19337, %19320
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #11
  br label %19355

19355:                                            ; preds = %19354
  br label %19356

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

19357:                                            ; No predecessors!
  br label %19358

19358:                                            ; preds = %19357
  br label %19359

19359:                                            ; preds = %19358, %19301
  br label %19360

19360:                                            ; preds = %19359
  br label %19361

19361:                                            ; preds = %19360
  call void @llvm.lifetime.start.p0(i64 2, ptr %467) #11
  store i16 0, ptr %467, align 2, !tbaa !49
  br label %19362

19362:                                            ; preds = %19361
  %19363 = load i32, ptr @test_count, align 4, !tbaa !5
  %19364 = add nsw i32 %19363, 1
  store i32 %19364, ptr @test_count, align 4, !tbaa !5
  %19365 = load ptr, ptr %458, align 8, !tbaa !9
  %19366 = getelementptr inbounds %struct.s2n_connection, ptr %19365, i32 0, i32 52
  %19367 = getelementptr inbounds %struct.s2n_handshake, ptr %19366, i32 0, i32 0
  %19368 = call i32 @s2n_stuffer_read_uint16(ptr noundef %19367, ptr noundef %467)
  %19369 = icmp eq i32 %19368, -1
  br i1 %19369, label %19370, label %19423

19370:                                            ; preds = %19362
  br label %19371

19371:                                            ; preds = %19370
  br label %19372

19372:                                            ; preds = %19371
  call void @llvm.lifetime.start.p0(i64 4, ptr %468) #11
  %19373 = call ptr @__errno_location() #12
  %19374 = load i32, ptr %19373, align 4, !tbaa !5
  store i32 %19374, ptr %468, align 4, !tbaa !5
  %19375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19376 = call i32 @s2n_print_stacktrace(ptr noundef %19375)
  %19377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19378 = trunc i8 %19377 to i1
  br i1 %19378, label %19379, label %19401

19379:                                            ; preds = %19372
  %19380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19381 = call i32 @fileno(ptr noundef %19380) #11
  %19382 = call i32 @isatty(i32 noundef %19381) #11
  %19383 = icmp ne i32 %19382, 0
  br i1 %19383, label %19384, label %19401

19384:                                            ; preds = %19379
  %19385 = load i32, ptr %468, align 4, !tbaa !5
  %19386 = call ptr @__errno_location() #12
  store i32 %19385, ptr %19386, align 4, !tbaa !5
  %19387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19388 = load i32, ptr @test_count, align 4, !tbaa !5
  %19389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19390 = load i32, ptr %19389, align 4, !tbaa !5
  %19391 = call ptr @s2n_strerror(i32 noundef %19390, ptr noundef @.str.25)
  %19392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19393 = load i32, ptr %19392, align 4, !tbaa !5
  %19394 = call ptr @s2n_strerror_debug(i32 noundef %19393, ptr noundef @.str.25)
  %19395 = call ptr @__errno_location() #12
  %19396 = load i32, ptr %19395, align 4, !tbaa !5
  %19397 = call ptr @strerror(i32 noundef %19396) #11
  %19398 = call ptr @__errno_location() #12
  %19399 = load i32, ptr %19398, align 4, !tbaa !5
  %19400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19387, ptr noundef @.str.23, i32 noundef %19388, ptr noundef @.str.159, ptr noundef @.str.22, i32 noundef 970, ptr noundef %19391, ptr noundef %19394, ptr noundef %19397, i32 noundef %19399) #11
  br label %19418

19401:                                            ; preds = %19379, %19372
  %19402 = load i32, ptr %468, align 4, !tbaa !5
  %19403 = call ptr @__errno_location() #12
  store i32 %19402, ptr %19403, align 4, !tbaa !5
  %19404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19405 = load i32, ptr @test_count, align 4, !tbaa !5
  %19406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19407 = load i32, ptr %19406, align 4, !tbaa !5
  %19408 = call ptr @s2n_strerror(i32 noundef %19407, ptr noundef @.str.25)
  %19409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19410 = load i32, ptr %19409, align 4, !tbaa !5
  %19411 = call ptr @s2n_strerror_debug(i32 noundef %19410, ptr noundef @.str.25)
  %19412 = call ptr @__errno_location() #12
  %19413 = load i32, ptr %19412, align 4, !tbaa !5
  %19414 = call ptr @strerror(i32 noundef %19413) #11
  %19415 = call ptr @__errno_location() #12
  %19416 = load i32, ptr %19415, align 4, !tbaa !5
  %19417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19404, ptr noundef @.str.26, i32 noundef %19405, ptr noundef @.str.159, ptr noundef @.str.22, i32 noundef 970, ptr noundef %19408, ptr noundef %19411, ptr noundef %19414, i32 noundef %19416) #11
  br label %19418

19418:                                            ; preds = %19401, %19384
  call void @llvm.lifetime.end.p0(i64 4, ptr %468) #11
  br label %19419

19419:                                            ; preds = %19418
  br label %19420

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

19421:                                            ; No predecessors!
  br label %19422

19422:                                            ; preds = %19421
  br label %19423

19423:                                            ; preds = %19422, %19362
  br label %19424

19424:                                            ; preds = %19423
  br label %19425

19425:                                            ; preds = %19424
  br label %19426

19426:                                            ; preds = %19425
  %19427 = load i32, ptr @test_count, align 4, !tbaa !5
  %19428 = add nsw i32 %19427, 1
  store i32 %19428, ptr @test_count, align 4, !tbaa !5
  %19429 = load i16, ptr %467, align 2, !tbaa !49
  %19430 = zext i16 %19429 to i32
  %19431 = icmp eq i32 %19430, 0
  br i1 %19431, label %19485, label %19432

19432:                                            ; preds = %19426
  br label %19433

19433:                                            ; preds = %19432
  br label %19434

19434:                                            ; preds = %19433
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #11
  %19435 = call ptr @__errno_location() #12
  %19436 = load i32, ptr %19435, align 4, !tbaa !5
  store i32 %19436, ptr %469, align 4, !tbaa !5
  %19437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19438 = call i32 @s2n_print_stacktrace(ptr noundef %19437)
  %19439 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19440 = trunc i8 %19439 to i1
  br i1 %19440, label %19441, label %19463

19441:                                            ; preds = %19434
  %19442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19443 = call i32 @fileno(ptr noundef %19442) #11
  %19444 = call i32 @isatty(i32 noundef %19443) #11
  %19445 = icmp ne i32 %19444, 0
  br i1 %19445, label %19446, label %19463

19446:                                            ; preds = %19441
  %19447 = load i32, ptr %469, align 4, !tbaa !5
  %19448 = call ptr @__errno_location() #12
  store i32 %19447, ptr %19448, align 4, !tbaa !5
  %19449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19450 = load i32, ptr @test_count, align 4, !tbaa !5
  %19451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19452 = load i32, ptr %19451, align 4, !tbaa !5
  %19453 = call ptr @s2n_strerror(i32 noundef %19452, ptr noundef @.str.25)
  %19454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19455 = load i32, ptr %19454, align 4, !tbaa !5
  %19456 = call ptr @s2n_strerror_debug(i32 noundef %19455, ptr noundef @.str.25)
  %19457 = call ptr @__errno_location() #12
  %19458 = load i32, ptr %19457, align 4, !tbaa !5
  %19459 = call ptr @strerror(i32 noundef %19458) #11
  %19460 = call ptr @__errno_location() #12
  %19461 = load i32, ptr %19460, align 4, !tbaa !5
  %19462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19449, ptr noundef @.str.23, i32 noundef %19450, ptr noundef @.str.164, ptr noundef @.str.22, i32 noundef 971, ptr noundef %19453, ptr noundef %19456, ptr noundef %19459, i32 noundef %19461) #11
  br label %19480

19463:                                            ; preds = %19441, %19434
  %19464 = load i32, ptr %469, align 4, !tbaa !5
  %19465 = call ptr @__errno_location() #12
  store i32 %19464, ptr %19465, align 4, !tbaa !5
  %19466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19467 = load i32, ptr @test_count, align 4, !tbaa !5
  %19468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19469 = load i32, ptr %19468, align 4, !tbaa !5
  %19470 = call ptr @s2n_strerror(i32 noundef %19469, ptr noundef @.str.25)
  %19471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19472 = load i32, ptr %19471, align 4, !tbaa !5
  %19473 = call ptr @s2n_strerror_debug(i32 noundef %19472, ptr noundef @.str.25)
  %19474 = call ptr @__errno_location() #12
  %19475 = load i32, ptr %19474, align 4, !tbaa !5
  %19476 = call ptr @strerror(i32 noundef %19475) #11
  %19477 = call ptr @__errno_location() #12
  %19478 = load i32, ptr %19477, align 4, !tbaa !5
  %19479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19466, ptr noundef @.str.26, i32 noundef %19467, ptr noundef @.str.164, ptr noundef @.str.22, i32 noundef 971, ptr noundef %19470, ptr noundef %19473, ptr noundef %19476, i32 noundef %19478) #11
  br label %19480

19480:                                            ; preds = %19463, %19446
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #11
  br label %19481

19481:                                            ; preds = %19480
  br label %19482

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

19483:                                            ; No predecessors!
  br label %19484

19484:                                            ; preds = %19483
  br label %19485

19485:                                            ; preds = %19484, %19426
  br label %19486

19486:                                            ; preds = %19485
  br label %19487

19487:                                            ; preds = %19486
  br label %19488

19488:                                            ; preds = %19487
  %19489 = load i32, ptr @test_count, align 4, !tbaa !5
  %19490 = add nsw i32 %19489, 1
  store i32 %19490, ptr @test_count, align 4, !tbaa !5
  %19491 = load ptr, ptr %458, align 8, !tbaa !9
  %19492 = getelementptr inbounds %struct.s2n_connection, ptr %19491, i32 0, i32 52
  %19493 = getelementptr inbounds %struct.s2n_handshake, ptr %19492, i32 0, i32 0
  %19494 = getelementptr inbounds %struct.s2n_stuffer, ptr %19493, i32 0, i32 2
  %19495 = load i32, ptr %19494, align 4, !tbaa !78
  %19496 = load ptr, ptr %458, align 8, !tbaa !9
  %19497 = getelementptr inbounds %struct.s2n_connection, ptr %19496, i32 0, i32 52
  %19498 = getelementptr inbounds %struct.s2n_handshake, ptr %19497, i32 0, i32 0
  %19499 = getelementptr inbounds %struct.s2n_stuffer, ptr %19498, i32 0, i32 1
  %19500 = load i32, ptr %19499, align 8, !tbaa !79
  %19501 = sub i32 %19495, %19500
  %19502 = icmp eq i32 %19501, 0
  br i1 %19502, label %19556, label %19503

19503:                                            ; preds = %19488
  br label %19504

19504:                                            ; preds = %19503
  br label %19505

19505:                                            ; preds = %19504
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #11
  %19506 = call ptr @__errno_location() #12
  %19507 = load i32, ptr %19506, align 4, !tbaa !5
  store i32 %19507, ptr %470, align 4, !tbaa !5
  %19508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19509 = call i32 @s2n_print_stacktrace(ptr noundef %19508)
  %19510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19511 = trunc i8 %19510 to i1
  br i1 %19511, label %19512, label %19534

19512:                                            ; preds = %19505
  %19513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19514 = call i32 @fileno(ptr noundef %19513) #11
  %19515 = call i32 @isatty(i32 noundef %19514) #11
  %19516 = icmp ne i32 %19515, 0
  br i1 %19516, label %19517, label %19534

19517:                                            ; preds = %19512
  %19518 = load i32, ptr %470, align 4, !tbaa !5
  %19519 = call ptr @__errno_location() #12
  store i32 %19518, ptr %19519, align 4, !tbaa !5
  %19520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19521 = load i32, ptr @test_count, align 4, !tbaa !5
  %19522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19523 = load i32, ptr %19522, align 4, !tbaa !5
  %19524 = call ptr @s2n_strerror(i32 noundef %19523, ptr noundef @.str.25)
  %19525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19526 = load i32, ptr %19525, align 4, !tbaa !5
  %19527 = call ptr @s2n_strerror_debug(i32 noundef %19526, ptr noundef @.str.25)
  %19528 = call ptr @__errno_location() #12
  %19529 = load i32, ptr %19528, align 4, !tbaa !5
  %19530 = call ptr @strerror(i32 noundef %19529) #11
  %19531 = call ptr @__errno_location() #12
  %19532 = load i32, ptr %19531, align 4, !tbaa !5
  %19533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19520, ptr noundef @.str.23, i32 noundef %19521, ptr noundef @.str.165, ptr noundef @.str.22, i32 noundef 972, ptr noundef %19524, ptr noundef %19527, ptr noundef %19530, i32 noundef %19532) #11
  br label %19551

19534:                                            ; preds = %19512, %19505
  %19535 = load i32, ptr %470, align 4, !tbaa !5
  %19536 = call ptr @__errno_location() #12
  store i32 %19535, ptr %19536, align 4, !tbaa !5
  %19537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19538 = load i32, ptr @test_count, align 4, !tbaa !5
  %19539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19540 = load i32, ptr %19539, align 4, !tbaa !5
  %19541 = call ptr @s2n_strerror(i32 noundef %19540, ptr noundef @.str.25)
  %19542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19543 = load i32, ptr %19542, align 4, !tbaa !5
  %19544 = call ptr @s2n_strerror_debug(i32 noundef %19543, ptr noundef @.str.25)
  %19545 = call ptr @__errno_location() #12
  %19546 = load i32, ptr %19545, align 4, !tbaa !5
  %19547 = call ptr @strerror(i32 noundef %19546) #11
  %19548 = call ptr @__errno_location() #12
  %19549 = load i32, ptr %19548, align 4, !tbaa !5
  %19550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19537, ptr noundef @.str.26, i32 noundef %19538, ptr noundef @.str.165, ptr noundef @.str.22, i32 noundef 972, ptr noundef %19541, ptr noundef %19544, ptr noundef %19547, i32 noundef %19549) #11
  br label %19551

19551:                                            ; preds = %19534, %19517
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #11
  br label %19552

19552:                                            ; preds = %19551
  br label %19553

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

19554:                                            ; No predecessors!
  br label %19555

19555:                                            ; preds = %19554
  br label %19556

19556:                                            ; preds = %19555, %19488
  br label %19557

19557:                                            ; preds = %19556
  br label %19558

19558:                                            ; preds = %19557
  call void @llvm.lifetime.end.p0(i64 2, ptr %467) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %464) #11
  %19559 = call i32 @s2n_connection_ptr_free(ptr noundef %458)
  %19560 = getelementptr inbounds %struct.s2n_result, ptr %471, i32 0, i32 0
  store i32 %19559, ptr %19560, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %458) #11
  %19561 = call i32 @s2n_config_ptr_free(ptr noundef %456)
  %19562 = getelementptr inbounds %struct.s2n_result, ptr %472, i32 0, i32 0
  store i32 %19561, ptr %19562, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %456) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %473) #11
  %19563 = call ptr @s2n_config_new()
  store ptr %19563, ptr %473, align 8, !tbaa !9
  br label %19564

19564:                                            ; preds = %19558
  %19565 = load i32, ptr @test_count, align 4, !tbaa !5
  %19566 = add nsw i32 %19565, 1
  store i32 %19566, ptr @test_count, align 4, !tbaa !5
  %19567 = load ptr, ptr %473, align 8, !tbaa !9
  %19568 = icmp eq ptr %19567, null
  br i1 %19568, label %19569, label %19622

19569:                                            ; preds = %19564
  br label %19570

19570:                                            ; preds = %19569
  br label %19571

19571:                                            ; preds = %19570
  call void @llvm.lifetime.start.p0(i64 4, ptr %474) #11
  %19572 = call ptr @__errno_location() #12
  %19573 = load i32, ptr %19572, align 4, !tbaa !5
  store i32 %19573, ptr %474, align 4, !tbaa !5
  %19574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19575 = call i32 @s2n_print_stacktrace(ptr noundef %19574)
  %19576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19577 = trunc i8 %19576 to i1
  br i1 %19577, label %19578, label %19600

19578:                                            ; preds = %19571
  %19579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19580 = call i32 @fileno(ptr noundef %19579) #11
  %19581 = call i32 @isatty(i32 noundef %19580) #11
  %19582 = icmp ne i32 %19581, 0
  br i1 %19582, label %19583, label %19600

19583:                                            ; preds = %19578
  %19584 = load i32, ptr %474, align 4, !tbaa !5
  %19585 = call ptr @__errno_location() #12
  store i32 %19584, ptr %19585, align 4, !tbaa !5
  %19586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19587 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %19589, ptr noundef @.str.25)
  %19591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19592 = load i32, ptr %19591, align 4, !tbaa !5
  %19593 = call ptr @s2n_strerror_debug(i32 noundef %19592, ptr noundef @.str.25)
  %19594 = call ptr @__errno_location() #12
  %19595 = load i32, ptr %19594, align 4, !tbaa !5
  %19596 = call ptr @strerror(i32 noundef %19595) #11
  %19597 = call ptr @__errno_location() #12
  %19598 = load i32, ptr %19597, align 4, !tbaa !5
  %19599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19586, ptr noundef @.str.23, i32 noundef %19587, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 978, ptr noundef %19590, ptr noundef %19593, ptr noundef %19596, i32 noundef %19598) #11
  br label %19617

19600:                                            ; preds = %19578, %19571
  %19601 = load i32, ptr %474, align 4, !tbaa !5
  %19602 = call ptr @__errno_location() #12
  store i32 %19601, ptr %19602, align 4, !tbaa !5
  %19603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19604 = load i32, ptr @test_count, align 4, !tbaa !5
  %19605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19606 = load i32, ptr %19605, align 4, !tbaa !5
  %19607 = call ptr @s2n_strerror(i32 noundef %19606, ptr noundef @.str.25)
  %19608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19609 = load i32, ptr %19608, align 4, !tbaa !5
  %19610 = call ptr @s2n_strerror_debug(i32 noundef %19609, ptr noundef @.str.25)
  %19611 = call ptr @__errno_location() #12
  %19612 = load i32, ptr %19611, align 4, !tbaa !5
  %19613 = call ptr @strerror(i32 noundef %19612) #11
  %19614 = call ptr @__errno_location() #12
  %19615 = load i32, ptr %19614, align 4, !tbaa !5
  %19616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19603, ptr noundef @.str.26, i32 noundef %19604, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 978, ptr noundef %19607, ptr noundef %19610, ptr noundef %19613, i32 noundef %19615) #11
  br label %19617

19617:                                            ; preds = %19600, %19583
  call void @llvm.lifetime.end.p0(i64 4, ptr %474) #11
  br label %19618

19618:                                            ; preds = %19617
  br label %19619

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

19620:                                            ; No predecessors!
  br label %19621

19621:                                            ; preds = %19620
  br label %19622

19622:                                            ; preds = %19621, %19564
  br label %19623

19623:                                            ; preds = %19622
  br label %19624

19624:                                            ; preds = %19623
  call void @llvm.lifetime.start.p0(i64 8, ptr %475) #11
  %19625 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %19625, ptr %475, align 8, !tbaa !9
  br label %19626

19626:                                            ; preds = %19624
  %19627 = load i32, ptr @test_count, align 4, !tbaa !5
  %19628 = add nsw i32 %19627, 1
  store i32 %19628, ptr @test_count, align 4, !tbaa !5
  %19629 = load ptr, ptr %475, align 8, !tbaa !9
  %19630 = icmp eq ptr %19629, null
  br i1 %19630, label %19631, label %19684

19631:                                            ; preds = %19626
  br label %19632

19632:                                            ; preds = %19631
  br label %19633

19633:                                            ; preds = %19632
  call void @llvm.lifetime.start.p0(i64 4, ptr %476) #11
  %19634 = call ptr @__errno_location() #12
  %19635 = load i32, ptr %19634, align 4, !tbaa !5
  store i32 %19635, ptr %476, align 4, !tbaa !5
  %19636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19637 = call i32 @s2n_print_stacktrace(ptr noundef %19636)
  %19638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19639 = trunc i8 %19638 to i1
  br i1 %19639, label %19640, label %19662

19640:                                            ; preds = %19633
  %19641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19642 = call i32 @fileno(ptr noundef %19641) #11
  %19643 = call i32 @isatty(i32 noundef %19642) #11
  %19644 = icmp ne i32 %19643, 0
  br i1 %19644, label %19645, label %19662

19645:                                            ; preds = %19640
  %19646 = load i32, ptr %476, align 4, !tbaa !5
  %19647 = call ptr @__errno_location() #12
  store i32 %19646, ptr %19647, align 4, !tbaa !5
  %19648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19649 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %19651, ptr noundef @.str.25)
  %19653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19654 = load i32, ptr %19653, align 4, !tbaa !5
  %19655 = call ptr @s2n_strerror_debug(i32 noundef %19654, ptr noundef @.str.25)
  %19656 = call ptr @__errno_location() #12
  %19657 = load i32, ptr %19656, align 4, !tbaa !5
  %19658 = call ptr @strerror(i32 noundef %19657) #11
  %19659 = call ptr @__errno_location() #12
  %19660 = load i32, ptr %19659, align 4, !tbaa !5
  %19661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19648, ptr noundef @.str.23, i32 noundef %19649, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 981, ptr noundef %19652, ptr noundef %19655, ptr noundef %19658, i32 noundef %19660) #11
  br label %19679

19662:                                            ; preds = %19640, %19633
  %19663 = load i32, ptr %476, align 4, !tbaa !5
  %19664 = call ptr @__errno_location() #12
  store i32 %19663, ptr %19664, align 4, !tbaa !5
  %19665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19666 = load i32, ptr @test_count, align 4, !tbaa !5
  %19667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19668 = load i32, ptr %19667, align 4, !tbaa !5
  %19669 = call ptr @s2n_strerror(i32 noundef %19668, ptr noundef @.str.25)
  %19670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19671 = load i32, ptr %19670, align 4, !tbaa !5
  %19672 = call ptr @s2n_strerror_debug(i32 noundef %19671, ptr noundef @.str.25)
  %19673 = call ptr @__errno_location() #12
  %19674 = load i32, ptr %19673, align 4, !tbaa !5
  %19675 = call ptr @strerror(i32 noundef %19674) #11
  %19676 = call ptr @__errno_location() #12
  %19677 = load i32, ptr %19676, align 4, !tbaa !5
  %19678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19665, ptr noundef @.str.26, i32 noundef %19666, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 981, ptr noundef %19669, ptr noundef %19672, ptr noundef %19675, i32 noundef %19677) #11
  br label %19679

19679:                                            ; preds = %19662, %19645
  call void @llvm.lifetime.end.p0(i64 4, ptr %476) #11
  br label %19680

19680:                                            ; preds = %19679
  br label %19681

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

19682:                                            ; No predecessors!
  br label %19683

19683:                                            ; preds = %19682
  br label %19684

19684:                                            ; preds = %19683, %19626
  br label %19685

19685:                                            ; preds = %19684
  br label %19686

19686:                                            ; preds = %19685
  br label %19687

19687:                                            ; preds = %19686
  %19688 = load i32, ptr @test_count, align 4, !tbaa !5
  %19689 = add nsw i32 %19688, 1
  store i32 %19689, ptr @test_count, align 4, !tbaa !5
  %19690 = load ptr, ptr %475, align 8, !tbaa !9
  %19691 = load ptr, ptr %473, align 8, !tbaa !9
  %19692 = call i32 @s2n_connection_set_config(ptr noundef %19690, ptr noundef %19691)
  %19693 = icmp eq i32 %19692, -1
  br i1 %19693, label %19694, label %19747

19694:                                            ; preds = %19687
  br label %19695

19695:                                            ; preds = %19694
  br label %19696

19696:                                            ; preds = %19695
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #11
  %19697 = call ptr @__errno_location() #12
  %19698 = load i32, ptr %19697, align 4, !tbaa !5
  store i32 %19698, ptr %477, align 4, !tbaa !5
  %19699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19700 = call i32 @s2n_print_stacktrace(ptr noundef %19699)
  %19701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19702 = trunc i8 %19701 to i1
  br i1 %19702, label %19703, label %19725

19703:                                            ; preds = %19696
  %19704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19705 = call i32 @fileno(ptr noundef %19704) #11
  %19706 = call i32 @isatty(i32 noundef %19705) #11
  %19707 = icmp ne i32 %19706, 0
  br i1 %19707, label %19708, label %19725

19708:                                            ; preds = %19703
  %19709 = load i32, ptr %477, align 4, !tbaa !5
  %19710 = call ptr @__errno_location() #12
  store i32 %19709, ptr %19710, align 4, !tbaa !5
  %19711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19712 = load i32, ptr @test_count, align 4, !tbaa !5
  %19713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19714 = load i32, ptr %19713, align 4, !tbaa !5
  %19715 = call ptr @s2n_strerror(i32 noundef %19714, ptr noundef @.str.25)
  %19716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19717 = load i32, ptr %19716, align 4, !tbaa !5
  %19718 = call ptr @s2n_strerror_debug(i32 noundef %19717, ptr noundef @.str.25)
  %19719 = call ptr @__errno_location() #12
  %19720 = load i32, ptr %19719, align 4, !tbaa !5
  %19721 = call ptr @strerror(i32 noundef %19720) #11
  %19722 = call ptr @__errno_location() #12
  %19723 = load i32, ptr %19722, align 4, !tbaa !5
  %19724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19711, ptr noundef @.str.23, i32 noundef %19712, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 982, ptr noundef %19715, ptr noundef %19718, ptr noundef %19721, i32 noundef %19723) #11
  br label %19742

19725:                                            ; preds = %19703, %19696
  %19726 = load i32, ptr %477, align 4, !tbaa !5
  %19727 = call ptr @__errno_location() #12
  store i32 %19726, ptr %19727, align 4, !tbaa !5
  %19728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19729 = load i32, ptr @test_count, align 4, !tbaa !5
  %19730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19731 = load i32, ptr %19730, align 4, !tbaa !5
  %19732 = call ptr @s2n_strerror(i32 noundef %19731, ptr noundef @.str.25)
  %19733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19734 = load i32, ptr %19733, align 4, !tbaa !5
  %19735 = call ptr @s2n_strerror_debug(i32 noundef %19734, ptr noundef @.str.25)
  %19736 = call ptr @__errno_location() #12
  %19737 = load i32, ptr %19736, align 4, !tbaa !5
  %19738 = call ptr @strerror(i32 noundef %19737) #11
  %19739 = call ptr @__errno_location() #12
  %19740 = load i32, ptr %19739, align 4, !tbaa !5
  %19741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19728, ptr noundef @.str.26, i32 noundef %19729, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 982, ptr noundef %19732, ptr noundef %19735, ptr noundef %19738, i32 noundef %19740) #11
  br label %19742

19742:                                            ; preds = %19725, %19708
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #11
  br label %19743

19743:                                            ; preds = %19742
  br label %19744

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

19745:                                            ; No predecessors!
  br label %19746

19746:                                            ; preds = %19745
  br label %19747

19747:                                            ; preds = %19746, %19687
  br label %19748

19748:                                            ; preds = %19747
  br label %19749

19749:                                            ; preds = %19748
  %19750 = load ptr, ptr %475, align 8, !tbaa !9
  %19751 = getelementptr inbounds %struct.s2n_connection, ptr %19750, i32 0, i32 76
  store i32 2, ptr %19751, align 4, !tbaa !77
  %19752 = load ptr, ptr %475, align 8, !tbaa !9
  %19753 = getelementptr inbounds %struct.s2n_connection, ptr %19752, i32 0, i32 1
  %19754 = load ptr, ptr %19753, align 8, !tbaa !80
  %19755 = getelementptr inbounds %struct.s2n_config, ptr %19754, i32 0, i32 16
  store i64 0, ptr %19755, align 8, !tbaa !55
  %19756 = load ptr, ptr %475, align 8, !tbaa !9
  %19757 = getelementptr inbounds %struct.s2n_connection, ptr %19756, i32 0, i32 1
  %19758 = load ptr, ptr %19757, align 8, !tbaa !80
  %19759 = getelementptr inbounds %struct.s2n_config, ptr %19758, i32 0, i32 17
  store i64 0, ptr %19759, align 8, !tbaa !59
  br label %19760

19760:                                            ; preds = %19749
  %19761 = load i32, ptr @test_count, align 4, !tbaa !5
  %19762 = add nsw i32 %19761, 1
  store i32 %19762, ptr @test_count, align 4, !tbaa !5
  %19763 = load ptr, ptr %475, align 8, !tbaa !9
  %19764 = call i32 @s2n_server_nst_send(ptr noundef %19763)
  %19765 = icmp eq i32 %19764, -1
  br i1 %19765, label %19766, label %19819

19766:                                            ; preds = %19760
  br label %19767

19767:                                            ; preds = %19766
  br label %19768

19768:                                            ; preds = %19767
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #11
  %19769 = call ptr @__errno_location() #12
  %19770 = load i32, ptr %19769, align 4, !tbaa !5
  store i32 %19770, ptr %478, align 4, !tbaa !5
  %19771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19772 = call i32 @s2n_print_stacktrace(ptr noundef %19771)
  %19773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19774 = trunc i8 %19773 to i1
  br i1 %19774, label %19775, label %19797

19775:                                            ; preds = %19768
  %19776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19777 = call i32 @fileno(ptr noundef %19776) #11
  %19778 = call i32 @isatty(i32 noundef %19777) #11
  %19779 = icmp ne i32 %19778, 0
  br i1 %19779, label %19780, label %19797

19780:                                            ; preds = %19775
  %19781 = load i32, ptr %478, align 4, !tbaa !5
  %19782 = call ptr @__errno_location() #12
  store i32 %19781, ptr %19782, align 4, !tbaa !5
  %19783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19784 = load i32, ptr @test_count, align 4, !tbaa !5
  %19785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19786 = load i32, ptr %19785, align 4, !tbaa !5
  %19787 = call ptr @s2n_strerror(i32 noundef %19786, ptr noundef @.str.25)
  %19788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19789 = load i32, ptr %19788, align 4, !tbaa !5
  %19790 = call ptr @s2n_strerror_debug(i32 noundef %19789, ptr noundef @.str.25)
  %19791 = call ptr @__errno_location() #12
  %19792 = load i32, ptr %19791, align 4, !tbaa !5
  %19793 = call ptr @strerror(i32 noundef %19792) #11
  %19794 = call ptr @__errno_location() #12
  %19795 = load i32, ptr %19794, align 4, !tbaa !5
  %19796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19783, ptr noundef @.str.23, i32 noundef %19784, ptr noundef @.str.155, ptr noundef @.str.22, i32 noundef 990, ptr noundef %19787, ptr noundef %19790, ptr noundef %19793, i32 noundef %19795) #11
  br label %19814

19797:                                            ; preds = %19775, %19768
  %19798 = load i32, ptr %478, align 4, !tbaa !5
  %19799 = call ptr @__errno_location() #12
  store i32 %19798, ptr %19799, align 4, !tbaa !5
  %19800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19801 = load i32, ptr @test_count, align 4, !tbaa !5
  %19802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19803 = load i32, ptr %19802, align 4, !tbaa !5
  %19804 = call ptr @s2n_strerror(i32 noundef %19803, ptr noundef @.str.25)
  %19805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19806 = load i32, ptr %19805, align 4, !tbaa !5
  %19807 = call ptr @s2n_strerror_debug(i32 noundef %19806, ptr noundef @.str.25)
  %19808 = call ptr @__errno_location() #12
  %19809 = load i32, ptr %19808, align 4, !tbaa !5
  %19810 = call ptr @strerror(i32 noundef %19809) #11
  %19811 = call ptr @__errno_location() #12
  %19812 = load i32, ptr %19811, align 4, !tbaa !5
  %19813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19800, ptr noundef @.str.26, i32 noundef %19801, ptr noundef @.str.155, ptr noundef @.str.22, i32 noundef 990, ptr noundef %19804, ptr noundef %19807, ptr noundef %19810, i32 noundef %19812) #11
  br label %19814

19814:                                            ; preds = %19797, %19780
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #11
  br label %19815

19815:                                            ; preds = %19814
  br label %19816

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

19817:                                            ; No predecessors!
  br label %19818

19818:                                            ; preds = %19817
  br label %19819

19819:                                            ; preds = %19818, %19760
  br label %19820

19820:                                            ; preds = %19819
  br label %19821

19821:                                            ; preds = %19820
  br label %19822

19822:                                            ; preds = %19821
  %19823 = load i32, ptr @test_count, align 4, !tbaa !5
  %19824 = add nsw i32 %19823, 1
  store i32 %19824, ptr @test_count, align 4, !tbaa !5
  %19825 = load ptr, ptr %475, align 8, !tbaa !9
  %19826 = call i32 @s2n_assert_tickets_sent(ptr noundef %19825, i16 noundef zeroext 0)
  %19827 = getelementptr inbounds %struct.s2n_result, ptr %479, i32 0, i32 0
  store i32 %19826, ptr %19827, align 4
  %19828 = getelementptr inbounds %struct.s2n_result, ptr %479, i32 0, i32 0
  %19829 = load i32, ptr %19828, align 4
  %19830 = call zeroext i1 @s2n_result_is_ok(i32 %19829)
  br i1 %19830, label %19884, label %19831

19831:                                            ; preds = %19822
  br label %19832

19832:                                            ; preds = %19831
  br label %19833

19833:                                            ; preds = %19832
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #11
  %19834 = call ptr @__errno_location() #12
  %19835 = load i32, ptr %19834, align 4, !tbaa !5
  store i32 %19835, ptr %480, align 4, !tbaa !5
  %19836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19837 = call i32 @s2n_print_stacktrace(ptr noundef %19836)
  %19838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19839 = trunc i8 %19838 to i1
  br i1 %19839, label %19840, label %19862

19840:                                            ; preds = %19833
  %19841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19842 = call i32 @fileno(ptr noundef %19841) #11
  %19843 = call i32 @isatty(i32 noundef %19842) #11
  %19844 = icmp ne i32 %19843, 0
  br i1 %19844, label %19845, label %19862

19845:                                            ; preds = %19840
  %19846 = load i32, ptr %480, align 4, !tbaa !5
  %19847 = call ptr @__errno_location() #12
  store i32 %19846, ptr %19847, align 4, !tbaa !5
  %19848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19849 = load i32, ptr @test_count, align 4, !tbaa !5
  %19850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19851 = load i32, ptr %19850, align 4, !tbaa !5
  %19852 = call ptr @s2n_strerror(i32 noundef %19851, ptr noundef @.str.25)
  %19853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19854 = load i32, ptr %19853, align 4, !tbaa !5
  %19855 = call ptr @s2n_strerror_debug(i32 noundef %19854, ptr noundef @.str.25)
  %19856 = call ptr @__errno_location() #12
  %19857 = load i32, ptr %19856, align 4, !tbaa !5
  %19858 = call ptr @strerror(i32 noundef %19857) #11
  %19859 = call ptr @__errno_location() #12
  %19860 = load i32, ptr %19859, align 4, !tbaa !5
  %19861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19848, ptr noundef @.str.23, i32 noundef %19849, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 991, ptr noundef %19852, ptr noundef %19855, ptr noundef %19858, i32 noundef %19860) #11
  br label %19879

19862:                                            ; preds = %19840, %19833
  %19863 = load i32, ptr %480, align 4, !tbaa !5
  %19864 = call ptr @__errno_location() #12
  store i32 %19863, ptr %19864, align 4, !tbaa !5
  %19865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19866 = load i32, ptr @test_count, align 4, !tbaa !5
  %19867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19868 = load i32, ptr %19867, align 4, !tbaa !5
  %19869 = call ptr @s2n_strerror(i32 noundef %19868, ptr noundef @.str.25)
  %19870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19871 = load i32, ptr %19870, align 4, !tbaa !5
  %19872 = call ptr @s2n_strerror_debug(i32 noundef %19871, ptr noundef @.str.25)
  %19873 = call ptr @__errno_location() #12
  %19874 = load i32, ptr %19873, align 4, !tbaa !5
  %19875 = call ptr @strerror(i32 noundef %19874) #11
  %19876 = call ptr @__errno_location() #12
  %19877 = load i32, ptr %19876, align 4, !tbaa !5
  %19878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19865, ptr noundef @.str.26, i32 noundef %19866, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 991, ptr noundef %19869, ptr noundef %19872, ptr noundef %19875, i32 noundef %19877) #11
  br label %19879

19879:                                            ; preds = %19862, %19845
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #11
  br label %19880

19880:                                            ; preds = %19879
  br label %19881

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

19882:                                            ; No predecessors!
  br label %19883

19883:                                            ; preds = %19882
  br label %19884

19884:                                            ; preds = %19883, %19822
  br label %19885

19885:                                            ; preds = %19884
  br label %19886

19886:                                            ; preds = %19885
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #11
  store i32 0, ptr %481, align 4, !tbaa !5
  br label %19887

19887:                                            ; preds = %19886
  %19888 = load i32, ptr @test_count, align 4, !tbaa !5
  %19889 = add nsw i32 %19888, 1
  store i32 %19889, ptr @test_count, align 4, !tbaa !5
  %19890 = load ptr, ptr %475, align 8, !tbaa !9
  %19891 = getelementptr inbounds %struct.s2n_connection, ptr %19890, i32 0, i32 52
  %19892 = getelementptr inbounds %struct.s2n_handshake, ptr %19891, i32 0, i32 0
  %19893 = call i32 @s2n_stuffer_read_uint32(ptr noundef %19892, ptr noundef %481)
  %19894 = icmp eq i32 %19893, -1
  br i1 %19894, label %19895, label %19948

19895:                                            ; preds = %19887
  br label %19896

19896:                                            ; preds = %19895
  br label %19897

19897:                                            ; preds = %19896
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #11
  %19898 = call ptr @__errno_location() #12
  %19899 = load i32, ptr %19898, align 4, !tbaa !5
  store i32 %19899, ptr %482, align 4, !tbaa !5
  %19900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19901 = call i32 @s2n_print_stacktrace(ptr noundef %19900)
  %19902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19903 = trunc i8 %19902 to i1
  br i1 %19903, label %19904, label %19926

19904:                                            ; preds = %19897
  %19905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19906 = call i32 @fileno(ptr noundef %19905) #11
  %19907 = call i32 @isatty(i32 noundef %19906) #11
  %19908 = icmp ne i32 %19907, 0
  br i1 %19908, label %19909, label %19926

19909:                                            ; preds = %19904
  %19910 = load i32, ptr %482, align 4, !tbaa !5
  %19911 = call ptr @__errno_location() #12
  store i32 %19910, ptr %19911, align 4, !tbaa !5
  %19912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19913 = load i32, ptr @test_count, align 4, !tbaa !5
  %19914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19915 = load i32, ptr %19914, align 4, !tbaa !5
  %19916 = call ptr @s2n_strerror(i32 noundef %19915, ptr noundef @.str.25)
  %19917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19918 = load i32, ptr %19917, align 4, !tbaa !5
  %19919 = call ptr @s2n_strerror_debug(i32 noundef %19918, ptr noundef @.str.25)
  %19920 = call ptr @__errno_location() #12
  %19921 = load i32, ptr %19920, align 4, !tbaa !5
  %19922 = call ptr @strerror(i32 noundef %19921) #11
  %19923 = call ptr @__errno_location() #12
  %19924 = load i32, ptr %19923, align 4, !tbaa !5
  %19925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19912, ptr noundef @.str.23, i32 noundef %19913, ptr noundef @.str.157, ptr noundef @.str.22, i32 noundef 994, ptr noundef %19916, ptr noundef %19919, ptr noundef %19922, i32 noundef %19924) #11
  br label %19943

19926:                                            ; preds = %19904, %19897
  %19927 = load i32, ptr %482, align 4, !tbaa !5
  %19928 = call ptr @__errno_location() #12
  store i32 %19927, ptr %19928, align 4, !tbaa !5
  %19929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19930 = load i32, ptr @test_count, align 4, !tbaa !5
  %19931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19932 = load i32, ptr %19931, align 4, !tbaa !5
  %19933 = call ptr @s2n_strerror(i32 noundef %19932, ptr noundef @.str.25)
  %19934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19935 = load i32, ptr %19934, align 4, !tbaa !5
  %19936 = call ptr @s2n_strerror_debug(i32 noundef %19935, ptr noundef @.str.25)
  %19937 = call ptr @__errno_location() #12
  %19938 = load i32, ptr %19937, align 4, !tbaa !5
  %19939 = call ptr @strerror(i32 noundef %19938) #11
  %19940 = call ptr @__errno_location() #12
  %19941 = load i32, ptr %19940, align 4, !tbaa !5
  %19942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19929, ptr noundef @.str.26, i32 noundef %19930, ptr noundef @.str.157, ptr noundef @.str.22, i32 noundef 994, ptr noundef %19933, ptr noundef %19936, ptr noundef %19939, i32 noundef %19941) #11
  br label %19943

19943:                                            ; preds = %19926, %19909
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #11
  br label %19944

19944:                                            ; preds = %19943
  br label %19945

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

19946:                                            ; No predecessors!
  br label %19947

19947:                                            ; preds = %19946
  br label %19948

19948:                                            ; preds = %19947, %19887
  br label %19949

19949:                                            ; preds = %19948
  br label %19950

19950:                                            ; preds = %19949
  br label %19951

19951:                                            ; preds = %19950
  %19952 = load i32, ptr @test_count, align 4, !tbaa !5
  %19953 = add nsw i32 %19952, 1
  store i32 %19953, ptr @test_count, align 4, !tbaa !5
  %19954 = load i32, ptr %481, align 4, !tbaa !5
  %19955 = icmp eq i32 %19954, 0
  br i1 %19955, label %20009, label %19956

19956:                                            ; preds = %19951
  br label %19957

19957:                                            ; preds = %19956
  br label %19958

19958:                                            ; preds = %19957
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #11
  %19959 = call ptr @__errno_location() #12
  %19960 = load i32, ptr %19959, align 4, !tbaa !5
  store i32 %19960, ptr %483, align 4, !tbaa !5
  %19961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19962 = call i32 @s2n_print_stacktrace(ptr noundef %19961)
  %19963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19964 = trunc i8 %19963 to i1
  br i1 %19964, label %19965, label %19987

19965:                                            ; preds = %19958
  %19966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19967 = call i32 @fileno(ptr noundef %19966) #11
  %19968 = call i32 @isatty(i32 noundef %19967) #11
  %19969 = icmp ne i32 %19968, 0
  br i1 %19969, label %19970, label %19987

19970:                                            ; preds = %19965
  %19971 = load i32, ptr %483, align 4, !tbaa !5
  %19972 = call ptr @__errno_location() #12
  store i32 %19971, ptr %19972, align 4, !tbaa !5
  %19973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19974 = load i32, ptr @test_count, align 4, !tbaa !5
  %19975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19976 = load i32, ptr %19975, align 4, !tbaa !5
  %19977 = call ptr @s2n_strerror(i32 noundef %19976, ptr noundef @.str.25)
  %19978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19979 = load i32, ptr %19978, align 4, !tbaa !5
  %19980 = call ptr @s2n_strerror_debug(i32 noundef %19979, ptr noundef @.str.25)
  %19981 = call ptr @__errno_location() #12
  %19982 = load i32, ptr %19981, align 4, !tbaa !5
  %19983 = call ptr @strerror(i32 noundef %19982) #11
  %19984 = call ptr @__errno_location() #12
  %19985 = load i32, ptr %19984, align 4, !tbaa !5
  %19986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19973, ptr noundef @.str.23, i32 noundef %19974, ptr noundef @.str.163, ptr noundef @.str.22, i32 noundef 995, ptr noundef %19977, ptr noundef %19980, ptr noundef %19983, i32 noundef %19985) #11
  br label %20004

19987:                                            ; preds = %19965, %19958
  %19988 = load i32, ptr %483, align 4, !tbaa !5
  %19989 = call ptr @__errno_location() #12
  store i32 %19988, ptr %19989, align 4, !tbaa !5
  %19990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19991 = load i32, ptr @test_count, align 4, !tbaa !5
  %19992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19993 = load i32, ptr %19992, align 4, !tbaa !5
  %19994 = call ptr @s2n_strerror(i32 noundef %19993, ptr noundef @.str.25)
  %19995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19996 = load i32, ptr %19995, align 4, !tbaa !5
  %19997 = call ptr @s2n_strerror_debug(i32 noundef %19996, ptr noundef @.str.25)
  %19998 = call ptr @__errno_location() #12
  %19999 = load i32, ptr %19998, align 4, !tbaa !5
  %20000 = call ptr @strerror(i32 noundef %19999) #11
  %20001 = call ptr @__errno_location() #12
  %20002 = load i32, ptr %20001, align 4, !tbaa !5
  %20003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19990, ptr noundef @.str.26, i32 noundef %19991, ptr noundef @.str.163, ptr noundef @.str.22, i32 noundef 995, ptr noundef %19994, ptr noundef %19997, ptr noundef %20000, i32 noundef %20002) #11
  br label %20004

20004:                                            ; preds = %19987, %19970
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #11
  br label %20005

20005:                                            ; preds = %20004
  br label %20006

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

20007:                                            ; No predecessors!
  br label %20008

20008:                                            ; preds = %20007
  br label %20009

20009:                                            ; preds = %20008, %19951
  br label %20010

20010:                                            ; preds = %20009
  br label %20011

20011:                                            ; preds = %20010
  call void @llvm.lifetime.start.p0(i64 2, ptr %484) #11
  store i16 0, ptr %484, align 2, !tbaa !49
  br label %20012

20012:                                            ; preds = %20011
  %20013 = load i32, ptr @test_count, align 4, !tbaa !5
  %20014 = add nsw i32 %20013, 1
  store i32 %20014, ptr @test_count, align 4, !tbaa !5
  %20015 = load ptr, ptr %475, align 8, !tbaa !9
  %20016 = getelementptr inbounds %struct.s2n_connection, ptr %20015, i32 0, i32 52
  %20017 = getelementptr inbounds %struct.s2n_handshake, ptr %20016, i32 0, i32 0
  %20018 = call i32 @s2n_stuffer_read_uint16(ptr noundef %20017, ptr noundef %484)
  %20019 = icmp eq i32 %20018, -1
  br i1 %20019, label %20020, label %20073

20020:                                            ; preds = %20012
  br label %20021

20021:                                            ; preds = %20020
  br label %20022

20022:                                            ; preds = %20021
  call void @llvm.lifetime.start.p0(i64 4, ptr %485) #11
  %20023 = call ptr @__errno_location() #12
  %20024 = load i32, ptr %20023, align 4, !tbaa !5
  store i32 %20024, ptr %485, align 4, !tbaa !5
  %20025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20026 = call i32 @s2n_print_stacktrace(ptr noundef %20025)
  %20027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20028 = trunc i8 %20027 to i1
  br i1 %20028, label %20029, label %20051

20029:                                            ; preds = %20022
  %20030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20031 = call i32 @fileno(ptr noundef %20030) #11
  %20032 = call i32 @isatty(i32 noundef %20031) #11
  %20033 = icmp ne i32 %20032, 0
  br i1 %20033, label %20034, label %20051

20034:                                            ; preds = %20029
  %20035 = load i32, ptr %485, align 4, !tbaa !5
  %20036 = call ptr @__errno_location() #12
  store i32 %20035, ptr %20036, align 4, !tbaa !5
  %20037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20038 = load i32, ptr @test_count, align 4, !tbaa !5
  %20039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20040 = load i32, ptr %20039, align 4, !tbaa !5
  %20041 = call ptr @s2n_strerror(i32 noundef %20040, ptr noundef @.str.25)
  %20042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20043 = load i32, ptr %20042, align 4, !tbaa !5
  %20044 = call ptr @s2n_strerror_debug(i32 noundef %20043, ptr noundef @.str.25)
  %20045 = call ptr @__errno_location() #12
  %20046 = load i32, ptr %20045, align 4, !tbaa !5
  %20047 = call ptr @strerror(i32 noundef %20046) #11
  %20048 = call ptr @__errno_location() #12
  %20049 = load i32, ptr %20048, align 4, !tbaa !5
  %20050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20037, ptr noundef @.str.23, i32 noundef %20038, ptr noundef @.str.159, ptr noundef @.str.22, i32 noundef 998, ptr noundef %20041, ptr noundef %20044, ptr noundef %20047, i32 noundef %20049) #11
  br label %20068

20051:                                            ; preds = %20029, %20022
  %20052 = load i32, ptr %485, align 4, !tbaa !5
  %20053 = call ptr @__errno_location() #12
  store i32 %20052, ptr %20053, align 4, !tbaa !5
  %20054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20055 = load i32, ptr @test_count, align 4, !tbaa !5
  %20056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20057 = load i32, ptr %20056, align 4, !tbaa !5
  %20058 = call ptr @s2n_strerror(i32 noundef %20057, ptr noundef @.str.25)
  %20059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20060 = load i32, ptr %20059, align 4, !tbaa !5
  %20061 = call ptr @s2n_strerror_debug(i32 noundef %20060, ptr noundef @.str.25)
  %20062 = call ptr @__errno_location() #12
  %20063 = load i32, ptr %20062, align 4, !tbaa !5
  %20064 = call ptr @strerror(i32 noundef %20063) #11
  %20065 = call ptr @__errno_location() #12
  %20066 = load i32, ptr %20065, align 4, !tbaa !5
  %20067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20054, ptr noundef @.str.26, i32 noundef %20055, ptr noundef @.str.159, ptr noundef @.str.22, i32 noundef 998, ptr noundef %20058, ptr noundef %20061, ptr noundef %20064, i32 noundef %20066) #11
  br label %20068

20068:                                            ; preds = %20051, %20034
  call void @llvm.lifetime.end.p0(i64 4, ptr %485) #11
  br label %20069

20069:                                            ; preds = %20068
  br label %20070

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

20071:                                            ; No predecessors!
  br label %20072

20072:                                            ; preds = %20071
  br label %20073

20073:                                            ; preds = %20072, %20012
  br label %20074

20074:                                            ; preds = %20073
  br label %20075

20075:                                            ; preds = %20074
  br label %20076

20076:                                            ; preds = %20075
  %20077 = load i32, ptr @test_count, align 4, !tbaa !5
  %20078 = add nsw i32 %20077, 1
  store i32 %20078, ptr @test_count, align 4, !tbaa !5
  %20079 = load i16, ptr %484, align 2, !tbaa !49
  %20080 = zext i16 %20079 to i32
  %20081 = icmp eq i32 %20080, 0
  br i1 %20081, label %20135, label %20082

20082:                                            ; preds = %20076
  br label %20083

20083:                                            ; preds = %20082
  br label %20084

20084:                                            ; preds = %20083
  call void @llvm.lifetime.start.p0(i64 4, ptr %486) #11
  %20085 = call ptr @__errno_location() #12
  %20086 = load i32, ptr %20085, align 4, !tbaa !5
  store i32 %20086, ptr %486, align 4, !tbaa !5
  %20087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20088 = call i32 @s2n_print_stacktrace(ptr noundef %20087)
  %20089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20090 = trunc i8 %20089 to i1
  br i1 %20090, label %20091, label %20113

20091:                                            ; preds = %20084
  %20092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20093 = call i32 @fileno(ptr noundef %20092) #11
  %20094 = call i32 @isatty(i32 noundef %20093) #11
  %20095 = icmp ne i32 %20094, 0
  br i1 %20095, label %20096, label %20113

20096:                                            ; preds = %20091
  %20097 = load i32, ptr %486, align 4, !tbaa !5
  %20098 = call ptr @__errno_location() #12
  store i32 %20097, ptr %20098, align 4, !tbaa !5
  %20099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20100 = load i32, ptr @test_count, align 4, !tbaa !5
  %20101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20102 = load i32, ptr %20101, align 4, !tbaa !5
  %20103 = call ptr @s2n_strerror(i32 noundef %20102, ptr noundef @.str.25)
  %20104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20105 = load i32, ptr %20104, align 4, !tbaa !5
  %20106 = call ptr @s2n_strerror_debug(i32 noundef %20105, ptr noundef @.str.25)
  %20107 = call ptr @__errno_location() #12
  %20108 = load i32, ptr %20107, align 4, !tbaa !5
  %20109 = call ptr @strerror(i32 noundef %20108) #11
  %20110 = call ptr @__errno_location() #12
  %20111 = load i32, ptr %20110, align 4, !tbaa !5
  %20112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20099, ptr noundef @.str.23, i32 noundef %20100, ptr noundef @.str.164, ptr noundef @.str.22, i32 noundef 999, ptr noundef %20103, ptr noundef %20106, ptr noundef %20109, i32 noundef %20111) #11
  br label %20130

20113:                                            ; preds = %20091, %20084
  %20114 = load i32, ptr %486, align 4, !tbaa !5
  %20115 = call ptr @__errno_location() #12
  store i32 %20114, ptr %20115, align 4, !tbaa !5
  %20116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20117 = load i32, ptr @test_count, align 4, !tbaa !5
  %20118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20119 = load i32, ptr %20118, align 4, !tbaa !5
  %20120 = call ptr @s2n_strerror(i32 noundef %20119, ptr noundef @.str.25)
  %20121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20122 = load i32, ptr %20121, align 4, !tbaa !5
  %20123 = call ptr @s2n_strerror_debug(i32 noundef %20122, ptr noundef @.str.25)
  %20124 = call ptr @__errno_location() #12
  %20125 = load i32, ptr %20124, align 4, !tbaa !5
  %20126 = call ptr @strerror(i32 noundef %20125) #11
  %20127 = call ptr @__errno_location() #12
  %20128 = load i32, ptr %20127, align 4, !tbaa !5
  %20129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20116, ptr noundef @.str.26, i32 noundef %20117, ptr noundef @.str.164, ptr noundef @.str.22, i32 noundef 999, ptr noundef %20120, ptr noundef %20123, ptr noundef %20126, i32 noundef %20128) #11
  br label %20130

20130:                                            ; preds = %20113, %20096
  call void @llvm.lifetime.end.p0(i64 4, ptr %486) #11
  br label %20131

20131:                                            ; preds = %20130
  br label %20132

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

20133:                                            ; No predecessors!
  br label %20134

20134:                                            ; preds = %20133
  br label %20135

20135:                                            ; preds = %20134, %20076
  br label %20136

20136:                                            ; preds = %20135
  br label %20137

20137:                                            ; preds = %20136
  br label %20138

20138:                                            ; preds = %20137
  %20139 = load i32, ptr @test_count, align 4, !tbaa !5
  %20140 = add nsw i32 %20139, 1
  store i32 %20140, ptr @test_count, align 4, !tbaa !5
  %20141 = load ptr, ptr %475, align 8, !tbaa !9
  %20142 = getelementptr inbounds %struct.s2n_connection, ptr %20141, i32 0, i32 52
  %20143 = getelementptr inbounds %struct.s2n_handshake, ptr %20142, i32 0, i32 0
  %20144 = getelementptr inbounds %struct.s2n_stuffer, ptr %20143, i32 0, i32 2
  %20145 = load i32, ptr %20144, align 4, !tbaa !78
  %20146 = load ptr, ptr %475, align 8, !tbaa !9
  %20147 = getelementptr inbounds %struct.s2n_connection, ptr %20146, i32 0, i32 52
  %20148 = getelementptr inbounds %struct.s2n_handshake, ptr %20147, i32 0, i32 0
  %20149 = getelementptr inbounds %struct.s2n_stuffer, ptr %20148, i32 0, i32 1
  %20150 = load i32, ptr %20149, align 8, !tbaa !79
  %20151 = sub i32 %20145, %20150
  %20152 = icmp eq i32 %20151, 0
  br i1 %20152, label %20206, label %20153

20153:                                            ; preds = %20138
  br label %20154

20154:                                            ; preds = %20153
  br label %20155

20155:                                            ; preds = %20154
  call void @llvm.lifetime.start.p0(i64 4, ptr %487) #11
  %20156 = call ptr @__errno_location() #12
  %20157 = load i32, ptr %20156, align 4, !tbaa !5
  store i32 %20157, ptr %487, align 4, !tbaa !5
  %20158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20159 = call i32 @s2n_print_stacktrace(ptr noundef %20158)
  %20160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20161 = trunc i8 %20160 to i1
  br i1 %20161, label %20162, label %20184

20162:                                            ; preds = %20155
  %20163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20164 = call i32 @fileno(ptr noundef %20163) #11
  %20165 = call i32 @isatty(i32 noundef %20164) #11
  %20166 = icmp ne i32 %20165, 0
  br i1 %20166, label %20167, label %20184

20167:                                            ; preds = %20162
  %20168 = load i32, ptr %487, align 4, !tbaa !5
  %20169 = call ptr @__errno_location() #12
  store i32 %20168, ptr %20169, align 4, !tbaa !5
  %20170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20171 = load i32, ptr @test_count, align 4, !tbaa !5
  %20172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20173 = load i32, ptr %20172, align 4, !tbaa !5
  %20174 = call ptr @s2n_strerror(i32 noundef %20173, ptr noundef @.str.25)
  %20175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20176 = load i32, ptr %20175, align 4, !tbaa !5
  %20177 = call ptr @s2n_strerror_debug(i32 noundef %20176, ptr noundef @.str.25)
  %20178 = call ptr @__errno_location() #12
  %20179 = load i32, ptr %20178, align 4, !tbaa !5
  %20180 = call ptr @strerror(i32 noundef %20179) #11
  %20181 = call ptr @__errno_location() #12
  %20182 = load i32, ptr %20181, align 4, !tbaa !5
  %20183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20170, ptr noundef @.str.23, i32 noundef %20171, ptr noundef @.str.165, ptr noundef @.str.22, i32 noundef 1000, ptr noundef %20174, ptr noundef %20177, ptr noundef %20180, i32 noundef %20182) #11
  br label %20201

20184:                                            ; preds = %20162, %20155
  %20185 = load i32, ptr %487, align 4, !tbaa !5
  %20186 = call ptr @__errno_location() #12
  store i32 %20185, ptr %20186, align 4, !tbaa !5
  %20187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20188 = load i32, ptr @test_count, align 4, !tbaa !5
  %20189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20190 = load i32, ptr %20189, align 4, !tbaa !5
  %20191 = call ptr @s2n_strerror(i32 noundef %20190, ptr noundef @.str.25)
  %20192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20193 = load i32, ptr %20192, align 4, !tbaa !5
  %20194 = call ptr @s2n_strerror_debug(i32 noundef %20193, ptr noundef @.str.25)
  %20195 = call ptr @__errno_location() #12
  %20196 = load i32, ptr %20195, align 4, !tbaa !5
  %20197 = call ptr @strerror(i32 noundef %20196) #11
  %20198 = call ptr @__errno_location() #12
  %20199 = load i32, ptr %20198, align 4, !tbaa !5
  %20200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20187, ptr noundef @.str.26, i32 noundef %20188, ptr noundef @.str.165, ptr noundef @.str.22, i32 noundef 1000, ptr noundef %20191, ptr noundef %20194, ptr noundef %20197, i32 noundef %20199) #11
  br label %20201

20201:                                            ; preds = %20184, %20167
  call void @llvm.lifetime.end.p0(i64 4, ptr %487) #11
  br label %20202

20202:                                            ; preds = %20201
  br label %20203

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

20204:                                            ; No predecessors!
  br label %20205

20205:                                            ; preds = %20204
  br label %20206

20206:                                            ; preds = %20205, %20138
  br label %20207

20207:                                            ; preds = %20206
  br label %20208

20208:                                            ; preds = %20207
  call void @llvm.lifetime.end.p0(i64 2, ptr %484) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #11
  %20209 = call i32 @s2n_connection_ptr_free(ptr noundef %475)
  %20210 = getelementptr inbounds %struct.s2n_result, ptr %488, i32 0, i32 0
  store i32 %20209, ptr %20210, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %475) #11
  %20211 = call i32 @s2n_config_ptr_free(ptr noundef %473)
  %20212 = getelementptr inbounds %struct.s2n_result, ptr %489, i32 0, i32 0
  store i32 %20211, ptr %20212, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %473) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %490) #11
  store ptr null, ptr %490, align 8, !tbaa !9
  br label %20213

20213:                                            ; preds = %20208
  %20214 = load i32, ptr @test_count, align 4, !tbaa !5
  %20215 = add nsw i32 %20214, 1
  store i32 %20215, ptr @test_count, align 4, !tbaa !5
  %20216 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %20216, ptr %490, align 8, !tbaa !9
  %20217 = icmp eq ptr %20216, null
  br i1 %20217, label %20218, label %20271

20218:                                            ; preds = %20213
  br label %20219

20219:                                            ; preds = %20218
  br label %20220

20220:                                            ; preds = %20219
  call void @llvm.lifetime.start.p0(i64 4, ptr %491) #11
  %20221 = call ptr @__errno_location() #12
  %20222 = load i32, ptr %20221, align 4, !tbaa !5
  store i32 %20222, ptr %491, align 4, !tbaa !5
  %20223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20224 = call i32 @s2n_print_stacktrace(ptr noundef %20223)
  %20225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20226 = trunc i8 %20225 to i1
  br i1 %20226, label %20227, label %20249

20227:                                            ; preds = %20220
  %20228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20229 = call i32 @fileno(ptr noundef %20228) #11
  %20230 = call i32 @isatty(i32 noundef %20229) #11
  %20231 = icmp ne i32 %20230, 0
  br i1 %20231, label %20232, label %20249

20232:                                            ; preds = %20227
  %20233 = load i32, ptr %491, align 4, !tbaa !5
  %20234 = call ptr @__errno_location() #12
  store i32 %20233, ptr %20234, align 4, !tbaa !5
  %20235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20236 = load i32, ptr @test_count, align 4, !tbaa !5
  %20237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20238 = load i32, ptr %20237, align 4, !tbaa !5
  %20239 = call ptr @s2n_strerror(i32 noundef %20238, ptr noundef @.str.25)
  %20240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20241 = load i32, ptr %20240, align 4, !tbaa !5
  %20242 = call ptr @s2n_strerror_debug(i32 noundef %20241, ptr noundef @.str.25)
  %20243 = call ptr @__errno_location() #12
  %20244 = load i32, ptr %20243, align 4, !tbaa !5
  %20245 = call ptr @strerror(i32 noundef %20244) #11
  %20246 = call ptr @__errno_location() #12
  %20247 = load i32, ptr %20246, align 4, !tbaa !5
  %20248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20235, ptr noundef @.str.23, i32 noundef %20236, ptr noundef @.str.166, ptr noundef @.str.22, i32 noundef 1009, ptr noundef %20239, ptr noundef %20242, ptr noundef %20245, i32 noundef %20247) #11
  br label %20266

20249:                                            ; preds = %20227, %20220
  %20250 = load i32, ptr %491, align 4, !tbaa !5
  %20251 = call ptr @__errno_location() #12
  store i32 %20250, ptr %20251, align 4, !tbaa !5
  %20252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20253 = load i32, ptr @test_count, align 4, !tbaa !5
  %20254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20255 = load i32, ptr %20254, align 4, !tbaa !5
  %20256 = call ptr @s2n_strerror(i32 noundef %20255, ptr noundef @.str.25)
  %20257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20258 = load i32, ptr %20257, align 4, !tbaa !5
  %20259 = call ptr @s2n_strerror_debug(i32 noundef %20258, ptr noundef @.str.25)
  %20260 = call ptr @__errno_location() #12
  %20261 = load i32, ptr %20260, align 4, !tbaa !5
  %20262 = call ptr @strerror(i32 noundef %20261) #11
  %20263 = call ptr @__errno_location() #12
  %20264 = load i32, ptr %20263, align 4, !tbaa !5
  %20265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20252, ptr noundef @.str.26, i32 noundef %20253, ptr noundef @.str.166, ptr noundef @.str.22, i32 noundef 1009, ptr noundef %20256, ptr noundef %20259, ptr noundef %20262, i32 noundef %20264) #11
  br label %20266

20266:                                            ; preds = %20249, %20232
  call void @llvm.lifetime.end.p0(i64 4, ptr %491) #11
  br label %20267

20267:                                            ; preds = %20266
  br label %20268

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

20269:                                            ; No predecessors!
  br label %20270

20270:                                            ; preds = %20269
  br label %20271

20271:                                            ; preds = %20270, %20213
  br label %20272

20272:                                            ; preds = %20271
  br label %20273

20273:                                            ; preds = %20272
  %20274 = load ptr, ptr %490, align 8, !tbaa !9
  %20275 = getelementptr inbounds %struct.s2n_connection, ptr %20274, i32 0, i32 23
  store i8 34, ptr %20275, align 4, !tbaa !17
  %20276 = load ptr, ptr %490, align 8, !tbaa !9
  %20277 = getelementptr inbounds %struct.s2n_connection, ptr %20276, i32 0, i32 87
  store i16 1, ptr %20277, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 40, ptr %492) #11
  call void @llvm.memset.p0.i64(ptr align 8 %492, i8 0, i64 40, i1 false)
  br label %20278

20278:                                            ; preds = %20273
  %20279 = load i32, ptr @test_count, align 4, !tbaa !5
  %20280 = add nsw i32 %20279, 1
  store i32 %20280, ptr @test_count, align 4, !tbaa !5
  %20281 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %492, i32 noundef 0)
  %20282 = icmp eq i32 %20281, -1
  br i1 %20282, label %20283, label %20336

20283:                                            ; preds = %20278
  br label %20284

20284:                                            ; preds = %20283
  br label %20285

20285:                                            ; preds = %20284
  call void @llvm.lifetime.start.p0(i64 4, ptr %493) #11
  %20286 = call ptr @__errno_location() #12
  %20287 = load i32, ptr %20286, align 4, !tbaa !5
  store i32 %20287, ptr %493, align 4, !tbaa !5
  %20288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20289 = call i32 @s2n_print_stacktrace(ptr noundef %20288)
  %20290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20291 = trunc i8 %20290 to i1
  br i1 %20291, label %20292, label %20314

20292:                                            ; preds = %20285
  %20293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20294 = call i32 @fileno(ptr noundef %20293) #11
  %20295 = call i32 @isatty(i32 noundef %20294) #11
  %20296 = icmp ne i32 %20295, 0
  br i1 %20296, label %20297, label %20314

20297:                                            ; preds = %20292
  %20298 = load i32, ptr %493, align 4, !tbaa !5
  %20299 = call ptr @__errno_location() #12
  store i32 %20298, ptr %20299, align 4, !tbaa !5
  %20300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20301 = load i32, ptr @test_count, align 4, !tbaa !5
  %20302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20303 = load i32, ptr %20302, align 4, !tbaa !5
  %20304 = call ptr @s2n_strerror(i32 noundef %20303, ptr noundef @.str.25)
  %20305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20306 = load i32, ptr %20305, align 4, !tbaa !5
  %20307 = call ptr @s2n_strerror_debug(i32 noundef %20306, ptr noundef @.str.25)
  %20308 = call ptr @__errno_location() #12
  %20309 = load i32, ptr %20308, align 4, !tbaa !5
  %20310 = call ptr @strerror(i32 noundef %20309) #11
  %20311 = call ptr @__errno_location() #12
  %20312 = load i32, ptr %20311, align 4, !tbaa !5
  %20313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20300, ptr noundef @.str.23, i32 noundef %20301, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1015, ptr noundef %20304, ptr noundef %20307, ptr noundef %20310, i32 noundef %20312) #11
  br label %20331

20314:                                            ; preds = %20292, %20285
  %20315 = load i32, ptr %493, align 4, !tbaa !5
  %20316 = call ptr @__errno_location() #12
  store i32 %20315, ptr %20316, align 4, !tbaa !5
  %20317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20318 = load i32, ptr @test_count, align 4, !tbaa !5
  %20319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20320 = load i32, ptr %20319, align 4, !tbaa !5
  %20321 = call ptr @s2n_strerror(i32 noundef %20320, ptr noundef @.str.25)
  %20322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20323 = load i32, ptr %20322, align 4, !tbaa !5
  %20324 = call ptr @s2n_strerror_debug(i32 noundef %20323, ptr noundef @.str.25)
  %20325 = call ptr @__errno_location() #12
  %20326 = load i32, ptr %20325, align 4, !tbaa !5
  %20327 = call ptr @strerror(i32 noundef %20326) #11
  %20328 = call ptr @__errno_location() #12
  %20329 = load i32, ptr %20328, align 4, !tbaa !5
  %20330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20317, ptr noundef @.str.26, i32 noundef %20318, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1015, ptr noundef %20321, ptr noundef %20324, ptr noundef %20327, i32 noundef %20329) #11
  br label %20331

20331:                                            ; preds = %20314, %20297
  call void @llvm.lifetime.end.p0(i64 4, ptr %493) #11
  br label %20332

20332:                                            ; preds = %20331
  br label %20333

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

20334:                                            ; No predecessors!
  br label %20335

20335:                                            ; preds = %20334
  br label %20336

20336:                                            ; preds = %20335, %20278
  br label %20337

20337:                                            ; preds = %20336
  br label %20338

20338:                                            ; preds = %20337
  br label %20339

20339:                                            ; preds = %20338
  %20340 = load i32, ptr @test_count, align 4, !tbaa !5
  %20341 = add nsw i32 %20340, 1
  store i32 %20341, ptr @test_count, align 4, !tbaa !5
  %20342 = load ptr, ptr %490, align 8, !tbaa !9
  %20343 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %492, ptr noundef %492, ptr noundef %20342)
  %20344 = icmp eq i32 %20343, -1
  br i1 %20344, label %20345, label %20398

20345:                                            ; preds = %20339
  br label %20346

20346:                                            ; preds = %20345
  br label %20347

20347:                                            ; preds = %20346
  call void @llvm.lifetime.start.p0(i64 4, ptr %494) #11
  %20348 = call ptr @__errno_location() #12
  %20349 = load i32, ptr %20348, align 4, !tbaa !5
  store i32 %20349, ptr %494, align 4, !tbaa !5
  %20350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20351 = call i32 @s2n_print_stacktrace(ptr noundef %20350)
  %20352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20353 = trunc i8 %20352 to i1
  br i1 %20353, label %20354, label %20376

20354:                                            ; preds = %20347
  %20355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20356 = call i32 @fileno(ptr noundef %20355) #11
  %20357 = call i32 @isatty(i32 noundef %20356) #11
  %20358 = icmp ne i32 %20357, 0
  br i1 %20358, label %20359, label %20376

20359:                                            ; preds = %20354
  %20360 = load i32, ptr %494, align 4, !tbaa !5
  %20361 = call ptr @__errno_location() #12
  store i32 %20360, ptr %20361, align 4, !tbaa !5
  %20362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20363 = load i32, ptr @test_count, align 4, !tbaa !5
  %20364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20365 = load i32, ptr %20364, align 4, !tbaa !5
  %20366 = call ptr @s2n_strerror(i32 noundef %20365, ptr noundef @.str.25)
  %20367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20368 = load i32, ptr %20367, align 4, !tbaa !5
  %20369 = call ptr @s2n_strerror_debug(i32 noundef %20368, ptr noundef @.str.25)
  %20370 = call ptr @__errno_location() #12
  %20371 = load i32, ptr %20370, align 4, !tbaa !5
  %20372 = call ptr @strerror(i32 noundef %20371) #11
  %20373 = call ptr @__errno_location() #12
  %20374 = load i32, ptr %20373, align 4, !tbaa !5
  %20375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20362, ptr noundef @.str.23, i32 noundef %20363, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1016, ptr noundef %20366, ptr noundef %20369, ptr noundef %20372, i32 noundef %20374) #11
  br label %20393

20376:                                            ; preds = %20354, %20347
  %20377 = load i32, ptr %494, align 4, !tbaa !5
  %20378 = call ptr @__errno_location() #12
  store i32 %20377, ptr %20378, align 4, !tbaa !5
  %20379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20380 = load i32, ptr @test_count, align 4, !tbaa !5
  %20381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20382 = load i32, ptr %20381, align 4, !tbaa !5
  %20383 = call ptr @s2n_strerror(i32 noundef %20382, ptr noundef @.str.25)
  %20384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20385 = load i32, ptr %20384, align 4, !tbaa !5
  %20386 = call ptr @s2n_strerror_debug(i32 noundef %20385, ptr noundef @.str.25)
  %20387 = call ptr @__errno_location() #12
  %20388 = load i32, ptr %20387, align 4, !tbaa !5
  %20389 = call ptr @strerror(i32 noundef %20388) #11
  %20390 = call ptr @__errno_location() #12
  %20391 = load i32, ptr %20390, align 4, !tbaa !5
  %20392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20379, ptr noundef @.str.26, i32 noundef %20380, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1016, ptr noundef %20383, ptr noundef %20386, ptr noundef %20389, i32 noundef %20391) #11
  br label %20393

20393:                                            ; preds = %20376, %20359
  call void @llvm.lifetime.end.p0(i64 4, ptr %494) #11
  br label %20394

20394:                                            ; preds = %20393
  br label %20395

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

20396:                                            ; No predecessors!
  br label %20397

20397:                                            ; preds = %20396
  br label %20398

20398:                                            ; preds = %20397, %20339
  br label %20399

20399:                                            ; preds = %20398
  br label %20400

20400:                                            ; preds = %20399
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #11
  store i32 0, ptr %495, align 4, !tbaa !5
  br label %20401

20401:                                            ; preds = %20400
  %20402 = load i32, ptr @test_count, align 4, !tbaa !5
  %20403 = add nsw i32 %20402, 1
  store i32 %20403, ptr @test_count, align 4, !tbaa !5
  %20404 = load ptr, ptr %490, align 8, !tbaa !9
  %20405 = call i32 @s2n_tls13_server_nst_send(ptr noundef %20404, ptr noundef %495)
  %20406 = getelementptr inbounds %struct.s2n_result, ptr %496, i32 0, i32 0
  store i32 %20405, ptr %20406, align 4
  %20407 = getelementptr inbounds %struct.s2n_result, ptr %496, i32 0, i32 0
  %20408 = load i32, ptr %20407, align 4
  %20409 = call zeroext i1 @s2n_result_is_ok(i32 %20408)
  br i1 %20409, label %20463, label %20410

20410:                                            ; preds = %20401
  br label %20411

20411:                                            ; preds = %20410
  br label %20412

20412:                                            ; preds = %20411
  call void @llvm.lifetime.start.p0(i64 4, ptr %497) #11
  %20413 = call ptr @__errno_location() #12
  %20414 = load i32, ptr %20413, align 4, !tbaa !5
  store i32 %20414, ptr %497, align 4, !tbaa !5
  %20415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20416 = call i32 @s2n_print_stacktrace(ptr noundef %20415)
  %20417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20418 = trunc i8 %20417 to i1
  br i1 %20418, label %20419, label %20441

20419:                                            ; preds = %20412
  %20420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20421 = call i32 @fileno(ptr noundef %20420) #11
  %20422 = call i32 @isatty(i32 noundef %20421) #11
  %20423 = icmp ne i32 %20422, 0
  br i1 %20423, label %20424, label %20441

20424:                                            ; preds = %20419
  %20425 = load i32, ptr %497, align 4, !tbaa !5
  %20426 = call ptr @__errno_location() #12
  store i32 %20425, ptr %20426, align 4, !tbaa !5
  %20427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20428 = load i32, ptr @test_count, align 4, !tbaa !5
  %20429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20430 = load i32, ptr %20429, align 4, !tbaa !5
  %20431 = call ptr @s2n_strerror(i32 noundef %20430, ptr noundef @.str.25)
  %20432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20433 = load i32, ptr %20432, align 4, !tbaa !5
  %20434 = call ptr @s2n_strerror_debug(i32 noundef %20433, ptr noundef @.str.25)
  %20435 = call ptr @__errno_location() #12
  %20436 = load i32, ptr %20435, align 4, !tbaa !5
  %20437 = call ptr @strerror(i32 noundef %20436) #11
  %20438 = call ptr @__errno_location() #12
  %20439 = load i32, ptr %20438, align 4, !tbaa !5
  %20440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20427, ptr noundef @.str.23, i32 noundef %20428, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1019, ptr noundef %20431, ptr noundef %20434, ptr noundef %20437, i32 noundef %20439) #11
  br label %20458

20441:                                            ; preds = %20419, %20412
  %20442 = load i32, ptr %497, align 4, !tbaa !5
  %20443 = call ptr @__errno_location() #12
  store i32 %20442, ptr %20443, align 4, !tbaa !5
  %20444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20445 = load i32, ptr @test_count, align 4, !tbaa !5
  %20446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20447 = load i32, ptr %20446, align 4, !tbaa !5
  %20448 = call ptr @s2n_strerror(i32 noundef %20447, ptr noundef @.str.25)
  %20449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20450 = load i32, ptr %20449, align 4, !tbaa !5
  %20451 = call ptr @s2n_strerror_debug(i32 noundef %20450, ptr noundef @.str.25)
  %20452 = call ptr @__errno_location() #12
  %20453 = load i32, ptr %20452, align 4, !tbaa !5
  %20454 = call ptr @strerror(i32 noundef %20453) #11
  %20455 = call ptr @__errno_location() #12
  %20456 = load i32, ptr %20455, align 4, !tbaa !5
  %20457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20444, ptr noundef @.str.26, i32 noundef %20445, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1019, ptr noundef %20448, ptr noundef %20451, ptr noundef %20454, i32 noundef %20456) #11
  br label %20458

20458:                                            ; preds = %20441, %20424
  call void @llvm.lifetime.end.p0(i64 4, ptr %497) #11
  br label %20459

20459:                                            ; preds = %20458
  br label %20460

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

20461:                                            ; No predecessors!
  br label %20462

20462:                                            ; preds = %20461
  br label %20463

20463:                                            ; preds = %20462, %20401
  br label %20464

20464:                                            ; preds = %20463
  br label %20465

20465:                                            ; preds = %20464
  br label %20466

20466:                                            ; preds = %20465
  %20467 = load i32, ptr @test_count, align 4, !tbaa !5
  %20468 = add nsw i32 %20467, 1
  store i32 %20468, ptr @test_count, align 4, !tbaa !5
  %20469 = getelementptr inbounds %struct.s2n_stuffer, ptr %492, i32 0, i32 2
  %20470 = load i32, ptr %20469, align 4, !tbaa !52
  %20471 = getelementptr inbounds %struct.s2n_stuffer, ptr %492, i32 0, i32 1
  %20472 = load i32, ptr %20471, align 8, !tbaa !53
  %20473 = sub i32 %20470, %20472
  %20474 = icmp eq i32 0, %20473
  br i1 %20474, label %20528, label %20475

20475:                                            ; preds = %20466
  br label %20476

20476:                                            ; preds = %20475
  br label %20477

20477:                                            ; preds = %20476
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #11
  %20478 = call ptr @__errno_location() #12
  %20479 = load i32, ptr %20478, align 4, !tbaa !5
  store i32 %20479, ptr %498, align 4, !tbaa !5
  %20480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20481 = call i32 @s2n_print_stacktrace(ptr noundef %20480)
  %20482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20483 = trunc i8 %20482 to i1
  br i1 %20483, label %20484, label %20506

20484:                                            ; preds = %20477
  %20485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20486 = call i32 @fileno(ptr noundef %20485) #11
  %20487 = call i32 @isatty(i32 noundef %20486) #11
  %20488 = icmp ne i32 %20487, 0
  br i1 %20488, label %20489, label %20506

20489:                                            ; preds = %20484
  %20490 = load i32, ptr %498, align 4, !tbaa !5
  %20491 = call ptr @__errno_location() #12
  store i32 %20490, ptr %20491, align 4, !tbaa !5
  %20492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20493 = load i32, ptr @test_count, align 4, !tbaa !5
  %20494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20495 = load i32, ptr %20494, align 4, !tbaa !5
  %20496 = call ptr @s2n_strerror(i32 noundef %20495, ptr noundef @.str.25)
  %20497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20498 = load i32, ptr %20497, align 4, !tbaa !5
  %20499 = call ptr @s2n_strerror_debug(i32 noundef %20498, ptr noundef @.str.25)
  %20500 = call ptr @__errno_location() #12
  %20501 = load i32, ptr %20500, align 4, !tbaa !5
  %20502 = call ptr @strerror(i32 noundef %20501) #11
  %20503 = call ptr @__errno_location() #12
  %20504 = load i32, ptr %20503, align 4, !tbaa !5
  %20505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20492, ptr noundef @.str.23, i32 noundef %20493, ptr noundef @.str.169, ptr noundef @.str.22, i32 noundef 1021, ptr noundef %20496, ptr noundef %20499, ptr noundef %20502, i32 noundef %20504) #11
  br label %20523

20506:                                            ; preds = %20484, %20477
  %20507 = load i32, ptr %498, align 4, !tbaa !5
  %20508 = call ptr @__errno_location() #12
  store i32 %20507, ptr %20508, align 4, !tbaa !5
  %20509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20510 = load i32, ptr @test_count, align 4, !tbaa !5
  %20511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20512 = load i32, ptr %20511, align 4, !tbaa !5
  %20513 = call ptr @s2n_strerror(i32 noundef %20512, ptr noundef @.str.25)
  %20514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20515 = load i32, ptr %20514, align 4, !tbaa !5
  %20516 = call ptr @s2n_strerror_debug(i32 noundef %20515, ptr noundef @.str.25)
  %20517 = call ptr @__errno_location() #12
  %20518 = load i32, ptr %20517, align 4, !tbaa !5
  %20519 = call ptr @strerror(i32 noundef %20518) #11
  %20520 = call ptr @__errno_location() #12
  %20521 = load i32, ptr %20520, align 4, !tbaa !5
  %20522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20509, ptr noundef @.str.26, i32 noundef %20510, ptr noundef @.str.169, ptr noundef @.str.22, i32 noundef 1021, ptr noundef %20513, ptr noundef %20516, ptr noundef %20519, i32 noundef %20521) #11
  br label %20523

20523:                                            ; preds = %20506, %20489
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #11
  br label %20524

20524:                                            ; preds = %20523
  br label %20525

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

20526:                                            ; No predecessors!
  br label %20527

20527:                                            ; preds = %20526
  br label %20528

20528:                                            ; preds = %20527, %20466
  br label %20529

20529:                                            ; preds = %20528
  br label %20530

20530:                                            ; preds = %20529
  br label %20531

20531:                                            ; preds = %20530
  br label %20532

20532:                                            ; preds = %20531
  br label %20533

20533:                                            ; preds = %20532
  %20534 = load i32, ptr @test_count, align 4, !tbaa !5
  %20535 = add nsw i32 %20534, 1
  store i32 %20535, ptr @test_count, align 4, !tbaa !5
  %20536 = load ptr, ptr %490, align 8, !tbaa !9
  %20537 = call i32 @s2n_assert_tickets_sent(ptr noundef %20536, i16 noundef zeroext 0)
  %20538 = getelementptr inbounds %struct.s2n_result, ptr %499, i32 0, i32 0
  store i32 %20537, ptr %20538, align 4
  %20539 = getelementptr inbounds %struct.s2n_result, ptr %499, i32 0, i32 0
  %20540 = load i32, ptr %20539, align 4
  %20541 = call zeroext i1 @s2n_result_is_error(i32 %20540)
  br i1 %20541, label %20595, label %20542

20542:                                            ; preds = %20533
  br label %20543

20543:                                            ; preds = %20542
  br label %20544

20544:                                            ; preds = %20543
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #11
  %20545 = call ptr @__errno_location() #12
  %20546 = load i32, ptr %20545, align 4, !tbaa !5
  store i32 %20546, ptr %500, align 4, !tbaa !5
  %20547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20548 = call i32 @s2n_print_stacktrace(ptr noundef %20547)
  %20549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20550 = trunc i8 %20549 to i1
  br i1 %20550, label %20551, label %20573

20551:                                            ; preds = %20544
  %20552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20553 = call i32 @fileno(ptr noundef %20552) #11
  %20554 = call i32 @isatty(i32 noundef %20553) #11
  %20555 = icmp ne i32 %20554, 0
  br i1 %20555, label %20556, label %20573

20556:                                            ; preds = %20551
  %20557 = load i32, ptr %500, align 4, !tbaa !5
  %20558 = call ptr @__errno_location() #12
  store i32 %20557, ptr %20558, align 4, !tbaa !5
  %20559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20560 = load i32, ptr @test_count, align 4, !tbaa !5
  %20561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20562 = load i32, ptr %20561, align 4, !tbaa !5
  %20563 = call ptr @s2n_strerror(i32 noundef %20562, ptr noundef @.str.25)
  %20564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20565 = load i32, ptr %20564, align 4, !tbaa !5
  %20566 = call ptr @s2n_strerror_debug(i32 noundef %20565, ptr noundef @.str.25)
  %20567 = call ptr @__errno_location() #12
  %20568 = load i32, ptr %20567, align 4, !tbaa !5
  %20569 = call ptr @strerror(i32 noundef %20568) #11
  %20570 = call ptr @__errno_location() #12
  %20571 = load i32, ptr %20570, align 4, !tbaa !5
  %20572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20559, ptr noundef @.str.23, i32 noundef %20560, ptr noundef @.str.170, ptr noundef @.str.22, i32 noundef 1022, ptr noundef %20563, ptr noundef %20566, ptr noundef %20569, i32 noundef %20571) #11
  br label %20590

20573:                                            ; preds = %20551, %20544
  %20574 = load i32, ptr %500, align 4, !tbaa !5
  %20575 = call ptr @__errno_location() #12
  store i32 %20574, ptr %20575, align 4, !tbaa !5
  %20576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20577 = load i32, ptr @test_count, align 4, !tbaa !5
  %20578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20579 = load i32, ptr %20578, align 4, !tbaa !5
  %20580 = call ptr @s2n_strerror(i32 noundef %20579, ptr noundef @.str.25)
  %20581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20582 = load i32, ptr %20581, align 4, !tbaa !5
  %20583 = call ptr @s2n_strerror_debug(i32 noundef %20582, ptr noundef @.str.25)
  %20584 = call ptr @__errno_location() #12
  %20585 = load i32, ptr %20584, align 4, !tbaa !5
  %20586 = call ptr @strerror(i32 noundef %20585) #11
  %20587 = call ptr @__errno_location() #12
  %20588 = load i32, ptr %20587, align 4, !tbaa !5
  %20589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20576, ptr noundef @.str.26, i32 noundef %20577, ptr noundef @.str.170, ptr noundef @.str.22, i32 noundef 1022, ptr noundef %20580, ptr noundef %20583, ptr noundef %20586, i32 noundef %20588) #11
  br label %20590

20590:                                            ; preds = %20573, %20556
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #11
  br label %20591

20591:                                            ; preds = %20590
  br label %20592

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

20593:                                            ; No predecessors!
  br label %20594

20594:                                            ; preds = %20593
  br label %20595

20595:                                            ; preds = %20594, %20533
  br label %20596

20596:                                            ; preds = %20595
  br label %20597

20597:                                            ; preds = %20596
  br label %20598

20598:                                            ; preds = %20597
  %20599 = load i32, ptr @test_count, align 4, !tbaa !5
  %20600 = add nsw i32 %20599, 1
  store i32 %20600, ptr @test_count, align 4, !tbaa !5
  %20601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20602 = load i32, ptr %20601, align 4, !tbaa !5
  %20603 = icmp eq i32 %20602, 469762050
  br i1 %20603, label %20657, label %20604

20604:                                            ; preds = %20598
  br label %20605

20605:                                            ; preds = %20604
  br label %20606

20606:                                            ; preds = %20605
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #11
  %20607 = call ptr @__errno_location() #12
  %20608 = load i32, ptr %20607, align 4, !tbaa !5
  store i32 %20608, ptr %501, align 4, !tbaa !5
  %20609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20610 = call i32 @s2n_print_stacktrace(ptr noundef %20609)
  %20611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20612 = trunc i8 %20611 to i1
  br i1 %20612, label %20613, label %20635

20613:                                            ; preds = %20606
  %20614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20615 = call i32 @fileno(ptr noundef %20614) #11
  %20616 = call i32 @isatty(i32 noundef %20615) #11
  %20617 = icmp ne i32 %20616, 0
  br i1 %20617, label %20618, label %20635

20618:                                            ; preds = %20613
  %20619 = load i32, ptr %501, align 4, !tbaa !5
  %20620 = call ptr @__errno_location() #12
  store i32 %20619, ptr %20620, align 4, !tbaa !5
  %20621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20622 = load i32, ptr @test_count, align 4, !tbaa !5
  %20623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20624 = load i32, ptr %20623, align 4, !tbaa !5
  %20625 = call ptr @s2n_strerror(i32 noundef %20624, ptr noundef @.str.25)
  %20626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20627 = load i32, ptr %20626, align 4, !tbaa !5
  %20628 = call ptr @s2n_strerror_debug(i32 noundef %20627, ptr noundef @.str.25)
  %20629 = call ptr @__errno_location() #12
  %20630 = load i32, ptr %20629, align 4, !tbaa !5
  %20631 = call ptr @strerror(i32 noundef %20630) #11
  %20632 = call ptr @__errno_location() #12
  %20633 = load i32, ptr %20632, align 4, !tbaa !5
  %20634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20621, ptr noundef @.str.23, i32 noundef %20622, ptr noundef @.str.171, ptr noundef @.str.22, i32 noundef 1022, ptr noundef %20625, ptr noundef %20628, ptr noundef %20631, i32 noundef %20633) #11
  br label %20652

20635:                                            ; preds = %20613, %20606
  %20636 = load i32, ptr %501, align 4, !tbaa !5
  %20637 = call ptr @__errno_location() #12
  store i32 %20636, ptr %20637, align 4, !tbaa !5
  %20638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20639 = load i32, ptr @test_count, align 4, !tbaa !5
  %20640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20641 = load i32, ptr %20640, align 4, !tbaa !5
  %20642 = call ptr @s2n_strerror(i32 noundef %20641, ptr noundef @.str.25)
  %20643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20644 = load i32, ptr %20643, align 4, !tbaa !5
  %20645 = call ptr @s2n_strerror_debug(i32 noundef %20644, ptr noundef @.str.25)
  %20646 = call ptr @__errno_location() #12
  %20647 = load i32, ptr %20646, align 4, !tbaa !5
  %20648 = call ptr @strerror(i32 noundef %20647) #11
  %20649 = call ptr @__errno_location() #12
  %20650 = load i32, ptr %20649, align 4, !tbaa !5
  %20651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20638, ptr noundef @.str.26, i32 noundef %20639, ptr noundef @.str.171, ptr noundef @.str.22, i32 noundef 1022, ptr noundef %20642, ptr noundef %20645, ptr noundef %20648, i32 noundef %20650) #11
  br label %20652

20652:                                            ; preds = %20635, %20618
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #11
  br label %20653

20653:                                            ; preds = %20652
  br label %20654

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

20655:                                            ; No predecessors!
  br label %20656

20656:                                            ; preds = %20655
  br label %20657

20657:                                            ; preds = %20656, %20598
  br label %20658

20658:                                            ; preds = %20657
  br label %20659

20659:                                            ; preds = %20658
  br label %20660

20660:                                            ; preds = %20659
  %20661 = load i32, ptr @test_count, align 4, !tbaa !5
  %20662 = add nsw i32 %20661, 1
  store i32 %20662, ptr @test_count, align 4, !tbaa !5
  %20663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20664 = load i32, ptr %20663, align 4, !tbaa !5
  %20665 = call ptr @s2n_strerror_debug(i32 noundef %20664, ptr noundef @.str.25)
  %20666 = icmp eq ptr %20665, null
  br i1 %20666, label %20667, label %20720

20667:                                            ; preds = %20660
  br label %20668

20668:                                            ; preds = %20667
  br label %20669

20669:                                            ; preds = %20668
  call void @llvm.lifetime.start.p0(i64 4, ptr %502) #11
  %20670 = call ptr @__errno_location() #12
  %20671 = load i32, ptr %20670, align 4, !tbaa !5
  store i32 %20671, ptr %502, align 4, !tbaa !5
  %20672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20673 = call i32 @s2n_print_stacktrace(ptr noundef %20672)
  %20674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20675 = trunc i8 %20674 to i1
  br i1 %20675, label %20676, label %20698

20676:                                            ; preds = %20669
  %20677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20678 = call i32 @fileno(ptr noundef %20677) #11
  %20679 = call i32 @isatty(i32 noundef %20678) #11
  %20680 = icmp ne i32 %20679, 0
  br i1 %20680, label %20681, label %20698

20681:                                            ; preds = %20676
  %20682 = load i32, ptr %502, align 4, !tbaa !5
  %20683 = call ptr @__errno_location() #12
  store i32 %20682, ptr %20683, align 4, !tbaa !5
  %20684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20685 = load i32, ptr @test_count, align 4, !tbaa !5
  %20686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20687 = load i32, ptr %20686, align 4, !tbaa !5
  %20688 = call ptr @s2n_strerror(i32 noundef %20687, ptr noundef @.str.25)
  %20689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20690 = load i32, ptr %20689, align 4, !tbaa !5
  %20691 = call ptr @s2n_strerror_debug(i32 noundef %20690, ptr noundef @.str.25)
  %20692 = call ptr @__errno_location() #12
  %20693 = load i32, ptr %20692, align 4, !tbaa !5
  %20694 = call ptr @strerror(i32 noundef %20693) #11
  %20695 = call ptr @__errno_location() #12
  %20696 = load i32, ptr %20695, align 4, !tbaa !5
  %20697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20684, ptr noundef @.str.23, i32 noundef %20685, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 1022, ptr noundef %20688, ptr noundef %20691, ptr noundef %20694, i32 noundef %20696) #11
  br label %20715

20698:                                            ; preds = %20676, %20669
  %20699 = load i32, ptr %502, align 4, !tbaa !5
  %20700 = call ptr @__errno_location() #12
  store i32 %20699, ptr %20700, align 4, !tbaa !5
  %20701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20702 = load i32, ptr @test_count, align 4, !tbaa !5
  %20703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20704 = load i32, ptr %20703, align 4, !tbaa !5
  %20705 = call ptr @s2n_strerror(i32 noundef %20704, ptr noundef @.str.25)
  %20706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20707 = load i32, ptr %20706, align 4, !tbaa !5
  %20708 = call ptr @s2n_strerror_debug(i32 noundef %20707, ptr noundef @.str.25)
  %20709 = call ptr @__errno_location() #12
  %20710 = load i32, ptr %20709, align 4, !tbaa !5
  %20711 = call ptr @strerror(i32 noundef %20710) #11
  %20712 = call ptr @__errno_location() #12
  %20713 = load i32, ptr %20712, align 4, !tbaa !5
  %20714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20701, ptr noundef @.str.26, i32 noundef %20702, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 1022, ptr noundef %20705, ptr noundef %20708, ptr noundef %20711, i32 noundef %20713) #11
  br label %20715

20715:                                            ; preds = %20698, %20681
  call void @llvm.lifetime.end.p0(i64 4, ptr %502) #11
  br label %20716

20716:                                            ; preds = %20715
  br label %20717

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

20718:                                            ; No predecessors!
  br label %20719

20719:                                            ; preds = %20718
  br label %20720

20720:                                            ; preds = %20719, %20660
  br label %20721

20721:                                            ; preds = %20720
  br label %20722

20722:                                            ; preds = %20721
  br label %20723

20723:                                            ; preds = %20722
  br label %20724

20724:                                            ; preds = %20723
  br label %20725

20725:                                            ; preds = %20724
  %20726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20726, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20727 = call ptr @__errno_location() #12
  store i32 0, ptr %20727, align 4, !tbaa !5
  br label %20728

20728:                                            ; preds = %20725
  br label %20729

20729:                                            ; preds = %20728
  br label %20730

20730:                                            ; preds = %20729
  br label %20731

20731:                                            ; preds = %20730
  br label %20732

20732:                                            ; preds = %20731
  %20733 = load i32, ptr @test_count, align 4, !tbaa !5
  %20734 = add nsw i32 %20733, 1
  store i32 %20734, ptr @test_count, align 4, !tbaa !5
  %20735 = call i32 @s2n_stuffer_free(ptr noundef %492)
  %20736 = icmp eq i32 %20735, -1
  br i1 %20736, label %20737, label %20790

20737:                                            ; preds = %20732
  br label %20738

20738:                                            ; preds = %20737
  br label %20739

20739:                                            ; preds = %20738
  call void @llvm.lifetime.start.p0(i64 4, ptr %503) #11
  %20740 = call ptr @__errno_location() #12
  %20741 = load i32, ptr %20740, align 4, !tbaa !5
  store i32 %20741, ptr %503, align 4, !tbaa !5
  %20742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20743 = call i32 @s2n_print_stacktrace(ptr noundef %20742)
  %20744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20745 = trunc i8 %20744 to i1
  br i1 %20745, label %20746, label %20768

20746:                                            ; preds = %20739
  %20747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20748 = call i32 @fileno(ptr noundef %20747) #11
  %20749 = call i32 @isatty(i32 noundef %20748) #11
  %20750 = icmp ne i32 %20749, 0
  br i1 %20750, label %20751, label %20768

20751:                                            ; preds = %20746
  %20752 = load i32, ptr %503, align 4, !tbaa !5
  %20753 = call ptr @__errno_location() #12
  store i32 %20752, ptr %20753, align 4, !tbaa !5
  %20754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20755 = load i32, ptr @test_count, align 4, !tbaa !5
  %20756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20757 = load i32, ptr %20756, align 4, !tbaa !5
  %20758 = call ptr @s2n_strerror(i32 noundef %20757, ptr noundef @.str.25)
  %20759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20760 = load i32, ptr %20759, align 4, !tbaa !5
  %20761 = call ptr @s2n_strerror_debug(i32 noundef %20760, ptr noundef @.str.25)
  %20762 = call ptr @__errno_location() #12
  %20763 = load i32, ptr %20762, align 4, !tbaa !5
  %20764 = call ptr @strerror(i32 noundef %20763) #11
  %20765 = call ptr @__errno_location() #12
  %20766 = load i32, ptr %20765, align 4, !tbaa !5
  %20767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20754, ptr noundef @.str.23, i32 noundef %20755, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1024, ptr noundef %20758, ptr noundef %20761, ptr noundef %20764, i32 noundef %20766) #11
  br label %20785

20768:                                            ; preds = %20746, %20739
  %20769 = load i32, ptr %503, 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.25)
  %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.25)
  %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.26, i32 noundef %20772, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1024, ptr noundef %20775, ptr noundef %20778, ptr noundef %20781, i32 noundef %20783) #11
  br label %20785

20785:                                            ; preds = %20768, %20751
  call void @llvm.lifetime.end.p0(i64 4, ptr %503) #11
  br label %20786

20786:                                            ; preds = %20785
  br label %20787

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

20788:                                            ; No predecessors!
  br label %20789

20789:                                            ; preds = %20788
  br label %20790

20790:                                            ; preds = %20789, %20732
  br label %20791

20791:                                            ; preds = %20790
  br label %20792

20792:                                            ; preds = %20791
  br label %20793

20793:                                            ; preds = %20792
  %20794 = load i32, ptr @test_count, align 4, !tbaa !5
  %20795 = add nsw i32 %20794, 1
  store i32 %20795, ptr @test_count, align 4, !tbaa !5
  %20796 = load ptr, ptr %490, align 8, !tbaa !9
  %20797 = call i32 @s2n_connection_free(ptr noundef %20796)
  %20798 = icmp eq i32 %20797, -1
  br i1 %20798, label %20799, label %20852

20799:                                            ; preds = %20793
  br label %20800

20800:                                            ; preds = %20799
  br label %20801

20801:                                            ; preds = %20800
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #11
  %20802 = call ptr @__errno_location() #12
  %20803 = load i32, ptr %20802, align 4, !tbaa !5
  store i32 %20803, ptr %504, align 4, !tbaa !5
  %20804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20805 = call i32 @s2n_print_stacktrace(ptr noundef %20804)
  %20806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20807 = trunc i8 %20806 to i1
  br i1 %20807, label %20808, label %20830

20808:                                            ; preds = %20801
  %20809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20810 = call i32 @fileno(ptr noundef %20809) #11
  %20811 = call i32 @isatty(i32 noundef %20810) #11
  %20812 = icmp ne i32 %20811, 0
  br i1 %20812, label %20813, label %20830

20813:                                            ; preds = %20808
  %20814 = load i32, ptr %504, align 4, !tbaa !5
  %20815 = call ptr @__errno_location() #12
  store i32 %20814, ptr %20815, align 4, !tbaa !5
  %20816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20817 = load i32, ptr @test_count, align 4, !tbaa !5
  %20818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20819 = load i32, ptr %20818, align 4, !tbaa !5
  %20820 = call ptr @s2n_strerror(i32 noundef %20819, ptr noundef @.str.25)
  %20821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20822 = load i32, ptr %20821, align 4, !tbaa !5
  %20823 = call ptr @s2n_strerror_debug(i32 noundef %20822, ptr noundef @.str.25)
  %20824 = call ptr @__errno_location() #12
  %20825 = load i32, ptr %20824, align 4, !tbaa !5
  %20826 = call ptr @strerror(i32 noundef %20825) #11
  %20827 = call ptr @__errno_location() #12
  %20828 = load i32, ptr %20827, align 4, !tbaa !5
  %20829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20816, ptr noundef @.str.23, i32 noundef %20817, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1025, ptr noundef %20820, ptr noundef %20823, ptr noundef %20826, i32 noundef %20828) #11
  br label %20847

20830:                                            ; preds = %20808, %20801
  %20831 = load i32, ptr %504, align 4, !tbaa !5
  %20832 = call ptr @__errno_location() #12
  store i32 %20831, ptr %20832, align 4, !tbaa !5
  %20833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20834 = load i32, ptr @test_count, align 4, !tbaa !5
  %20835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20836 = load i32, ptr %20835, align 4, !tbaa !5
  %20837 = call ptr @s2n_strerror(i32 noundef %20836, ptr noundef @.str.25)
  %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_debug(i32 noundef %20839, ptr noundef @.str.25)
  %20841 = call ptr @__errno_location() #12
  %20842 = load i32, ptr %20841, align 4, !tbaa !5
  %20843 = call ptr @strerror(i32 noundef %20842) #11
  %20844 = call ptr @__errno_location() #12
  %20845 = load i32, ptr %20844, align 4, !tbaa !5
  %20846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20833, ptr noundef @.str.26, i32 noundef %20834, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1025, ptr noundef %20837, ptr noundef %20840, ptr noundef %20843, i32 noundef %20845) #11
  br label %20847

20847:                                            ; preds = %20830, %20813
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #11
  br label %20848

20848:                                            ; preds = %20847
  br label %20849

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

20850:                                            ; No predecessors!
  br label %20851

20851:                                            ; preds = %20850
  br label %20852

20852:                                            ; preds = %20851, %20793
  br label %20853

20853:                                            ; preds = %20852
  br label %20854

20854:                                            ; preds = %20853
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %492) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %490) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %505) #11
  %20855 = call ptr @s2n_config_new()
  store ptr %20855, ptr %505, align 8, !tbaa !9
  br label %20856

20856:                                            ; preds = %20854
  %20857 = load i32, ptr @test_count, align 4, !tbaa !5
  %20858 = add nsw i32 %20857, 1
  store i32 %20858, ptr @test_count, align 4, !tbaa !5
  %20859 = load ptr, ptr %505, align 8, !tbaa !9
  %20860 = icmp eq ptr %20859, null
  br i1 %20860, label %20861, label %20914

20861:                                            ; preds = %20856
  br label %20862

20862:                                            ; preds = %20861
  br label %20863

20863:                                            ; preds = %20862
  call void @llvm.lifetime.start.p0(i64 4, ptr %506) #11
  %20864 = call ptr @__errno_location() #12
  %20865 = load i32, ptr %20864, align 4, !tbaa !5
  store i32 %20865, ptr %506, align 4, !tbaa !5
  %20866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20867 = call i32 @s2n_print_stacktrace(ptr noundef %20866)
  %20868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20869 = trunc i8 %20868 to i1
  br i1 %20869, label %20870, label %20892

20870:                                            ; preds = %20863
  %20871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20872 = call i32 @fileno(ptr noundef %20871) #11
  %20873 = call i32 @isatty(i32 noundef %20872) #11
  %20874 = icmp ne i32 %20873, 0
  br i1 %20874, label %20875, label %20892

20875:                                            ; preds = %20870
  %20876 = load i32, ptr %506, align 4, !tbaa !5
  %20877 = call ptr @__errno_location() #12
  store i32 %20876, ptr %20877, align 4, !tbaa !5
  %20878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20879 = load i32, ptr @test_count, align 4, !tbaa !5
  %20880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20881 = load i32, ptr %20880, align 4, !tbaa !5
  %20882 = call ptr @s2n_strerror(i32 noundef %20881, ptr noundef @.str.25)
  %20883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20884 = load i32, ptr %20883, align 4, !tbaa !5
  %20885 = call ptr @s2n_strerror_debug(i32 noundef %20884, ptr noundef @.str.25)
  %20886 = call ptr @__errno_location() #12
  %20887 = load i32, ptr %20886, align 4, !tbaa !5
  %20888 = call ptr @strerror(i32 noundef %20887) #11
  %20889 = call ptr @__errno_location() #12
  %20890 = load i32, ptr %20889, align 4, !tbaa !5
  %20891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20878, ptr noundef @.str.23, i32 noundef %20879, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1032, ptr noundef %20882, ptr noundef %20885, ptr noundef %20888, i32 noundef %20890) #11
  br label %20909

20892:                                            ; preds = %20870, %20863
  %20893 = load i32, ptr %506, align 4, !tbaa !5
  %20894 = call ptr @__errno_location() #12
  store i32 %20893, ptr %20894, align 4, !tbaa !5
  %20895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20896 = load i32, ptr @test_count, align 4, !tbaa !5
  %20897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20898 = load i32, ptr %20897, align 4, !tbaa !5
  %20899 = call ptr @s2n_strerror(i32 noundef %20898, ptr noundef @.str.25)
  %20900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20901 = load i32, ptr %20900, align 4, !tbaa !5
  %20902 = call ptr @s2n_strerror_debug(i32 noundef %20901, ptr noundef @.str.25)
  %20903 = call ptr @__errno_location() #12
  %20904 = load i32, ptr %20903, align 4, !tbaa !5
  %20905 = call ptr @strerror(i32 noundef %20904) #11
  %20906 = call ptr @__errno_location() #12
  %20907 = load i32, ptr %20906, align 4, !tbaa !5
  %20908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20895, ptr noundef @.str.26, i32 noundef %20896, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1032, ptr noundef %20899, ptr noundef %20902, ptr noundef %20905, i32 noundef %20907) #11
  br label %20909

20909:                                            ; preds = %20892, %20875
  call void @llvm.lifetime.end.p0(i64 4, ptr %506) #11
  br label %20910

20910:                                            ; preds = %20909
  br label %20911

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

20912:                                            ; No predecessors!
  br label %20913

20913:                                            ; preds = %20912
  br label %20914

20914:                                            ; preds = %20913, %20856
  br label %20915

20915:                                            ; preds = %20914
  br label %20916

20916:                                            ; preds = %20915
  br label %20917

20917:                                            ; preds = %20916
  %20918 = load i32, ptr @test_count, align 4, !tbaa !5
  %20919 = add nsw i32 %20918, 1
  store i32 %20919, ptr @test_count, align 4, !tbaa !5
  %20920 = load ptr, ptr %505, align 8, !tbaa !9
  %20921 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %20920)
  %20922 = getelementptr inbounds %struct.s2n_result, ptr %507, i32 0, i32 0
  store i32 %20921, ptr %20922, align 4
  %20923 = getelementptr inbounds %struct.s2n_result, ptr %507, i32 0, i32 0
  %20924 = load i32, ptr %20923, align 4
  %20925 = call zeroext i1 @s2n_result_is_ok(i32 %20924)
  br i1 %20925, label %20979, label %20926

20926:                                            ; preds = %20917
  br label %20927

20927:                                            ; preds = %20926
  br label %20928

20928:                                            ; preds = %20927
  call void @llvm.lifetime.start.p0(i64 4, ptr %508) #11
  %20929 = call ptr @__errno_location() #12
  %20930 = load i32, ptr %20929, align 4, !tbaa !5
  store i32 %20930, ptr %508, align 4, !tbaa !5
  %20931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20932 = call i32 @s2n_print_stacktrace(ptr noundef %20931)
  %20933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20934 = trunc i8 %20933 to i1
  br i1 %20934, label %20935, label %20957

20935:                                            ; preds = %20928
  %20936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20937 = call i32 @fileno(ptr noundef %20936) #11
  %20938 = call i32 @isatty(i32 noundef %20937) #11
  %20939 = icmp ne i32 %20938, 0
  br i1 %20939, label %20940, label %20957

20940:                                            ; preds = %20935
  %20941 = load i32, ptr %508, align 4, !tbaa !5
  %20942 = call ptr @__errno_location() #12
  store i32 %20941, ptr %20942, align 4, !tbaa !5
  %20943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20944 = load i32, ptr @test_count, align 4, !tbaa !5
  %20945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20946 = load i32, ptr %20945, align 4, !tbaa !5
  %20947 = call ptr @s2n_strerror(i32 noundef %20946, ptr noundef @.str.25)
  %20948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20949 = load i32, ptr %20948, align 4, !tbaa !5
  %20950 = call ptr @s2n_strerror_debug(i32 noundef %20949, ptr noundef @.str.25)
  %20951 = call ptr @__errno_location() #12
  %20952 = load i32, ptr %20951, align 4, !tbaa !5
  %20953 = call ptr @strerror(i32 noundef %20952) #11
  %20954 = call ptr @__errno_location() #12
  %20955 = load i32, ptr %20954, align 4, !tbaa !5
  %20956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20943, ptr noundef @.str.23, i32 noundef %20944, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1033, ptr noundef %20947, ptr noundef %20950, ptr noundef %20953, i32 noundef %20955) #11
  br label %20974

20957:                                            ; preds = %20935, %20928
  %20958 = load i32, ptr %508, align 4, !tbaa !5
  %20959 = call ptr @__errno_location() #12
  store i32 %20958, ptr %20959, align 4, !tbaa !5
  %20960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20961 = load i32, ptr @test_count, align 4, !tbaa !5
  %20962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20963 = load i32, ptr %20962, align 4, !tbaa !5
  %20964 = call ptr @s2n_strerror(i32 noundef %20963, ptr noundef @.str.25)
  %20965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20966 = load i32, ptr %20965, align 4, !tbaa !5
  %20967 = call ptr @s2n_strerror_debug(i32 noundef %20966, ptr noundef @.str.25)
  %20968 = call ptr @__errno_location() #12
  %20969 = load i32, ptr %20968, align 4, !tbaa !5
  %20970 = call ptr @strerror(i32 noundef %20969) #11
  %20971 = call ptr @__errno_location() #12
  %20972 = load i32, ptr %20971, align 4, !tbaa !5
  %20973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20960, ptr noundef @.str.26, i32 noundef %20961, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1033, ptr noundef %20964, ptr noundef %20967, ptr noundef %20970, i32 noundef %20972) #11
  br label %20974

20974:                                            ; preds = %20957, %20940
  call void @llvm.lifetime.end.p0(i64 4, ptr %508) #11
  br label %20975

20975:                                            ; preds = %20974
  br label %20976

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

20977:                                            ; No predecessors!
  br label %20978

20978:                                            ; preds = %20977
  br label %20979

20979:                                            ; preds = %20978, %20917
  br label %20980

20980:                                            ; preds = %20979
  br label %20981

20981:                                            ; preds = %20980
  call void @llvm.lifetime.start.p0(i64 8, ptr %509) #11
  %20982 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %20982, ptr %509, align 8, !tbaa !9
  br label %20983

20983:                                            ; preds = %20981
  %20984 = load i32, ptr @test_count, align 4, !tbaa !5
  %20985 = add nsw i32 %20984, 1
  store i32 %20985, ptr @test_count, align 4, !tbaa !5
  %20986 = load ptr, ptr %509, align 8, !tbaa !9
  %20987 = icmp eq ptr %20986, null
  br i1 %20987, label %20988, label %21041

20988:                                            ; preds = %20983
  br label %20989

20989:                                            ; preds = %20988
  br label %20990

20990:                                            ; preds = %20989
  call void @llvm.lifetime.start.p0(i64 4, ptr %510) #11
  %20991 = call ptr @__errno_location() #12
  %20992 = load i32, ptr %20991, align 4, !tbaa !5
  store i32 %20992, ptr %510, align 4, !tbaa !5
  %20993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20994 = call i32 @s2n_print_stacktrace(ptr noundef %20993)
  %20995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20996 = trunc i8 %20995 to i1
  br i1 %20996, label %20997, label %21019

20997:                                            ; preds = %20990
  %20998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20999 = call i32 @fileno(ptr noundef %20998) #11
  %21000 = call i32 @isatty(i32 noundef %20999) #11
  %21001 = icmp ne i32 %21000, 0
  br i1 %21001, label %21002, label %21019

21002:                                            ; preds = %20997
  %21003 = load i32, ptr %510, align 4, !tbaa !5
  %21004 = call ptr @__errno_location() #12
  store i32 %21003, ptr %21004, align 4, !tbaa !5
  %21005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21006 = load i32, ptr @test_count, align 4, !tbaa !5
  %21007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21008 = load i32, ptr %21007, align 4, !tbaa !5
  %21009 = call ptr @s2n_strerror(i32 noundef %21008, ptr noundef @.str.25)
  %21010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21011 = load i32, ptr %21010, align 4, !tbaa !5
  %21012 = call ptr @s2n_strerror_debug(i32 noundef %21011, ptr noundef @.str.25)
  %21013 = call ptr @__errno_location() #12
  %21014 = load i32, ptr %21013, align 4, !tbaa !5
  %21015 = call ptr @strerror(i32 noundef %21014) #11
  %21016 = call ptr @__errno_location() #12
  %21017 = load i32, ptr %21016, align 4, !tbaa !5
  %21018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21005, ptr noundef @.str.23, i32 noundef %21006, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1037, ptr noundef %21009, ptr noundef %21012, ptr noundef %21015, i32 noundef %21017) #11
  br label %21036

21019:                                            ; preds = %20997, %20990
  %21020 = load i32, ptr %510, align 4, !tbaa !5
  %21021 = call ptr @__errno_location() #12
  store i32 %21020, ptr %21021, align 4, !tbaa !5
  %21022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21023 = load i32, ptr @test_count, align 4, !tbaa !5
  %21024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21025 = load i32, ptr %21024, align 4, !tbaa !5
  %21026 = call ptr @s2n_strerror(i32 noundef %21025, ptr noundef @.str.25)
  %21027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21028 = load i32, ptr %21027, align 4, !tbaa !5
  %21029 = call ptr @s2n_strerror_debug(i32 noundef %21028, ptr noundef @.str.25)
  %21030 = call ptr @__errno_location() #12
  %21031 = load i32, ptr %21030, align 4, !tbaa !5
  %21032 = call ptr @strerror(i32 noundef %21031) #11
  %21033 = call ptr @__errno_location() #12
  %21034 = load i32, ptr %21033, align 4, !tbaa !5
  %21035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21022, ptr noundef @.str.26, i32 noundef %21023, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1037, ptr noundef %21026, ptr noundef %21029, ptr noundef %21032, i32 noundef %21034) #11
  br label %21036

21036:                                            ; preds = %21019, %21002
  call void @llvm.lifetime.end.p0(i64 4, ptr %510) #11
  br label %21037

21037:                                            ; preds = %21036
  br label %21038

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

21039:                                            ; No predecessors!
  br label %21040

21040:                                            ; preds = %21039
  br label %21041

21041:                                            ; preds = %21040, %20983
  br label %21042

21042:                                            ; preds = %21041
  br label %21043

21043:                                            ; preds = %21042
  br label %21044

21044:                                            ; preds = %21043
  %21045 = load i32, ptr @test_count, align 4, !tbaa !5
  %21046 = add nsw i32 %21045, 1
  store i32 %21046, ptr @test_count, align 4, !tbaa !5
  %21047 = load ptr, ptr %509, align 8, !tbaa !9
  %21048 = load ptr, ptr %505, align 8, !tbaa !9
  %21049 = call i32 @s2n_connection_set_config(ptr noundef %21047, ptr noundef %21048)
  %21050 = icmp eq i32 %21049, -1
  br i1 %21050, label %21051, label %21104

21051:                                            ; preds = %21044
  br label %21052

21052:                                            ; preds = %21051
  br label %21053

21053:                                            ; preds = %21052
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #11
  %21054 = call ptr @__errno_location() #12
  %21055 = load i32, ptr %21054, align 4, !tbaa !5
  store i32 %21055, ptr %511, align 4, !tbaa !5
  %21056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21057 = call i32 @s2n_print_stacktrace(ptr noundef %21056)
  %21058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21059 = trunc i8 %21058 to i1
  br i1 %21059, label %21060, label %21082

21060:                                            ; preds = %21053
  %21061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21062 = call i32 @fileno(ptr noundef %21061) #11
  %21063 = call i32 @isatty(i32 noundef %21062) #11
  %21064 = icmp ne i32 %21063, 0
  br i1 %21064, label %21065, label %21082

21065:                                            ; preds = %21060
  %21066 = load i32, ptr %511, align 4, !tbaa !5
  %21067 = call ptr @__errno_location() #12
  store i32 %21066, ptr %21067, align 4, !tbaa !5
  %21068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21069 = load i32, ptr @test_count, align 4, !tbaa !5
  %21070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21071 = load i32, ptr %21070, align 4, !tbaa !5
  %21072 = call ptr @s2n_strerror(i32 noundef %21071, ptr noundef @.str.25)
  %21073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21074 = load i32, ptr %21073, align 4, !tbaa !5
  %21075 = call ptr @s2n_strerror_debug(i32 noundef %21074, ptr noundef @.str.25)
  %21076 = call ptr @__errno_location() #12
  %21077 = load i32, ptr %21076, align 4, !tbaa !5
  %21078 = call ptr @strerror(i32 noundef %21077) #11
  %21079 = call ptr @__errno_location() #12
  %21080 = load i32, ptr %21079, align 4, !tbaa !5
  %21081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21068, ptr noundef @.str.23, i32 noundef %21069, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1038, ptr noundef %21072, ptr noundef %21075, ptr noundef %21078, i32 noundef %21080) #11
  br label %21099

21082:                                            ; preds = %21060, %21053
  %21083 = load i32, ptr %511, align 4, !tbaa !5
  %21084 = call ptr @__errno_location() #12
  store i32 %21083, ptr %21084, align 4, !tbaa !5
  %21085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21086 = load i32, ptr @test_count, align 4, !tbaa !5
  %21087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21088 = load i32, ptr %21087, align 4, !tbaa !5
  %21089 = call ptr @s2n_strerror(i32 noundef %21088, ptr noundef @.str.25)
  %21090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21091 = load i32, ptr %21090, align 4, !tbaa !5
  %21092 = call ptr @s2n_strerror_debug(i32 noundef %21091, ptr noundef @.str.25)
  %21093 = call ptr @__errno_location() #12
  %21094 = load i32, ptr %21093, align 4, !tbaa !5
  %21095 = call ptr @strerror(i32 noundef %21094) #11
  %21096 = call ptr @__errno_location() #12
  %21097 = load i32, ptr %21096, align 4, !tbaa !5
  %21098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21085, ptr noundef @.str.26, i32 noundef %21086, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1038, ptr noundef %21089, ptr noundef %21092, ptr noundef %21095, i32 noundef %21097) #11
  br label %21099

21099:                                            ; preds = %21082, %21065
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #11
  br label %21100

21100:                                            ; preds = %21099
  br label %21101

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

21102:                                            ; No predecessors!
  br label %21103

21103:                                            ; preds = %21102
  br label %21104

21104:                                            ; preds = %21103, %21044
  br label %21105

21105:                                            ; preds = %21104
  br label %21106

21106:                                            ; preds = %21105
  %21107 = load ptr, ptr %509, align 8, !tbaa !9
  %21108 = getelementptr inbounds %struct.s2n_connection, ptr %21107, i32 0, i32 27
  %21109 = load ptr, ptr %21108, align 8, !tbaa !43
  %21110 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %21109, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %21110, align 8, !tbaa !44
  %21111 = load ptr, ptr %509, align 8, !tbaa !9
  %21112 = getelementptr inbounds %struct.s2n_connection, ptr %21111, i32 0, i32 87
  store i16 1, ptr %21112, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 40, ptr %512) #11
  call void @llvm.memset.p0.i64(ptr align 8 %512, i8 0, i64 40, i1 false)
  br label %21113

21113:                                            ; preds = %21106
  %21114 = load i32, ptr @test_count, align 4, !tbaa !5
  %21115 = add nsw i32 %21114, 1
  store i32 %21115, ptr @test_count, align 4, !tbaa !5
  %21116 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %512, i32 noundef 0)
  %21117 = icmp eq i32 %21116, -1
  br i1 %21117, label %21118, label %21171

21118:                                            ; preds = %21113
  br label %21119

21119:                                            ; preds = %21118
  br label %21120

21120:                                            ; preds = %21119
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #11
  %21121 = call ptr @__errno_location() #12
  %21122 = load i32, ptr %21121, align 4, !tbaa !5
  store i32 %21122, ptr %513, align 4, !tbaa !5
  %21123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21124 = call i32 @s2n_print_stacktrace(ptr noundef %21123)
  %21125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21126 = trunc i8 %21125 to i1
  br i1 %21126, label %21127, label %21149

21127:                                            ; preds = %21120
  %21128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21129 = call i32 @fileno(ptr noundef %21128) #11
  %21130 = call i32 @isatty(i32 noundef %21129) #11
  %21131 = icmp ne i32 %21130, 0
  br i1 %21131, label %21132, label %21149

21132:                                            ; preds = %21127
  %21133 = load i32, ptr %513, align 4, !tbaa !5
  %21134 = call ptr @__errno_location() #12
  store i32 %21133, ptr %21134, align 4, !tbaa !5
  %21135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21136 = load i32, ptr @test_count, align 4, !tbaa !5
  %21137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21138 = load i32, ptr %21137, align 4, !tbaa !5
  %21139 = call ptr @s2n_strerror(i32 noundef %21138, ptr noundef @.str.25)
  %21140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21141 = load i32, ptr %21140, align 4, !tbaa !5
  %21142 = call ptr @s2n_strerror_debug(i32 noundef %21141, ptr noundef @.str.25)
  %21143 = call ptr @__errno_location() #12
  %21144 = load i32, ptr %21143, align 4, !tbaa !5
  %21145 = call ptr @strerror(i32 noundef %21144) #11
  %21146 = call ptr @__errno_location() #12
  %21147 = load i32, ptr %21146, align 4, !tbaa !5
  %21148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21135, ptr noundef @.str.23, i32 noundef %21136, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1043, ptr noundef %21139, ptr noundef %21142, ptr noundef %21145, i32 noundef %21147) #11
  br label %21166

21149:                                            ; preds = %21127, %21120
  %21150 = load i32, ptr %513, align 4, !tbaa !5
  %21151 = call ptr @__errno_location() #12
  store i32 %21150, ptr %21151, align 4, !tbaa !5
  %21152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21153 = load i32, ptr @test_count, align 4, !tbaa !5
  %21154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21155 = load i32, ptr %21154, align 4, !tbaa !5
  %21156 = call ptr @s2n_strerror(i32 noundef %21155, ptr noundef @.str.25)
  %21157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21158 = load i32, ptr %21157, align 4, !tbaa !5
  %21159 = call ptr @s2n_strerror_debug(i32 noundef %21158, ptr noundef @.str.25)
  %21160 = call ptr @__errno_location() #12
  %21161 = load i32, ptr %21160, align 4, !tbaa !5
  %21162 = call ptr @strerror(i32 noundef %21161) #11
  %21163 = call ptr @__errno_location() #12
  %21164 = load i32, ptr %21163, align 4, !tbaa !5
  %21165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21152, ptr noundef @.str.26, i32 noundef %21153, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1043, ptr noundef %21156, ptr noundef %21159, ptr noundef %21162, i32 noundef %21164) #11
  br label %21166

21166:                                            ; preds = %21149, %21132
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #11
  br label %21167

21167:                                            ; preds = %21166
  br label %21168

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

21169:                                            ; No predecessors!
  br label %21170

21170:                                            ; preds = %21169
  br label %21171

21171:                                            ; preds = %21170, %21113
  br label %21172

21172:                                            ; preds = %21171
  br label %21173

21173:                                            ; preds = %21172
  br label %21174

21174:                                            ; preds = %21173
  %21175 = load i32, ptr @test_count, align 4, !tbaa !5
  %21176 = add nsw i32 %21175, 1
  store i32 %21176, ptr @test_count, align 4, !tbaa !5
  %21177 = load ptr, ptr %509, align 8, !tbaa !9
  %21178 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %512, ptr noundef %512, ptr noundef %21177)
  %21179 = icmp eq i32 %21178, -1
  br i1 %21179, label %21180, label %21233

21180:                                            ; preds = %21174
  br label %21181

21181:                                            ; preds = %21180
  br label %21182

21182:                                            ; preds = %21181
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #11
  %21183 = call ptr @__errno_location() #12
  %21184 = load i32, ptr %21183, align 4, !tbaa !5
  store i32 %21184, ptr %514, align 4, !tbaa !5
  %21185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21186 = call i32 @s2n_print_stacktrace(ptr noundef %21185)
  %21187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21188 = trunc i8 %21187 to i1
  br i1 %21188, label %21189, label %21211

21189:                                            ; preds = %21182
  %21190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21191 = call i32 @fileno(ptr noundef %21190) #11
  %21192 = call i32 @isatty(i32 noundef %21191) #11
  %21193 = icmp ne i32 %21192, 0
  br i1 %21193, label %21194, label %21211

21194:                                            ; preds = %21189
  %21195 = load i32, ptr %514, align 4, !tbaa !5
  %21196 = call ptr @__errno_location() #12
  store i32 %21195, ptr %21196, align 4, !tbaa !5
  %21197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21198 = load i32, ptr @test_count, align 4, !tbaa !5
  %21199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21200 = load i32, ptr %21199, align 4, !tbaa !5
  %21201 = call ptr @s2n_strerror(i32 noundef %21200, ptr noundef @.str.25)
  %21202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21203 = load i32, ptr %21202, align 4, !tbaa !5
  %21204 = call ptr @s2n_strerror_debug(i32 noundef %21203, ptr noundef @.str.25)
  %21205 = call ptr @__errno_location() #12
  %21206 = load i32, ptr %21205, align 4, !tbaa !5
  %21207 = call ptr @strerror(i32 noundef %21206) #11
  %21208 = call ptr @__errno_location() #12
  %21209 = load i32, ptr %21208, align 4, !tbaa !5
  %21210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21197, ptr noundef @.str.23, i32 noundef %21198, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1044, ptr noundef %21201, ptr noundef %21204, ptr noundef %21207, i32 noundef %21209) #11
  br label %21228

21211:                                            ; preds = %21189, %21182
  %21212 = load i32, ptr %514, align 4, !tbaa !5
  %21213 = call ptr @__errno_location() #12
  store i32 %21212, ptr %21213, align 4, !tbaa !5
  %21214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21215 = load i32, ptr @test_count, align 4, !tbaa !5
  %21216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21217 = load i32, ptr %21216, align 4, !tbaa !5
  %21218 = call ptr @s2n_strerror(i32 noundef %21217, ptr noundef @.str.25)
  %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_debug(i32 noundef %21220, ptr noundef @.str.25)
  %21222 = call ptr @__errno_location() #12
  %21223 = load i32, ptr %21222, align 4, !tbaa !5
  %21224 = call ptr @strerror(i32 noundef %21223) #11
  %21225 = call ptr @__errno_location() #12
  %21226 = load i32, ptr %21225, align 4, !tbaa !5
  %21227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21214, ptr noundef @.str.26, i32 noundef %21215, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1044, ptr noundef %21218, ptr noundef %21221, ptr noundef %21224, i32 noundef %21226) #11
  br label %21228

21228:                                            ; preds = %21211, %21194
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #11
  br label %21229

21229:                                            ; preds = %21228
  br label %21230

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

21231:                                            ; No predecessors!
  br label %21232

21232:                                            ; preds = %21231
  br label %21233

21233:                                            ; preds = %21232, %21174
  br label %21234

21234:                                            ; preds = %21233
  br label %21235

21235:                                            ; preds = %21234
  call void @llvm.lifetime.start.p0(i64 4, ptr %515) #11
  store i32 0, ptr %515, align 4, !tbaa !5
  %21236 = load ptr, ptr %509, align 8, !tbaa !9
  %21237 = getelementptr inbounds %struct.s2n_connection, ptr %21236, i32 0, i32 23
  store i8 33, ptr %21237, align 4, !tbaa !17
  br label %21238

21238:                                            ; preds = %21235
  br label %21239

21239:                                            ; preds = %21238
  %21240 = load i32, ptr @test_count, align 4, !tbaa !5
  %21241 = add nsw i32 %21240, 1
  store i32 %21241, ptr @test_count, align 4, !tbaa !5
  %21242 = load ptr, ptr %509, align 8, !tbaa !9
  %21243 = call i32 @s2n_tls13_server_nst_send(ptr noundef %21242, ptr noundef %515)
  %21244 = getelementptr inbounds %struct.s2n_result, ptr %516, i32 0, i32 0
  store i32 %21243, ptr %21244, align 4
  %21245 = getelementptr inbounds %struct.s2n_result, ptr %516, i32 0, i32 0
  %21246 = load i32, ptr %21245, align 4
  %21247 = call zeroext i1 @s2n_result_is_error(i32 %21246)
  br i1 %21247, label %21301, label %21248

21248:                                            ; preds = %21239
  br label %21249

21249:                                            ; preds = %21248
  br label %21250

21250:                                            ; preds = %21249
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #11
  %21251 = call ptr @__errno_location() #12
  %21252 = load i32, ptr %21251, align 4, !tbaa !5
  store i32 %21252, ptr %517, align 4, !tbaa !5
  %21253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21254 = call i32 @s2n_print_stacktrace(ptr noundef %21253)
  %21255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21256 = trunc i8 %21255 to i1
  br i1 %21256, label %21257, label %21279

21257:                                            ; preds = %21250
  %21258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21259 = call i32 @fileno(ptr noundef %21258) #11
  %21260 = call i32 @isatty(i32 noundef %21259) #11
  %21261 = icmp ne i32 %21260, 0
  br i1 %21261, label %21262, label %21279

21262:                                            ; preds = %21257
  %21263 = load i32, ptr %517, align 4, !tbaa !5
  %21264 = call ptr @__errno_location() #12
  store i32 %21263, ptr %21264, align 4, !tbaa !5
  %21265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21266 = load i32, ptr @test_count, align 4, !tbaa !5
  %21267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21268 = load i32, ptr %21267, align 4, !tbaa !5
  %21269 = call ptr @s2n_strerror(i32 noundef %21268, ptr noundef @.str.25)
  %21270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21271 = load i32, ptr %21270, align 4, !tbaa !5
  %21272 = call ptr @s2n_strerror_debug(i32 noundef %21271, ptr noundef @.str.25)
  %21273 = call ptr @__errno_location() #12
  %21274 = load i32, ptr %21273, align 4, !tbaa !5
  %21275 = call ptr @strerror(i32 noundef %21274) #11
  %21276 = call ptr @__errno_location() #12
  %21277 = load i32, ptr %21276, align 4, !tbaa !5
  %21278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21265, ptr noundef @.str.23, i32 noundef %21266, ptr noundef @.str.172, ptr noundef @.str.22, i32 noundef 1049, ptr noundef %21269, ptr noundef %21272, ptr noundef %21275, i32 noundef %21277) #11
  br label %21296

21279:                                            ; preds = %21257, %21250
  %21280 = load i32, ptr %517, align 4, !tbaa !5
  %21281 = call ptr @__errno_location() #12
  store i32 %21280, ptr %21281, align 4, !tbaa !5
  %21282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21283 = load i32, ptr @test_count, align 4, !tbaa !5
  %21284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21285 = load i32, ptr %21284, align 4, !tbaa !5
  %21286 = call ptr @s2n_strerror(i32 noundef %21285, ptr noundef @.str.25)
  %21287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21288 = load i32, ptr %21287, align 4, !tbaa !5
  %21289 = call ptr @s2n_strerror_debug(i32 noundef %21288, ptr noundef @.str.25)
  %21290 = call ptr @__errno_location() #12
  %21291 = load i32, ptr %21290, align 4, !tbaa !5
  %21292 = call ptr @strerror(i32 noundef %21291) #11
  %21293 = call ptr @__errno_location() #12
  %21294 = load i32, ptr %21293, align 4, !tbaa !5
  %21295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21282, ptr noundef @.str.26, i32 noundef %21283, ptr noundef @.str.172, ptr noundef @.str.22, i32 noundef 1049, ptr noundef %21286, ptr noundef %21289, ptr noundef %21292, i32 noundef %21294) #11
  br label %21296

21296:                                            ; preds = %21279, %21262
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #11
  br label %21297

21297:                                            ; preds = %21296
  br label %21298

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

21299:                                            ; No predecessors!
  br label %21300

21300:                                            ; preds = %21299
  br label %21301

21301:                                            ; preds = %21300, %21239
  br label %21302

21302:                                            ; preds = %21301
  br label %21303

21303:                                            ; preds = %21302
  br label %21304

21304:                                            ; preds = %21303
  %21305 = load i32, ptr @test_count, align 4, !tbaa !5
  %21306 = add nsw i32 %21305, 1
  store i32 %21306, ptr @test_count, align 4, !tbaa !5
  %21307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21308 = load i32, ptr %21307, align 4, !tbaa !5
  %21309 = icmp eq i32 %21308, 0
  br i1 %21309, label %21310, label %21363

21310:                                            ; preds = %21304
  br label %21311

21311:                                            ; preds = %21310
  br label %21312

21312:                                            ; preds = %21311
  call void @llvm.lifetime.start.p0(i64 4, ptr %518) #11
  %21313 = call ptr @__errno_location() #12
  %21314 = load i32, ptr %21313, align 4, !tbaa !5
  store i32 %21314, ptr %518, align 4, !tbaa !5
  %21315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21316 = call i32 @s2n_print_stacktrace(ptr noundef %21315)
  %21317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21318 = trunc i8 %21317 to i1
  br i1 %21318, label %21319, label %21341

21319:                                            ; preds = %21312
  %21320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21321 = call i32 @fileno(ptr noundef %21320) #11
  %21322 = call i32 @isatty(i32 noundef %21321) #11
  %21323 = icmp ne i32 %21322, 0
  br i1 %21323, label %21324, label %21341

21324:                                            ; preds = %21319
  %21325 = load i32, ptr %518, align 4, !tbaa !5
  %21326 = call ptr @__errno_location() #12
  store i32 %21325, ptr %21326, align 4, !tbaa !5
  %21327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21328 = load i32, ptr @test_count, align 4, !tbaa !5
  %21329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21330 = load i32, ptr %21329, align 4, !tbaa !5
  %21331 = call ptr @s2n_strerror(i32 noundef %21330, ptr noundef @.str.25)
  %21332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21333 = load i32, ptr %21332, align 4, !tbaa !5
  %21334 = call ptr @s2n_strerror_debug(i32 noundef %21333, ptr noundef @.str.25)
  %21335 = call ptr @__errno_location() #12
  %21336 = load i32, ptr %21335, align 4, !tbaa !5
  %21337 = call ptr @strerror(i32 noundef %21336) #11
  %21338 = call ptr @__errno_location() #12
  %21339 = load i32, ptr %21338, align 4, !tbaa !5
  %21340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21327, ptr noundef @.str.23, i32 noundef %21328, ptr noundef @.str.173, ptr noundef @.str.22, i32 noundef 1049, ptr noundef %21331, ptr noundef %21334, ptr noundef %21337, i32 noundef %21339) #11
  br label %21358

21341:                                            ; preds = %21319, %21312
  %21342 = load i32, ptr %518, align 4, !tbaa !5
  %21343 = call ptr @__errno_location() #12
  store i32 %21342, ptr %21343, align 4, !tbaa !5
  %21344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21345 = load i32, ptr @test_count, align 4, !tbaa !5
  %21346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21347 = load i32, ptr %21346, align 4, !tbaa !5
  %21348 = call ptr @s2n_strerror(i32 noundef %21347, ptr noundef @.str.25)
  %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_debug(i32 noundef %21350, ptr noundef @.str.25)
  %21352 = call ptr @__errno_location() #12
  %21353 = load i32, ptr %21352, align 4, !tbaa !5
  %21354 = call ptr @strerror(i32 noundef %21353) #11
  %21355 = call ptr @__errno_location() #12
  %21356 = load i32, ptr %21355, align 4, !tbaa !5
  %21357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21344, ptr noundef @.str.26, i32 noundef %21345, ptr noundef @.str.173, ptr noundef @.str.22, i32 noundef 1049, ptr noundef %21348, ptr noundef %21351, ptr noundef %21354, i32 noundef %21356) #11
  br label %21358

21358:                                            ; preds = %21341, %21324
  call void @llvm.lifetime.end.p0(i64 4, ptr %518) #11
  br label %21359

21359:                                            ; preds = %21358
  br label %21360

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

21361:                                            ; No predecessors!
  br label %21362

21362:                                            ; preds = %21361
  br label %21363

21363:                                            ; preds = %21362, %21304
  br label %21364

21364:                                            ; preds = %21363
  br label %21365

21365:                                            ; preds = %21364
  br label %21366

21366:                                            ; preds = %21365
  %21367 = load i32, ptr @test_count, align 4, !tbaa !5
  %21368 = add nsw i32 %21367, 1
  store i32 %21368, ptr @test_count, align 4, !tbaa !5
  %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.25)
  %21372 = icmp eq ptr %21371, null
  br i1 %21372, label %21373, label %21426

21373:                                            ; preds = %21366
  br label %21374

21374:                                            ; preds = %21373
  br label %21375

21375:                                            ; preds = %21374
  call void @llvm.lifetime.start.p0(i64 4, ptr %519) #11
  %21376 = call ptr @__errno_location() #12
  %21377 = load i32, ptr %21376, align 4, !tbaa !5
  store i32 %21377, ptr %519, align 4, !tbaa !5
  %21378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21379 = call i32 @s2n_print_stacktrace(ptr noundef %21378)
  %21380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21381 = trunc i8 %21380 to i1
  br i1 %21381, label %21382, label %21404

21382:                                            ; preds = %21375
  %21383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21384 = call i32 @fileno(ptr noundef %21383) #11
  %21385 = call i32 @isatty(i32 noundef %21384) #11
  %21386 = icmp ne i32 %21385, 0
  br i1 %21386, label %21387, label %21404

21387:                                            ; preds = %21382
  %21388 = load i32, ptr %519, align 4, !tbaa !5
  %21389 = call ptr @__errno_location() #12
  store i32 %21388, ptr %21389, align 4, !tbaa !5
  %21390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21391 = load i32, ptr @test_count, align 4, !tbaa !5
  %21392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21393 = load i32, ptr %21392, align 4, !tbaa !5
  %21394 = call ptr @s2n_strerror(i32 noundef %21393, ptr noundef @.str.25)
  %21395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21396 = load i32, ptr %21395, align 4, !tbaa !5
  %21397 = call ptr @s2n_strerror_debug(i32 noundef %21396, ptr noundef @.str.25)
  %21398 = call ptr @__errno_location() #12
  %21399 = load i32, ptr %21398, align 4, !tbaa !5
  %21400 = call ptr @strerror(i32 noundef %21399) #11
  %21401 = call ptr @__errno_location() #12
  %21402 = load i32, ptr %21401, align 4, !tbaa !5
  %21403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21390, ptr noundef @.str.23, i32 noundef %21391, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 1049, ptr noundef %21394, ptr noundef %21397, ptr noundef %21400, i32 noundef %21402) #11
  br label %21421

21404:                                            ; preds = %21382, %21375
  %21405 = load i32, ptr %519, align 4, !tbaa !5
  %21406 = call ptr @__errno_location() #12
  store i32 %21405, ptr %21406, align 4, !tbaa !5
  %21407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21408 = load i32, ptr @test_count, align 4, !tbaa !5
  %21409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21410 = load i32, ptr %21409, align 4, !tbaa !5
  %21411 = call ptr @s2n_strerror(i32 noundef %21410, ptr noundef @.str.25)
  %21412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21413 = load i32, ptr %21412, align 4, !tbaa !5
  %21414 = call ptr @s2n_strerror_debug(i32 noundef %21413, ptr noundef @.str.25)
  %21415 = call ptr @__errno_location() #12
  %21416 = load i32, ptr %21415, align 4, !tbaa !5
  %21417 = call ptr @strerror(i32 noundef %21416) #11
  %21418 = call ptr @__errno_location() #12
  %21419 = load i32, ptr %21418, align 4, !tbaa !5
  %21420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21407, ptr noundef @.str.26, i32 noundef %21408, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 1049, ptr noundef %21411, ptr noundef %21414, ptr noundef %21417, i32 noundef %21419) #11
  br label %21421

21421:                                            ; preds = %21404, %21387
  call void @llvm.lifetime.end.p0(i64 4, ptr %519) #11
  br label %21422

21422:                                            ; preds = %21421
  br label %21423

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

21424:                                            ; No predecessors!
  br label %21425

21425:                                            ; preds = %21424
  br label %21426

21426:                                            ; preds = %21425, %21366
  br label %21427

21427:                                            ; preds = %21426
  br label %21428

21428:                                            ; preds = %21427
  br label %21429

21429:                                            ; preds = %21428
  %21430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21430, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21431 = call ptr @__errno_location() #12
  store i32 0, ptr %21431, align 4, !tbaa !5
  br label %21432

21432:                                            ; preds = %21429
  br label %21433

21433:                                            ; preds = %21432
  br label %21434

21434:                                            ; preds = %21433
  br label %21435

21435:                                            ; preds = %21434
  br label %21436

21436:                                            ; preds = %21435
  %21437 = load i32, ptr @test_count, align 4, !tbaa !5
  %21438 = add nsw i32 %21437, 1
  store i32 %21438, ptr @test_count, align 4, !tbaa !5
  %21439 = load ptr, ptr %509, align 8, !tbaa !9
  %21440 = call i32 @s2n_assert_tickets_sent(ptr noundef %21439, i16 noundef zeroext 0)
  %21441 = getelementptr inbounds %struct.s2n_result, ptr %520, i32 0, i32 0
  store i32 %21440, ptr %21441, align 4
  %21442 = getelementptr inbounds %struct.s2n_result, ptr %520, i32 0, i32 0
  %21443 = load i32, ptr %21442, align 4
  %21444 = call zeroext i1 @s2n_result_is_ok(i32 %21443)
  br i1 %21444, label %21498, label %21445

21445:                                            ; preds = %21436
  br label %21446

21446:                                            ; preds = %21445
  br label %21447

21447:                                            ; preds = %21446
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #11
  %21448 = call ptr @__errno_location() #12
  %21449 = load i32, ptr %21448, align 4, !tbaa !5
  store i32 %21449, ptr %521, align 4, !tbaa !5
  %21450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21451 = call i32 @s2n_print_stacktrace(ptr noundef %21450)
  %21452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21453 = trunc i8 %21452 to i1
  br i1 %21453, label %21454, label %21476

21454:                                            ; preds = %21447
  %21455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21456 = call i32 @fileno(ptr noundef %21455) #11
  %21457 = call i32 @isatty(i32 noundef %21456) #11
  %21458 = icmp ne i32 %21457, 0
  br i1 %21458, label %21459, label %21476

21459:                                            ; preds = %21454
  %21460 = load i32, ptr %521, align 4, !tbaa !5
  %21461 = call ptr @__errno_location() #12
  store i32 %21460, ptr %21461, align 4, !tbaa !5
  %21462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21463 = load i32, ptr @test_count, align 4, !tbaa !5
  %21464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21465 = load i32, ptr %21464, align 4, !tbaa !5
  %21466 = call ptr @s2n_strerror(i32 noundef %21465, ptr noundef @.str.25)
  %21467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21468 = load i32, ptr %21467, align 4, !tbaa !5
  %21469 = call ptr @s2n_strerror_debug(i32 noundef %21468, ptr noundef @.str.25)
  %21470 = call ptr @__errno_location() #12
  %21471 = load i32, ptr %21470, align 4, !tbaa !5
  %21472 = call ptr @strerror(i32 noundef %21471) #11
  %21473 = call ptr @__errno_location() #12
  %21474 = load i32, ptr %21473, align 4, !tbaa !5
  %21475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21462, ptr noundef @.str.23, i32 noundef %21463, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 1050, ptr noundef %21466, ptr noundef %21469, ptr noundef %21472, i32 noundef %21474) #11
  br label %21493

21476:                                            ; preds = %21454, %21447
  %21477 = load i32, ptr %521, align 4, !tbaa !5
  %21478 = call ptr @__errno_location() #12
  store i32 %21477, ptr %21478, align 4, !tbaa !5
  %21479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21480 = load i32, ptr @test_count, align 4, !tbaa !5
  %21481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21482 = load i32, ptr %21481, align 4, !tbaa !5
  %21483 = call ptr @s2n_strerror(i32 noundef %21482, ptr noundef @.str.25)
  %21484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21485 = load i32, ptr %21484, align 4, !tbaa !5
  %21486 = call ptr @s2n_strerror_debug(i32 noundef %21485, ptr noundef @.str.25)
  %21487 = call ptr @__errno_location() #12
  %21488 = load i32, ptr %21487, align 4, !tbaa !5
  %21489 = call ptr @strerror(i32 noundef %21488) #11
  %21490 = call ptr @__errno_location() #12
  %21491 = load i32, ptr %21490, align 4, !tbaa !5
  %21492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21479, ptr noundef @.str.26, i32 noundef %21480, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 1050, ptr noundef %21483, ptr noundef %21486, ptr noundef %21489, i32 noundef %21491) #11
  br label %21493

21493:                                            ; preds = %21476, %21459
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #11
  br label %21494

21494:                                            ; preds = %21493
  br label %21495

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

21496:                                            ; No predecessors!
  br label %21497

21497:                                            ; preds = %21496
  br label %21498

21498:                                            ; preds = %21497, %21436
  br label %21499

21499:                                            ; preds = %21498
  br label %21500

21500:                                            ; preds = %21499
  %21501 = load ptr, ptr %509, align 8, !tbaa !9
  %21502 = getelementptr inbounds %struct.s2n_connection, ptr %21501, i32 0, i32 23
  store i8 34, ptr %21502, align 4, !tbaa !17
  br label %21503

21503:                                            ; preds = %21500
  %21504 = load i32, ptr @test_count, align 4, !tbaa !5
  %21505 = add nsw i32 %21504, 1
  store i32 %21505, ptr @test_count, align 4, !tbaa !5
  %21506 = load ptr, ptr %509, align 8, !tbaa !9
  %21507 = call i32 @s2n_tls13_server_nst_send(ptr noundef %21506, ptr noundef %515)
  %21508 = getelementptr inbounds %struct.s2n_result, ptr %522, i32 0, i32 0
  store i32 %21507, ptr %21508, align 4
  %21509 = getelementptr inbounds %struct.s2n_result, ptr %522, i32 0, i32 0
  %21510 = load i32, ptr %21509, align 4
  %21511 = call zeroext i1 @s2n_result_is_ok(i32 %21510)
  br i1 %21511, label %21565, label %21512

21512:                                            ; preds = %21503
  br label %21513

21513:                                            ; preds = %21512
  br label %21514

21514:                                            ; preds = %21513
  call void @llvm.lifetime.start.p0(i64 4, ptr %523) #11
  %21515 = call ptr @__errno_location() #12
  %21516 = load i32, ptr %21515, align 4, !tbaa !5
  store i32 %21516, ptr %523, align 4, !tbaa !5
  %21517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21518 = call i32 @s2n_print_stacktrace(ptr noundef %21517)
  %21519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21520 = trunc i8 %21519 to i1
  br i1 %21520, label %21521, label %21543

21521:                                            ; preds = %21514
  %21522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21523 = call i32 @fileno(ptr noundef %21522) #11
  %21524 = call i32 @isatty(i32 noundef %21523) #11
  %21525 = icmp ne i32 %21524, 0
  br i1 %21525, label %21526, label %21543

21526:                                            ; preds = %21521
  %21527 = load i32, ptr %523, align 4, !tbaa !5
  %21528 = call ptr @__errno_location() #12
  store i32 %21527, ptr %21528, align 4, !tbaa !5
  %21529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21530 = load i32, ptr @test_count, align 4, !tbaa !5
  %21531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21532 = load i32, ptr %21531, align 4, !tbaa !5
  %21533 = call ptr @s2n_strerror(i32 noundef %21532, ptr noundef @.str.25)
  %21534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21535 = load i32, ptr %21534, align 4, !tbaa !5
  %21536 = call ptr @s2n_strerror_debug(i32 noundef %21535, ptr noundef @.str.25)
  %21537 = call ptr @__errno_location() #12
  %21538 = load i32, ptr %21537, align 4, !tbaa !5
  %21539 = call ptr @strerror(i32 noundef %21538) #11
  %21540 = call ptr @__errno_location() #12
  %21541 = load i32, ptr %21540, align 4, !tbaa !5
  %21542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21529, ptr noundef @.str.23, i32 noundef %21530, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1053, ptr noundef %21533, ptr noundef %21536, ptr noundef %21539, i32 noundef %21541) #11
  br label %21560

21543:                                            ; preds = %21521, %21514
  %21544 = load i32, ptr %523, align 4, !tbaa !5
  %21545 = call ptr @__errno_location() #12
  store i32 %21544, ptr %21545, align 4, !tbaa !5
  %21546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21547 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %21549, ptr noundef @.str.25)
  %21551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21552 = load i32, ptr %21551, align 4, !tbaa !5
  %21553 = call ptr @s2n_strerror_debug(i32 noundef %21552, ptr noundef @.str.25)
  %21554 = call ptr @__errno_location() #12
  %21555 = load i32, ptr %21554, align 4, !tbaa !5
  %21556 = call ptr @strerror(i32 noundef %21555) #11
  %21557 = call ptr @__errno_location() #12
  %21558 = load i32, ptr %21557, align 4, !tbaa !5
  %21559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21546, ptr noundef @.str.26, i32 noundef %21547, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1053, ptr noundef %21550, ptr noundef %21553, ptr noundef %21556, i32 noundef %21558) #11
  br label %21560

21560:                                            ; preds = %21543, %21526
  call void @llvm.lifetime.end.p0(i64 4, ptr %523) #11
  br label %21561

21561:                                            ; preds = %21560
  br label %21562

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

21563:                                            ; No predecessors!
  br label %21564

21564:                                            ; preds = %21563
  br label %21565

21565:                                            ; preds = %21564, %21503
  br label %21566

21566:                                            ; preds = %21565
  br label %21567

21567:                                            ; preds = %21566
  br label %21568

21568:                                            ; preds = %21567
  %21569 = load i32, ptr @test_count, align 4, !tbaa !5
  %21570 = add nsw i32 %21569, 1
  store i32 %21570, ptr @test_count, align 4, !tbaa !5
  %21571 = load ptr, ptr %509, align 8, !tbaa !9
  %21572 = call i32 @s2n_assert_tickets_sent(ptr noundef %21571, i16 noundef zeroext 1)
  %21573 = getelementptr inbounds %struct.s2n_result, ptr %524, i32 0, i32 0
  store i32 %21572, ptr %21573, align 4
  %21574 = getelementptr inbounds %struct.s2n_result, ptr %524, i32 0, i32 0
  %21575 = load i32, ptr %21574, align 4
  %21576 = call zeroext i1 @s2n_result_is_ok(i32 %21575)
  br i1 %21576, label %21630, label %21577

21577:                                            ; preds = %21568
  br label %21578

21578:                                            ; preds = %21577
  br label %21579

21579:                                            ; preds = %21578
  call void @llvm.lifetime.start.p0(i64 4, ptr %525) #11
  %21580 = call ptr @__errno_location() #12
  %21581 = load i32, ptr %21580, align 4, !tbaa !5
  store i32 %21581, ptr %525, align 4, !tbaa !5
  %21582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21583 = call i32 @s2n_print_stacktrace(ptr noundef %21582)
  %21584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21585 = trunc i8 %21584 to i1
  br i1 %21585, label %21586, label %21608

21586:                                            ; preds = %21579
  %21587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21588 = call i32 @fileno(ptr noundef %21587) #11
  %21589 = call i32 @isatty(i32 noundef %21588) #11
  %21590 = icmp ne i32 %21589, 0
  br i1 %21590, label %21591, label %21608

21591:                                            ; preds = %21586
  %21592 = load i32, ptr %525, align 4, !tbaa !5
  %21593 = call ptr @__errno_location() #12
  store i32 %21592, ptr %21593, align 4, !tbaa !5
  %21594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21595 = load i32, ptr @test_count, align 4, !tbaa !5
  %21596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21597 = load i32, ptr %21596, align 4, !tbaa !5
  %21598 = call ptr @s2n_strerror(i32 noundef %21597, ptr noundef @.str.25)
  %21599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21600 = load i32, ptr %21599, align 4, !tbaa !5
  %21601 = call ptr @s2n_strerror_debug(i32 noundef %21600, ptr noundef @.str.25)
  %21602 = call ptr @__errno_location() #12
  %21603 = load i32, ptr %21602, align 4, !tbaa !5
  %21604 = call ptr @strerror(i32 noundef %21603) #11
  %21605 = call ptr @__errno_location() #12
  %21606 = load i32, ptr %21605, align 4, !tbaa !5
  %21607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21594, ptr noundef @.str.23, i32 noundef %21595, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 1054, ptr noundef %21598, ptr noundef %21601, ptr noundef %21604, i32 noundef %21606) #11
  br label %21625

21608:                                            ; preds = %21586, %21579
  %21609 = load i32, ptr %525, align 4, !tbaa !5
  %21610 = call ptr @__errno_location() #12
  store i32 %21609, ptr %21610, align 4, !tbaa !5
  %21611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21612 = load i32, ptr @test_count, align 4, !tbaa !5
  %21613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21614 = load i32, ptr %21613, align 4, !tbaa !5
  %21615 = call ptr @s2n_strerror(i32 noundef %21614, ptr noundef @.str.25)
  %21616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21617 = load i32, ptr %21616, align 4, !tbaa !5
  %21618 = call ptr @s2n_strerror_debug(i32 noundef %21617, ptr noundef @.str.25)
  %21619 = call ptr @__errno_location() #12
  %21620 = load i32, ptr %21619, align 4, !tbaa !5
  %21621 = call ptr @strerror(i32 noundef %21620) #11
  %21622 = call ptr @__errno_location() #12
  %21623 = load i32, ptr %21622, align 4, !tbaa !5
  %21624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21611, ptr noundef @.str.26, i32 noundef %21612, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 1054, ptr noundef %21615, ptr noundef %21618, ptr noundef %21621, i32 noundef %21623) #11
  br label %21625

21625:                                            ; preds = %21608, %21591
  call void @llvm.lifetime.end.p0(i64 4, ptr %525) #11
  br label %21626

21626:                                            ; preds = %21625
  br label %21627

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

21628:                                            ; No predecessors!
  br label %21629

21629:                                            ; preds = %21628
  br label %21630

21630:                                            ; preds = %21629, %21568
  br label %21631

21631:                                            ; preds = %21630
  br label %21632

21632:                                            ; preds = %21631
  call void @llvm.lifetime.end.p0(i64 4, ptr %515) #11
  %21633 = call i32 @s2n_stuffer_free(ptr noundef %512)
  call void @llvm.lifetime.end.p0(i64 40, ptr %512) #11
  %21634 = call i32 @s2n_connection_ptr_free(ptr noundef %509)
  %21635 = getelementptr inbounds %struct.s2n_result, ptr %526, i32 0, i32 0
  store i32 %21634, ptr %21635, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %509) #11
  %21636 = call i32 @s2n_config_ptr_free(ptr noundef %505)
  %21637 = getelementptr inbounds %struct.s2n_result, ptr %527, i32 0, i32 0
  store i32 %21636, ptr %21637, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %505) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %528) #11
  %21638 = call ptr @s2n_config_new()
  store ptr %21638, ptr %528, align 8, !tbaa !9
  br label %21639

21639:                                            ; preds = %21632
  %21640 = load i32, ptr @test_count, align 4, !tbaa !5
  %21641 = add nsw i32 %21640, 1
  store i32 %21641, ptr @test_count, align 4, !tbaa !5
  %21642 = load ptr, ptr %528, align 8, !tbaa !9
  %21643 = icmp eq ptr %21642, null
  br i1 %21643, label %21644, label %21697

21644:                                            ; preds = %21639
  br label %21645

21645:                                            ; preds = %21644
  br label %21646

21646:                                            ; preds = %21645
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #11
  %21647 = call ptr @__errno_location() #12
  %21648 = load i32, ptr %21647, align 4, !tbaa !5
  store i32 %21648, ptr %529, align 4, !tbaa !5
  %21649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21650 = call i32 @s2n_print_stacktrace(ptr noundef %21649)
  %21651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21652 = trunc i8 %21651 to i1
  br i1 %21652, label %21653, label %21675

21653:                                            ; preds = %21646
  %21654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21655 = call i32 @fileno(ptr noundef %21654) #11
  %21656 = call i32 @isatty(i32 noundef %21655) #11
  %21657 = icmp ne i32 %21656, 0
  br i1 %21657, label %21658, label %21675

21658:                                            ; preds = %21653
  %21659 = load i32, ptr %529, align 4, !tbaa !5
  %21660 = call ptr @__errno_location() #12
  store i32 %21659, ptr %21660, align 4, !tbaa !5
  %21661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21662 = load i32, ptr @test_count, align 4, !tbaa !5
  %21663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21664 = load i32, ptr %21663, align 4, !tbaa !5
  %21665 = call ptr @s2n_strerror(i32 noundef %21664, ptr noundef @.str.25)
  %21666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21667 = load i32, ptr %21666, align 4, !tbaa !5
  %21668 = call ptr @s2n_strerror_debug(i32 noundef %21667, ptr noundef @.str.25)
  %21669 = call ptr @__errno_location() #12
  %21670 = load i32, ptr %21669, align 4, !tbaa !5
  %21671 = call ptr @strerror(i32 noundef %21670) #11
  %21672 = call ptr @__errno_location() #12
  %21673 = load i32, ptr %21672, align 4, !tbaa !5
  %21674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21661, ptr noundef @.str.23, i32 noundef %21662, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1060, ptr noundef %21665, ptr noundef %21668, ptr noundef %21671, i32 noundef %21673) #11
  br label %21692

21675:                                            ; preds = %21653, %21646
  %21676 = load i32, ptr %529, align 4, !tbaa !5
  %21677 = call ptr @__errno_location() #12
  store i32 %21676, ptr %21677, align 4, !tbaa !5
  %21678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21679 = load i32, ptr @test_count, align 4, !tbaa !5
  %21680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21681 = load i32, ptr %21680, align 4, !tbaa !5
  %21682 = call ptr @s2n_strerror(i32 noundef %21681, ptr noundef @.str.25)
  %21683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21684 = load i32, ptr %21683, align 4, !tbaa !5
  %21685 = call ptr @s2n_strerror_debug(i32 noundef %21684, ptr noundef @.str.25)
  %21686 = call ptr @__errno_location() #12
  %21687 = load i32, ptr %21686, align 4, !tbaa !5
  %21688 = call ptr @strerror(i32 noundef %21687) #11
  %21689 = call ptr @__errno_location() #12
  %21690 = load i32, ptr %21689, align 4, !tbaa !5
  %21691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21678, ptr noundef @.str.26, i32 noundef %21679, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1060, ptr noundef %21682, ptr noundef %21685, ptr noundef %21688, i32 noundef %21690) #11
  br label %21692

21692:                                            ; preds = %21675, %21658
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #11
  br label %21693

21693:                                            ; preds = %21692
  br label %21694

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

21695:                                            ; No predecessors!
  br label %21696

21696:                                            ; preds = %21695
  br label %21697

21697:                                            ; preds = %21696, %21639
  br label %21698

21698:                                            ; preds = %21697
  br label %21699

21699:                                            ; preds = %21698
  br label %21700

21700:                                            ; preds = %21699
  %21701 = load i32, ptr @test_count, align 4, !tbaa !5
  %21702 = add nsw i32 %21701, 1
  store i32 %21702, ptr @test_count, align 4, !tbaa !5
  %21703 = load ptr, ptr %528, align 8, !tbaa !9
  %21704 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %21703)
  %21705 = getelementptr inbounds %struct.s2n_result, ptr %530, i32 0, i32 0
  store i32 %21704, ptr %21705, align 4
  %21706 = getelementptr inbounds %struct.s2n_result, ptr %530, i32 0, i32 0
  %21707 = load i32, ptr %21706, align 4
  %21708 = call zeroext i1 @s2n_result_is_ok(i32 %21707)
  br i1 %21708, label %21762, label %21709

21709:                                            ; preds = %21700
  br label %21710

21710:                                            ; preds = %21709
  br label %21711

21711:                                            ; preds = %21710
  call void @llvm.lifetime.start.p0(i64 4, ptr %531) #11
  %21712 = call ptr @__errno_location() #12
  %21713 = load i32, ptr %21712, align 4, !tbaa !5
  store i32 %21713, ptr %531, align 4, !tbaa !5
  %21714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21715 = call i32 @s2n_print_stacktrace(ptr noundef %21714)
  %21716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21717 = trunc i8 %21716 to i1
  br i1 %21717, label %21718, label %21740

21718:                                            ; preds = %21711
  %21719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21720 = call i32 @fileno(ptr noundef %21719) #11
  %21721 = call i32 @isatty(i32 noundef %21720) #11
  %21722 = icmp ne i32 %21721, 0
  br i1 %21722, label %21723, label %21740

21723:                                            ; preds = %21718
  %21724 = load i32, ptr %531, align 4, !tbaa !5
  %21725 = call ptr @__errno_location() #12
  store i32 %21724, ptr %21725, align 4, !tbaa !5
  %21726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21727 = load i32, ptr @test_count, align 4, !tbaa !5
  %21728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21729 = load i32, ptr %21728, align 4, !tbaa !5
  %21730 = call ptr @s2n_strerror(i32 noundef %21729, ptr noundef @.str.25)
  %21731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21732 = load i32, ptr %21731, align 4, !tbaa !5
  %21733 = call ptr @s2n_strerror_debug(i32 noundef %21732, ptr noundef @.str.25)
  %21734 = call ptr @__errno_location() #12
  %21735 = load i32, ptr %21734, align 4, !tbaa !5
  %21736 = call ptr @strerror(i32 noundef %21735) #11
  %21737 = call ptr @__errno_location() #12
  %21738 = load i32, ptr %21737, align 4, !tbaa !5
  %21739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21726, ptr noundef @.str.23, i32 noundef %21727, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1061, ptr noundef %21730, ptr noundef %21733, ptr noundef %21736, i32 noundef %21738) #11
  br label %21757

21740:                                            ; preds = %21718, %21711
  %21741 = load i32, ptr %531, align 4, !tbaa !5
  %21742 = call ptr @__errno_location() #12
  store i32 %21741, ptr %21742, align 4, !tbaa !5
  %21743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21744 = load i32, ptr @test_count, align 4, !tbaa !5
  %21745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21746 = load i32, ptr %21745, align 4, !tbaa !5
  %21747 = call ptr @s2n_strerror(i32 noundef %21746, ptr noundef @.str.25)
  %21748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21749 = load i32, ptr %21748, align 4, !tbaa !5
  %21750 = call ptr @s2n_strerror_debug(i32 noundef %21749, ptr noundef @.str.25)
  %21751 = call ptr @__errno_location() #12
  %21752 = load i32, ptr %21751, align 4, !tbaa !5
  %21753 = call ptr @strerror(i32 noundef %21752) #11
  %21754 = call ptr @__errno_location() #12
  %21755 = load i32, ptr %21754, align 4, !tbaa !5
  %21756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21743, ptr noundef @.str.26, i32 noundef %21744, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1061, ptr noundef %21747, ptr noundef %21750, ptr noundef %21753, i32 noundef %21755) #11
  br label %21757

21757:                                            ; preds = %21740, %21723
  call void @llvm.lifetime.end.p0(i64 4, ptr %531) #11
  br label %21758

21758:                                            ; preds = %21757
  br label %21759

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

21760:                                            ; No predecessors!
  br label %21761

21761:                                            ; preds = %21760
  br label %21762

21762:                                            ; preds = %21761, %21700
  br label %21763

21763:                                            ; preds = %21762
  br label %21764

21764:                                            ; preds = %21763
  call void @llvm.lifetime.start.p0(i64 8, ptr %532) #11
  %21765 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %21765, ptr %532, align 8, !tbaa !9
  br label %21766

21766:                                            ; preds = %21764
  %21767 = load i32, ptr @test_count, align 4, !tbaa !5
  %21768 = add nsw i32 %21767, 1
  store i32 %21768, ptr @test_count, align 4, !tbaa !5
  %21769 = load ptr, ptr %532, align 8, !tbaa !9
  %21770 = icmp eq ptr %21769, null
  br i1 %21770, label %21771, label %21824

21771:                                            ; preds = %21766
  br label %21772

21772:                                            ; preds = %21771
  br label %21773

21773:                                            ; preds = %21772
  call void @llvm.lifetime.start.p0(i64 4, ptr %533) #11
  %21774 = call ptr @__errno_location() #12
  %21775 = load i32, ptr %21774, align 4, !tbaa !5
  store i32 %21775, ptr %533, align 4, !tbaa !5
  %21776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21777 = call i32 @s2n_print_stacktrace(ptr noundef %21776)
  %21778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21779 = trunc i8 %21778 to i1
  br i1 %21779, label %21780, label %21802

21780:                                            ; preds = %21773
  %21781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21782 = call i32 @fileno(ptr noundef %21781) #11
  %21783 = call i32 @isatty(i32 noundef %21782) #11
  %21784 = icmp ne i32 %21783, 0
  br i1 %21784, label %21785, label %21802

21785:                                            ; preds = %21780
  %21786 = load i32, ptr %533, align 4, !tbaa !5
  %21787 = call ptr @__errno_location() #12
  store i32 %21786, ptr %21787, align 4, !tbaa !5
  %21788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21789 = load i32, ptr @test_count, align 4, !tbaa !5
  %21790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21791 = load i32, ptr %21790, align 4, !tbaa !5
  %21792 = call ptr @s2n_strerror(i32 noundef %21791, ptr noundef @.str.25)
  %21793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21794 = load i32, ptr %21793, align 4, !tbaa !5
  %21795 = call ptr @s2n_strerror_debug(i32 noundef %21794, ptr noundef @.str.25)
  %21796 = call ptr @__errno_location() #12
  %21797 = load i32, ptr %21796, align 4, !tbaa !5
  %21798 = call ptr @strerror(i32 noundef %21797) #11
  %21799 = call ptr @__errno_location() #12
  %21800 = load i32, ptr %21799, align 4, !tbaa !5
  %21801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21788, ptr noundef @.str.23, i32 noundef %21789, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1064, ptr noundef %21792, ptr noundef %21795, ptr noundef %21798, i32 noundef %21800) #11
  br label %21819

21802:                                            ; preds = %21780, %21773
  %21803 = load i32, ptr %533, align 4, !tbaa !5
  %21804 = call ptr @__errno_location() #12
  store i32 %21803, ptr %21804, align 4, !tbaa !5
  %21805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21806 = load i32, ptr @test_count, align 4, !tbaa !5
  %21807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21808 = load i32, ptr %21807, align 4, !tbaa !5
  %21809 = call ptr @s2n_strerror(i32 noundef %21808, ptr noundef @.str.25)
  %21810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21811 = load i32, ptr %21810, align 4, !tbaa !5
  %21812 = call ptr @s2n_strerror_debug(i32 noundef %21811, ptr noundef @.str.25)
  %21813 = call ptr @__errno_location() #12
  %21814 = load i32, ptr %21813, align 4, !tbaa !5
  %21815 = call ptr @strerror(i32 noundef %21814) #11
  %21816 = call ptr @__errno_location() #12
  %21817 = load i32, ptr %21816, align 4, !tbaa !5
  %21818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21805, ptr noundef @.str.26, i32 noundef %21806, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1064, ptr noundef %21809, ptr noundef %21812, ptr noundef %21815, i32 noundef %21817) #11
  br label %21819

21819:                                            ; preds = %21802, %21785
  call void @llvm.lifetime.end.p0(i64 4, ptr %533) #11
  br label %21820

21820:                                            ; preds = %21819
  br label %21821

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

21822:                                            ; No predecessors!
  br label %21823

21823:                                            ; preds = %21822
  br label %21824

21824:                                            ; preds = %21823, %21766
  br label %21825

21825:                                            ; preds = %21824
  br label %21826

21826:                                            ; preds = %21825
  br label %21827

21827:                                            ; preds = %21826
  %21828 = load i32, ptr @test_count, align 4, !tbaa !5
  %21829 = add nsw i32 %21828, 1
  store i32 %21829, ptr @test_count, align 4, !tbaa !5
  %21830 = load ptr, ptr %532, align 8, !tbaa !9
  %21831 = load ptr, ptr %528, align 8, !tbaa !9
  %21832 = call i32 @s2n_connection_set_config(ptr noundef %21830, ptr noundef %21831)
  %21833 = icmp eq i32 %21832, -1
  br i1 %21833, label %21834, label %21887

21834:                                            ; preds = %21827
  br label %21835

21835:                                            ; preds = %21834
  br label %21836

21836:                                            ; preds = %21835
  call void @llvm.lifetime.start.p0(i64 4, ptr %534) #11
  %21837 = call ptr @__errno_location() #12
  %21838 = load i32, ptr %21837, align 4, !tbaa !5
  store i32 %21838, ptr %534, 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 %534, 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.25)
  %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.25)
  %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.23, i32 noundef %21852, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1065, ptr noundef %21855, ptr noundef %21858, ptr noundef %21861, i32 noundef %21863) #11
  br label %21882

21865:                                            ; preds = %21843, %21836
  %21866 = load i32, ptr %534, 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.25)
  %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.25)
  %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.26, i32 noundef %21869, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1065, 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 %534) #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, %21827
  br label %21888

21888:                                            ; preds = %21887
  br label %21889

21889:                                            ; preds = %21888
  %21890 = load ptr, ptr %532, align 8, !tbaa !9
  %21891 = getelementptr inbounds %struct.s2n_connection, ptr %21890, i32 0, i32 23
  store i8 34, ptr %21891, align 4, !tbaa !17
  %21892 = load ptr, ptr %532, align 8, !tbaa !9
  %21893 = getelementptr inbounds %struct.s2n_connection, ptr %21892, i32 0, i32 87
  store i16 0, ptr %21893, align 4, !tbaa !81
  br label %21894

21894:                                            ; preds = %21889
  %21895 = load i32, ptr @test_count, align 4, !tbaa !5
  %21896 = add nsw i32 %21895, 1
  store i32 %21896, ptr @test_count, align 4, !tbaa !5
  %21897 = load ptr, ptr %532, align 8, !tbaa !9
  %21898 = getelementptr inbounds %struct.s2n_connection, ptr %21897, i32 0, i32 52
  %21899 = getelementptr inbounds %struct.s2n_handshake, ptr %21898, i32 0, i32 0
  %21900 = getelementptr inbounds %struct.s2n_stuffer, ptr %21899, i32 0, i32 0
  %21901 = getelementptr inbounds %struct.s2n_blob, ptr %21900, i32 0, i32 1
  %21902 = load i32, ptr %21901, align 8, !tbaa !82
  %21903 = load ptr, ptr %532, align 8, !tbaa !9
  %21904 = getelementptr inbounds %struct.s2n_connection, ptr %21903, i32 0, i32 52
  %21905 = getelementptr inbounds %struct.s2n_handshake, ptr %21904, i32 0, i32 0
  %21906 = getelementptr inbounds %struct.s2n_stuffer, ptr %21905, i32 0, i32 2
  %21907 = load i32, ptr %21906, align 4, !tbaa !78
  %21908 = sub i32 %21902, %21907
  %21909 = icmp eq i32 0, %21908
  br i1 %21909, label %21910, label %21963

21910:                                            ; preds = %21894
  br label %21911

21911:                                            ; preds = %21910
  br label %21912

21912:                                            ; preds = %21911
  call void @llvm.lifetime.start.p0(i64 4, ptr %535) #11
  %21913 = call ptr @__errno_location() #12
  %21914 = load i32, ptr %21913, align 4, !tbaa !5
  store i32 %21914, ptr %535, align 4, !tbaa !5
  %21915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21916 = call i32 @s2n_print_stacktrace(ptr noundef %21915)
  %21917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21918 = trunc i8 %21917 to i1
  br i1 %21918, label %21919, label %21941

21919:                                            ; preds = %21912
  %21920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21921 = call i32 @fileno(ptr noundef %21920) #11
  %21922 = call i32 @isatty(i32 noundef %21921) #11
  %21923 = icmp ne i32 %21922, 0
  br i1 %21923, label %21924, label %21941

21924:                                            ; preds = %21919
  %21925 = load i32, ptr %535, align 4, !tbaa !5
  %21926 = call ptr @__errno_location() #12
  store i32 %21925, ptr %21926, align 4, !tbaa !5
  %21927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21928 = load i32, ptr @test_count, align 4, !tbaa !5
  %21929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21930 = load i32, ptr %21929, align 4, !tbaa !5
  %21931 = call ptr @s2n_strerror(i32 noundef %21930, ptr noundef @.str.25)
  %21932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21933 = load i32, ptr %21932, align 4, !tbaa !5
  %21934 = call ptr @s2n_strerror_debug(i32 noundef %21933, ptr noundef @.str.25)
  %21935 = call ptr @__errno_location() #12
  %21936 = load i32, ptr %21935, align 4, !tbaa !5
  %21937 = call ptr @strerror(i32 noundef %21936) #11
  %21938 = call ptr @__errno_location() #12
  %21939 = load i32, ptr %21938, align 4, !tbaa !5
  %21940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21927, ptr noundef @.str.23, i32 noundef %21928, ptr noundef @.str.174, ptr noundef @.str.22, i32 noundef 1068, ptr noundef %21931, ptr noundef %21934, ptr noundef %21937, i32 noundef %21939) #11
  br label %21958

21941:                                            ; preds = %21919, %21912
  %21942 = load i32, ptr %535, align 4, !tbaa !5
  %21943 = call ptr @__errno_location() #12
  store i32 %21942, ptr %21943, align 4, !tbaa !5
  %21944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21945 = load i32, ptr @test_count, align 4, !tbaa !5
  %21946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21947 = load i32, ptr %21946, align 4, !tbaa !5
  %21948 = call ptr @s2n_strerror(i32 noundef %21947, ptr noundef @.str.25)
  %21949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21950 = load i32, ptr %21949, align 4, !tbaa !5
  %21951 = call ptr @s2n_strerror_debug(i32 noundef %21950, ptr noundef @.str.25)
  %21952 = call ptr @__errno_location() #12
  %21953 = load i32, ptr %21952, align 4, !tbaa !5
  %21954 = call ptr @strerror(i32 noundef %21953) #11
  %21955 = call ptr @__errno_location() #12
  %21956 = load i32, ptr %21955, align 4, !tbaa !5
  %21957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21944, ptr noundef @.str.26, i32 noundef %21945, ptr noundef @.str.174, ptr noundef @.str.22, i32 noundef 1068, ptr noundef %21948, ptr noundef %21951, ptr noundef %21954, i32 noundef %21956) #11
  br label %21958

21958:                                            ; preds = %21941, %21924
  call void @llvm.lifetime.end.p0(i64 4, ptr %535) #11
  br label %21959

21959:                                            ; preds = %21958
  br label %21960

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

21961:                                            ; No predecessors!
  br label %21962

21962:                                            ; preds = %21961
  br label %21963

21963:                                            ; preds = %21962, %21894
  br label %21964

21964:                                            ; preds = %21963
  br label %21965

21965:                                            ; preds = %21964
  call void @llvm.lifetime.start.p0(i64 40, ptr %536) #11
  call void @llvm.memset.p0.i64(ptr align 8 %536, i8 0, i64 40, i1 false)
  br label %21966

21966:                                            ; preds = %21965
  %21967 = load i32, ptr @test_count, align 4, !tbaa !5
  %21968 = add nsw i32 %21967, 1
  store i32 %21968, ptr @test_count, align 4, !tbaa !5
  %21969 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %536, i32 noundef 0)
  %21970 = icmp eq i32 %21969, -1
  br i1 %21970, label %21971, label %22024

21971:                                            ; preds = %21966
  br label %21972

21972:                                            ; preds = %21971
  br label %21973

21973:                                            ; preds = %21972
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #11
  %21974 = call ptr @__errno_location() #12
  %21975 = load i32, ptr %21974, align 4, !tbaa !5
  store i32 %21975, ptr %537, align 4, !tbaa !5
  %21976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21977 = call i32 @s2n_print_stacktrace(ptr noundef %21976)
  %21978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21979 = trunc i8 %21978 to i1
  br i1 %21979, label %21980, label %22002

21980:                                            ; preds = %21973
  %21981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21982 = call i32 @fileno(ptr noundef %21981) #11
  %21983 = call i32 @isatty(i32 noundef %21982) #11
  %21984 = icmp ne i32 %21983, 0
  br i1 %21984, label %21985, label %22002

21985:                                            ; preds = %21980
  %21986 = load i32, ptr %537, align 4, !tbaa !5
  %21987 = call ptr @__errno_location() #12
  store i32 %21986, ptr %21987, align 4, !tbaa !5
  %21988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21989 = load i32, ptr @test_count, align 4, !tbaa !5
  %21990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21991 = load i32, ptr %21990, align 4, !tbaa !5
  %21992 = call ptr @s2n_strerror(i32 noundef %21991, ptr noundef @.str.25)
  %21993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21994 = load i32, ptr %21993, align 4, !tbaa !5
  %21995 = call ptr @s2n_strerror_debug(i32 noundef %21994, ptr noundef @.str.25)
  %21996 = call ptr @__errno_location() #12
  %21997 = load i32, ptr %21996, align 4, !tbaa !5
  %21998 = call ptr @strerror(i32 noundef %21997) #11
  %21999 = call ptr @__errno_location() #12
  %22000 = load i32, ptr %21999, align 4, !tbaa !5
  %22001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21988, ptr noundef @.str.23, i32 noundef %21989, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1072, ptr noundef %21992, ptr noundef %21995, ptr noundef %21998, i32 noundef %22000) #11
  br label %22019

22002:                                            ; preds = %21980, %21973
  %22003 = load i32, ptr %537, align 4, !tbaa !5
  %22004 = call ptr @__errno_location() #12
  store i32 %22003, ptr %22004, align 4, !tbaa !5
  %22005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22006 = load i32, ptr @test_count, align 4, !tbaa !5
  %22007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22008 = load i32, ptr %22007, align 4, !tbaa !5
  %22009 = call ptr @s2n_strerror(i32 noundef %22008, ptr noundef @.str.25)
  %22010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22011 = load i32, ptr %22010, align 4, !tbaa !5
  %22012 = call ptr @s2n_strerror_debug(i32 noundef %22011, ptr noundef @.str.25)
  %22013 = call ptr @__errno_location() #12
  %22014 = load i32, ptr %22013, align 4, !tbaa !5
  %22015 = call ptr @strerror(i32 noundef %22014) #11
  %22016 = call ptr @__errno_location() #12
  %22017 = load i32, ptr %22016, align 4, !tbaa !5
  %22018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22005, ptr noundef @.str.26, i32 noundef %22006, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1072, ptr noundef %22009, ptr noundef %22012, ptr noundef %22015, i32 noundef %22017) #11
  br label %22019

22019:                                            ; preds = %22002, %21985
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #11
  br label %22020

22020:                                            ; preds = %22019
  br label %22021

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

22022:                                            ; No predecessors!
  br label %22023

22023:                                            ; preds = %22022
  br label %22024

22024:                                            ; preds = %22023, %21966
  br label %22025

22025:                                            ; preds = %22024
  br label %22026

22026:                                            ; preds = %22025
  br label %22027

22027:                                            ; preds = %22026
  %22028 = load i32, ptr @test_count, align 4, !tbaa !5
  %22029 = add nsw i32 %22028, 1
  store i32 %22029, ptr @test_count, align 4, !tbaa !5
  %22030 = load ptr, ptr %532, align 8, !tbaa !9
  %22031 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %536, ptr noundef %536, ptr noundef %22030)
  %22032 = icmp eq i32 %22031, -1
  br i1 %22032, label %22033, label %22086

22033:                                            ; preds = %22027
  br label %22034

22034:                                            ; preds = %22033
  br label %22035

22035:                                            ; preds = %22034
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #11
  %22036 = call ptr @__errno_location() #12
  %22037 = load i32, ptr %22036, align 4, !tbaa !5
  store i32 %22037, ptr %538, align 4, !tbaa !5
  %22038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22039 = call i32 @s2n_print_stacktrace(ptr noundef %22038)
  %22040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22041 = trunc i8 %22040 to i1
  br i1 %22041, label %22042, label %22064

22042:                                            ; preds = %22035
  %22043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22044 = call i32 @fileno(ptr noundef %22043) #11
  %22045 = call i32 @isatty(i32 noundef %22044) #11
  %22046 = icmp ne i32 %22045, 0
  br i1 %22046, label %22047, label %22064

22047:                                            ; preds = %22042
  %22048 = load i32, ptr %538, align 4, !tbaa !5
  %22049 = call ptr @__errno_location() #12
  store i32 %22048, ptr %22049, align 4, !tbaa !5
  %22050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22051 = load i32, ptr @test_count, align 4, !tbaa !5
  %22052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22053 = load i32, ptr %22052, align 4, !tbaa !5
  %22054 = call ptr @s2n_strerror(i32 noundef %22053, ptr noundef @.str.25)
  %22055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22056 = load i32, ptr %22055, align 4, !tbaa !5
  %22057 = call ptr @s2n_strerror_debug(i32 noundef %22056, ptr noundef @.str.25)
  %22058 = call ptr @__errno_location() #12
  %22059 = load i32, ptr %22058, align 4, !tbaa !5
  %22060 = call ptr @strerror(i32 noundef %22059) #11
  %22061 = call ptr @__errno_location() #12
  %22062 = load i32, ptr %22061, align 4, !tbaa !5
  %22063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22050, ptr noundef @.str.23, i32 noundef %22051, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1073, ptr noundef %22054, ptr noundef %22057, ptr noundef %22060, i32 noundef %22062) #11
  br label %22081

22064:                                            ; preds = %22042, %22035
  %22065 = load i32, ptr %538, align 4, !tbaa !5
  %22066 = call ptr @__errno_location() #12
  store i32 %22065, ptr %22066, align 4, !tbaa !5
  %22067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22068 = load i32, ptr @test_count, align 4, !tbaa !5
  %22069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22070 = load i32, ptr %22069, align 4, !tbaa !5
  %22071 = call ptr @s2n_strerror(i32 noundef %22070, ptr noundef @.str.25)
  %22072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22073 = load i32, ptr %22072, align 4, !tbaa !5
  %22074 = call ptr @s2n_strerror_debug(i32 noundef %22073, ptr noundef @.str.25)
  %22075 = call ptr @__errno_location() #12
  %22076 = load i32, ptr %22075, align 4, !tbaa !5
  %22077 = call ptr @strerror(i32 noundef %22076) #11
  %22078 = call ptr @__errno_location() #12
  %22079 = load i32, ptr %22078, align 4, !tbaa !5
  %22080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22067, ptr noundef @.str.26, i32 noundef %22068, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1073, ptr noundef %22071, ptr noundef %22074, ptr noundef %22077, i32 noundef %22079) #11
  br label %22081

22081:                                            ; preds = %22064, %22047
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #11
  br label %22082

22082:                                            ; preds = %22081
  br label %22083

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

22084:                                            ; No predecessors!
  br label %22085

22085:                                            ; preds = %22084
  br label %22086

22086:                                            ; preds = %22085, %22027
  br label %22087

22087:                                            ; preds = %22086
  br label %22088

22088:                                            ; preds = %22087
  call void @llvm.lifetime.start.p0(i64 4, ptr %539) #11
  store i32 0, ptr %539, align 4, !tbaa !5
  br label %22089

22089:                                            ; preds = %22088
  %22090 = load i32, ptr @test_count, align 4, !tbaa !5
  %22091 = add nsw i32 %22090, 1
  store i32 %22091, ptr @test_count, align 4, !tbaa !5
  %22092 = load ptr, ptr %532, align 8, !tbaa !9
  %22093 = call i32 @s2n_tls13_server_nst_send(ptr noundef %22092, ptr noundef %539)
  %22094 = getelementptr inbounds %struct.s2n_result, ptr %540, i32 0, i32 0
  store i32 %22093, ptr %22094, align 4
  %22095 = getelementptr inbounds %struct.s2n_result, ptr %540, i32 0, i32 0
  %22096 = load i32, ptr %22095, align 4
  %22097 = call zeroext i1 @s2n_result_is_ok(i32 %22096)
  br i1 %22097, label %22151, label %22098

22098:                                            ; preds = %22089
  br label %22099

22099:                                            ; preds = %22098
  br label %22100

22100:                                            ; preds = %22099
  call void @llvm.lifetime.start.p0(i64 4, ptr %541) #11
  %22101 = call ptr @__errno_location() #12
  %22102 = load i32, ptr %22101, align 4, !tbaa !5
  store i32 %22102, ptr %541, align 4, !tbaa !5
  %22103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22104 = call i32 @s2n_print_stacktrace(ptr noundef %22103)
  %22105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22106 = trunc i8 %22105 to i1
  br i1 %22106, label %22107, label %22129

22107:                                            ; preds = %22100
  %22108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22109 = call i32 @fileno(ptr noundef %22108) #11
  %22110 = call i32 @isatty(i32 noundef %22109) #11
  %22111 = icmp ne i32 %22110, 0
  br i1 %22111, label %22112, label %22129

22112:                                            ; preds = %22107
  %22113 = load i32, ptr %541, align 4, !tbaa !5
  %22114 = call ptr @__errno_location() #12
  store i32 %22113, ptr %22114, align 4, !tbaa !5
  %22115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22116 = load i32, ptr @test_count, align 4, !tbaa !5
  %22117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22118 = load i32, ptr %22117, align 4, !tbaa !5
  %22119 = call ptr @s2n_strerror(i32 noundef %22118, ptr noundef @.str.25)
  %22120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22121 = load i32, ptr %22120, align 4, !tbaa !5
  %22122 = call ptr @s2n_strerror_debug(i32 noundef %22121, ptr noundef @.str.25)
  %22123 = call ptr @__errno_location() #12
  %22124 = load i32, ptr %22123, align 4, !tbaa !5
  %22125 = call ptr @strerror(i32 noundef %22124) #11
  %22126 = call ptr @__errno_location() #12
  %22127 = load i32, ptr %22126, align 4, !tbaa !5
  %22128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22115, ptr noundef @.str.23, i32 noundef %22116, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1076, ptr noundef %22119, ptr noundef %22122, ptr noundef %22125, i32 noundef %22127) #11
  br label %22146

22129:                                            ; preds = %22107, %22100
  %22130 = load i32, ptr %541, align 4, !tbaa !5
  %22131 = call ptr @__errno_location() #12
  store i32 %22130, ptr %22131, align 4, !tbaa !5
  %22132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22133 = load i32, ptr @test_count, align 4, !tbaa !5
  %22134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22135 = load i32, ptr %22134, align 4, !tbaa !5
  %22136 = call ptr @s2n_strerror(i32 noundef %22135, ptr noundef @.str.25)
  %22137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22138 = load i32, ptr %22137, align 4, !tbaa !5
  %22139 = call ptr @s2n_strerror_debug(i32 noundef %22138, ptr noundef @.str.25)
  %22140 = call ptr @__errno_location() #12
  %22141 = load i32, ptr %22140, align 4, !tbaa !5
  %22142 = call ptr @strerror(i32 noundef %22141) #11
  %22143 = call ptr @__errno_location() #12
  %22144 = load i32, ptr %22143, align 4, !tbaa !5
  %22145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22132, ptr noundef @.str.26, i32 noundef %22133, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1076, ptr noundef %22136, ptr noundef %22139, ptr noundef %22142, i32 noundef %22144) #11
  br label %22146

22146:                                            ; preds = %22129, %22112
  call void @llvm.lifetime.end.p0(i64 4, ptr %541) #11
  br label %22147

22147:                                            ; preds = %22146
  br label %22148

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

22149:                                            ; No predecessors!
  br label %22150

22150:                                            ; preds = %22149
  br label %22151

22151:                                            ; preds = %22150, %22089
  br label %22152

22152:                                            ; preds = %22151
  br label %22153

22153:                                            ; preds = %22152
  br label %22154

22154:                                            ; preds = %22153
  %22155 = load i32, ptr @test_count, align 4, !tbaa !5
  %22156 = add nsw i32 %22155, 1
  store i32 %22156, ptr @test_count, align 4, !tbaa !5
  %22157 = getelementptr inbounds %struct.s2n_stuffer, ptr %536, i32 0, i32 2
  %22158 = load i32, ptr %22157, align 4, !tbaa !52
  %22159 = getelementptr inbounds %struct.s2n_stuffer, ptr %536, i32 0, i32 1
  %22160 = load i32, ptr %22159, align 8, !tbaa !53
  %22161 = sub i32 %22158, %22160
  %22162 = icmp eq i32 0, %22161
  br i1 %22162, label %22216, label %22163

22163:                                            ; preds = %22154
  br label %22164

22164:                                            ; preds = %22163
  br label %22165

22165:                                            ; preds = %22164
  call void @llvm.lifetime.start.p0(i64 4, ptr %542) #11
  %22166 = call ptr @__errno_location() #12
  %22167 = load i32, ptr %22166, align 4, !tbaa !5
  store i32 %22167, ptr %542, align 4, !tbaa !5
  %22168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22169 = call i32 @s2n_print_stacktrace(ptr noundef %22168)
  %22170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22171 = trunc i8 %22170 to i1
  br i1 %22171, label %22172, label %22194

22172:                                            ; preds = %22165
  %22173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22174 = call i32 @fileno(ptr noundef %22173) #11
  %22175 = call i32 @isatty(i32 noundef %22174) #11
  %22176 = icmp ne i32 %22175, 0
  br i1 %22176, label %22177, label %22194

22177:                                            ; preds = %22172
  %22178 = load i32, ptr %542, align 4, !tbaa !5
  %22179 = call ptr @__errno_location() #12
  store i32 %22178, ptr %22179, align 4, !tbaa !5
  %22180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22181 = load i32, ptr @test_count, align 4, !tbaa !5
  %22182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22183 = load i32, ptr %22182, align 4, !tbaa !5
  %22184 = call ptr @s2n_strerror(i32 noundef %22183, ptr noundef @.str.25)
  %22185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22186 = load i32, ptr %22185, align 4, !tbaa !5
  %22187 = call ptr @s2n_strerror_debug(i32 noundef %22186, ptr noundef @.str.25)
  %22188 = call ptr @__errno_location() #12
  %22189 = load i32, ptr %22188, align 4, !tbaa !5
  %22190 = call ptr @strerror(i32 noundef %22189) #11
  %22191 = call ptr @__errno_location() #12
  %22192 = load i32, ptr %22191, align 4, !tbaa !5
  %22193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22180, ptr noundef @.str.23, i32 noundef %22181, ptr noundef @.str.169, ptr noundef @.str.22, i32 noundef 1079, ptr noundef %22184, ptr noundef %22187, ptr noundef %22190, i32 noundef %22192) #11
  br label %22211

22194:                                            ; preds = %22172, %22165
  %22195 = load i32, ptr %542, align 4, !tbaa !5
  %22196 = call ptr @__errno_location() #12
  store i32 %22195, ptr %22196, align 4, !tbaa !5
  %22197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22198 = load i32, ptr @test_count, align 4, !tbaa !5
  %22199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22200 = load i32, ptr %22199, align 4, !tbaa !5
  %22201 = call ptr @s2n_strerror(i32 noundef %22200, ptr noundef @.str.25)
  %22202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22203 = load i32, ptr %22202, align 4, !tbaa !5
  %22204 = call ptr @s2n_strerror_debug(i32 noundef %22203, ptr noundef @.str.25)
  %22205 = call ptr @__errno_location() #12
  %22206 = load i32, ptr %22205, align 4, !tbaa !5
  %22207 = call ptr @strerror(i32 noundef %22206) #11
  %22208 = call ptr @__errno_location() #12
  %22209 = load i32, ptr %22208, align 4, !tbaa !5
  %22210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22197, ptr noundef @.str.26, i32 noundef %22198, ptr noundef @.str.169, ptr noundef @.str.22, i32 noundef 1079, ptr noundef %22201, ptr noundef %22204, ptr noundef %22207, i32 noundef %22209) #11
  br label %22211

22211:                                            ; preds = %22194, %22177
  call void @llvm.lifetime.end.p0(i64 4, ptr %542) #11
  br label %22212

22212:                                            ; preds = %22211
  br label %22213

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

22214:                                            ; No predecessors!
  br label %22215

22215:                                            ; preds = %22214
  br label %22216

22216:                                            ; preds = %22215, %22154
  br label %22217

22217:                                            ; preds = %22216
  br label %22218

22218:                                            ; preds = %22217
  br label %22219

22219:                                            ; preds = %22218
  %22220 = load i32, ptr @test_count, align 4, !tbaa !5
  %22221 = add nsw i32 %22220, 1
  store i32 %22221, ptr @test_count, align 4, !tbaa !5
  %22222 = load ptr, ptr %532, align 8, !tbaa !9
  %22223 = call i32 @s2n_assert_tickets_sent(ptr noundef %22222, i16 noundef zeroext 0)
  %22224 = getelementptr inbounds %struct.s2n_result, ptr %543, i32 0, i32 0
  store i32 %22223, ptr %22224, align 4
  %22225 = getelementptr inbounds %struct.s2n_result, ptr %543, i32 0, i32 0
  %22226 = load i32, ptr %22225, align 4
  %22227 = call zeroext i1 @s2n_result_is_ok(i32 %22226)
  br i1 %22227, label %22281, label %22228

22228:                                            ; preds = %22219
  br label %22229

22229:                                            ; preds = %22228
  br label %22230

22230:                                            ; preds = %22229
  call void @llvm.lifetime.start.p0(i64 4, ptr %544) #11
  %22231 = call ptr @__errno_location() #12
  %22232 = load i32, ptr %22231, align 4, !tbaa !5
  store i32 %22232, ptr %544, align 4, !tbaa !5
  %22233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22234 = call i32 @s2n_print_stacktrace(ptr noundef %22233)
  %22235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22236 = trunc i8 %22235 to i1
  br i1 %22236, label %22237, label %22259

22237:                                            ; preds = %22230
  %22238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22239 = call i32 @fileno(ptr noundef %22238) #11
  %22240 = call i32 @isatty(i32 noundef %22239) #11
  %22241 = icmp ne i32 %22240, 0
  br i1 %22241, label %22242, label %22259

22242:                                            ; preds = %22237
  %22243 = load i32, ptr %544, align 4, !tbaa !5
  %22244 = call ptr @__errno_location() #12
  store i32 %22243, ptr %22244, align 4, !tbaa !5
  %22245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22246 = load i32, ptr @test_count, align 4, !tbaa !5
  %22247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22248 = load i32, ptr %22247, align 4, !tbaa !5
  %22249 = call ptr @s2n_strerror(i32 noundef %22248, ptr noundef @.str.25)
  %22250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22251 = load i32, ptr %22250, align 4, !tbaa !5
  %22252 = call ptr @s2n_strerror_debug(i32 noundef %22251, ptr noundef @.str.25)
  %22253 = call ptr @__errno_location() #12
  %22254 = load i32, ptr %22253, align 4, !tbaa !5
  %22255 = call ptr @strerror(i32 noundef %22254) #11
  %22256 = call ptr @__errno_location() #12
  %22257 = load i32, ptr %22256, align 4, !tbaa !5
  %22258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22245, ptr noundef @.str.23, i32 noundef %22246, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 1080, ptr noundef %22249, ptr noundef %22252, ptr noundef %22255, i32 noundef %22257) #11
  br label %22276

22259:                                            ; preds = %22237, %22230
  %22260 = load i32, ptr %544, align 4, !tbaa !5
  %22261 = call ptr @__errno_location() #12
  store i32 %22260, ptr %22261, align 4, !tbaa !5
  %22262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22263 = load i32, ptr @test_count, align 4, !tbaa !5
  %22264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22265 = load i32, ptr %22264, align 4, !tbaa !5
  %22266 = call ptr @s2n_strerror(i32 noundef %22265, ptr noundef @.str.25)
  %22267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22268 = load i32, ptr %22267, align 4, !tbaa !5
  %22269 = call ptr @s2n_strerror_debug(i32 noundef %22268, ptr noundef @.str.25)
  %22270 = call ptr @__errno_location() #12
  %22271 = load i32, ptr %22270, align 4, !tbaa !5
  %22272 = call ptr @strerror(i32 noundef %22271) #11
  %22273 = call ptr @__errno_location() #12
  %22274 = load i32, ptr %22273, align 4, !tbaa !5
  %22275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22262, ptr noundef @.str.26, i32 noundef %22263, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 1080, ptr noundef %22266, ptr noundef %22269, ptr noundef %22272, i32 noundef %22274) #11
  br label %22276

22276:                                            ; preds = %22259, %22242
  call void @llvm.lifetime.end.p0(i64 4, ptr %544) #11
  br label %22277

22277:                                            ; preds = %22276
  br label %22278

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

22279:                                            ; No predecessors!
  br label %22280

22280:                                            ; preds = %22279
  br label %22281

22281:                                            ; preds = %22280, %22219
  br label %22282

22282:                                            ; preds = %22281
  br label %22283

22283:                                            ; preds = %22282
  br label %22284

22284:                                            ; preds = %22283
  %22285 = load i32, ptr @test_count, align 4, !tbaa !5
  %22286 = add nsw i32 %22285, 1
  store i32 %22286, ptr @test_count, align 4, !tbaa !5
  %22287 = load ptr, ptr %532, align 8, !tbaa !9
  %22288 = getelementptr inbounds %struct.s2n_connection, ptr %22287, i32 0, i32 52
  %22289 = getelementptr inbounds %struct.s2n_handshake, ptr %22288, i32 0, i32 0
  %22290 = getelementptr inbounds %struct.s2n_stuffer, ptr %22289, i32 0, i32 0
  %22291 = getelementptr inbounds %struct.s2n_blob, ptr %22290, i32 0, i32 1
  %22292 = load i32, ptr %22291, align 8, !tbaa !82
  %22293 = load ptr, ptr %532, align 8, !tbaa !9
  %22294 = getelementptr inbounds %struct.s2n_connection, ptr %22293, i32 0, i32 52
  %22295 = getelementptr inbounds %struct.s2n_handshake, ptr %22294, i32 0, i32 0
  %22296 = getelementptr inbounds %struct.s2n_stuffer, ptr %22295, i32 0, i32 2
  %22297 = load i32, ptr %22296, align 4, !tbaa !78
  %22298 = sub i32 %22292, %22297
  %22299 = icmp eq i32 0, %22298
  br i1 %22299, label %22353, label %22300

22300:                                            ; preds = %22284
  br label %22301

22301:                                            ; preds = %22300
  br label %22302

22302:                                            ; preds = %22301
  call void @llvm.lifetime.start.p0(i64 4, ptr %545) #11
  %22303 = call ptr @__errno_location() #12
  %22304 = load i32, ptr %22303, align 4, !tbaa !5
  store i32 %22304, ptr %545, align 4, !tbaa !5
  %22305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22306 = call i32 @s2n_print_stacktrace(ptr noundef %22305)
  %22307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22308 = trunc i8 %22307 to i1
  br i1 %22308, label %22309, label %22331

22309:                                            ; preds = %22302
  %22310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22311 = call i32 @fileno(ptr noundef %22310) #11
  %22312 = call i32 @isatty(i32 noundef %22311) #11
  %22313 = icmp ne i32 %22312, 0
  br i1 %22313, label %22314, label %22331

22314:                                            ; preds = %22309
  %22315 = load i32, ptr %545, align 4, !tbaa !5
  %22316 = call ptr @__errno_location() #12
  store i32 %22315, ptr %22316, align 4, !tbaa !5
  %22317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22318 = load i32, ptr @test_count, align 4, !tbaa !5
  %22319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22320 = load i32, ptr %22319, align 4, !tbaa !5
  %22321 = call ptr @s2n_strerror(i32 noundef %22320, ptr noundef @.str.25)
  %22322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22323 = load i32, ptr %22322, align 4, !tbaa !5
  %22324 = call ptr @s2n_strerror_debug(i32 noundef %22323, ptr noundef @.str.25)
  %22325 = call ptr @__errno_location() #12
  %22326 = load i32, ptr %22325, align 4, !tbaa !5
  %22327 = call ptr @strerror(i32 noundef %22326) #11
  %22328 = call ptr @__errno_location() #12
  %22329 = load i32, ptr %22328, align 4, !tbaa !5
  %22330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22317, ptr noundef @.str.23, i32 noundef %22318, ptr noundef @.str.175, ptr noundef @.str.22, i32 noundef 1083, ptr noundef %22321, ptr noundef %22324, ptr noundef %22327, i32 noundef %22329) #11
  br label %22348

22331:                                            ; preds = %22309, %22302
  %22332 = load i32, ptr %545, align 4, !tbaa !5
  %22333 = call ptr @__errno_location() #12
  store i32 %22332, ptr %22333, align 4, !tbaa !5
  %22334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22335 = load i32, ptr @test_count, align 4, !tbaa !5
  %22336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22337 = load i32, ptr %22336, align 4, !tbaa !5
  %22338 = call ptr @s2n_strerror(i32 noundef %22337, ptr noundef @.str.25)
  %22339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22340 = load i32, ptr %22339, align 4, !tbaa !5
  %22341 = call ptr @s2n_strerror_debug(i32 noundef %22340, ptr noundef @.str.25)
  %22342 = call ptr @__errno_location() #12
  %22343 = load i32, ptr %22342, align 4, !tbaa !5
  %22344 = call ptr @strerror(i32 noundef %22343) #11
  %22345 = call ptr @__errno_location() #12
  %22346 = load i32, ptr %22345, align 4, !tbaa !5
  %22347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22334, ptr noundef @.str.26, i32 noundef %22335, ptr noundef @.str.175, ptr noundef @.str.22, i32 noundef 1083, ptr noundef %22338, ptr noundef %22341, ptr noundef %22344, i32 noundef %22346) #11
  br label %22348

22348:                                            ; preds = %22331, %22314
  call void @llvm.lifetime.end.p0(i64 4, ptr %545) #11
  br label %22349

22349:                                            ; preds = %22348
  br label %22350

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

22351:                                            ; No predecessors!
  br label %22352

22352:                                            ; preds = %22351
  br label %22353

22353:                                            ; preds = %22352, %22284
  br label %22354

22354:                                            ; preds = %22353
  br label %22355

22355:                                            ; preds = %22354
  br label %22356

22356:                                            ; preds = %22355
  %22357 = load i32, ptr @test_count, align 4, !tbaa !5
  %22358 = add nsw i32 %22357, 1
  store i32 %22358, ptr @test_count, align 4, !tbaa !5
  %22359 = call i32 @s2n_stuffer_free(ptr noundef %536)
  %22360 = icmp eq i32 %22359, -1
  br i1 %22360, label %22361, label %22414

22361:                                            ; preds = %22356
  br label %22362

22362:                                            ; preds = %22361
  br label %22363

22363:                                            ; preds = %22362
  call void @llvm.lifetime.start.p0(i64 4, ptr %546) #11
  %22364 = call ptr @__errno_location() #12
  %22365 = load i32, ptr %22364, align 4, !tbaa !5
  store i32 %22365, ptr %546, align 4, !tbaa !5
  %22366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22367 = call i32 @s2n_print_stacktrace(ptr noundef %22366)
  %22368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22369 = trunc i8 %22368 to i1
  br i1 %22369, label %22370, label %22392

22370:                                            ; preds = %22363
  %22371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22372 = call i32 @fileno(ptr noundef %22371) #11
  %22373 = call i32 @isatty(i32 noundef %22372) #11
  %22374 = icmp ne i32 %22373, 0
  br i1 %22374, label %22375, label %22392

22375:                                            ; preds = %22370
  %22376 = load i32, ptr %546, align 4, !tbaa !5
  %22377 = call ptr @__errno_location() #12
  store i32 %22376, ptr %22377, align 4, !tbaa !5
  %22378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22379 = load i32, ptr @test_count, align 4, !tbaa !5
  %22380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22381 = load i32, ptr %22380, align 4, !tbaa !5
  %22382 = call ptr @s2n_strerror(i32 noundef %22381, ptr noundef @.str.25)
  %22383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22384 = load i32, ptr %22383, align 4, !tbaa !5
  %22385 = call ptr @s2n_strerror_debug(i32 noundef %22384, ptr noundef @.str.25)
  %22386 = call ptr @__errno_location() #12
  %22387 = load i32, ptr %22386, align 4, !tbaa !5
  %22388 = call ptr @strerror(i32 noundef %22387) #11
  %22389 = call ptr @__errno_location() #12
  %22390 = load i32, ptr %22389, align 4, !tbaa !5
  %22391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22378, ptr noundef @.str.23, i32 noundef %22379, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1085, ptr noundef %22382, ptr noundef %22385, ptr noundef %22388, i32 noundef %22390) #11
  br label %22409

22392:                                            ; preds = %22370, %22363
  %22393 = load i32, ptr %546, align 4, !tbaa !5
  %22394 = call ptr @__errno_location() #12
  store i32 %22393, ptr %22394, align 4, !tbaa !5
  %22395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22396 = load i32, ptr @test_count, align 4, !tbaa !5
  %22397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22398 = load i32, ptr %22397, align 4, !tbaa !5
  %22399 = call ptr @s2n_strerror(i32 noundef %22398, ptr noundef @.str.25)
  %22400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22401 = load i32, ptr %22400, align 4, !tbaa !5
  %22402 = call ptr @s2n_strerror_debug(i32 noundef %22401, ptr noundef @.str.25)
  %22403 = call ptr @__errno_location() #12
  %22404 = load i32, ptr %22403, align 4, !tbaa !5
  %22405 = call ptr @strerror(i32 noundef %22404) #11
  %22406 = call ptr @__errno_location() #12
  %22407 = load i32, ptr %22406, align 4, !tbaa !5
  %22408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22395, ptr noundef @.str.26, i32 noundef %22396, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1085, ptr noundef %22399, ptr noundef %22402, ptr noundef %22405, i32 noundef %22407) #11
  br label %22409

22409:                                            ; preds = %22392, %22375
  call void @llvm.lifetime.end.p0(i64 4, ptr %546) #11
  br label %22410

22410:                                            ; preds = %22409
  br label %22411

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

22412:                                            ; No predecessors!
  br label %22413

22413:                                            ; preds = %22412
  br label %22414

22414:                                            ; preds = %22413, %22356
  br label %22415

22415:                                            ; preds = %22414
  br label %22416

22416:                                            ; preds = %22415
  br label %22417

22417:                                            ; preds = %22416
  %22418 = load i32, ptr @test_count, align 4, !tbaa !5
  %22419 = add nsw i32 %22418, 1
  store i32 %22419, ptr @test_count, align 4, !tbaa !5
  %22420 = load ptr, ptr %532, align 8, !tbaa !9
  %22421 = call i32 @s2n_connection_free(ptr noundef %22420)
  %22422 = icmp eq i32 %22421, -1
  br i1 %22422, label %22423, label %22476

22423:                                            ; preds = %22417
  br label %22424

22424:                                            ; preds = %22423
  br label %22425

22425:                                            ; preds = %22424
  call void @llvm.lifetime.start.p0(i64 4, ptr %547) #11
  %22426 = call ptr @__errno_location() #12
  %22427 = load i32, ptr %22426, align 4, !tbaa !5
  store i32 %22427, ptr %547, align 4, !tbaa !5
  %22428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22429 = call i32 @s2n_print_stacktrace(ptr noundef %22428)
  %22430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22431 = trunc i8 %22430 to i1
  br i1 %22431, label %22432, label %22454

22432:                                            ; preds = %22425
  %22433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22434 = call i32 @fileno(ptr noundef %22433) #11
  %22435 = call i32 @isatty(i32 noundef %22434) #11
  %22436 = icmp ne i32 %22435, 0
  br i1 %22436, label %22437, label %22454

22437:                                            ; preds = %22432
  %22438 = load i32, ptr %547, align 4, !tbaa !5
  %22439 = call ptr @__errno_location() #12
  store i32 %22438, ptr %22439, align 4, !tbaa !5
  %22440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22441 = load i32, ptr @test_count, align 4, !tbaa !5
  %22442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22443 = load i32, ptr %22442, align 4, !tbaa !5
  %22444 = call ptr @s2n_strerror(i32 noundef %22443, ptr noundef @.str.25)
  %22445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22446 = load i32, ptr %22445, align 4, !tbaa !5
  %22447 = call ptr @s2n_strerror_debug(i32 noundef %22446, ptr noundef @.str.25)
  %22448 = call ptr @__errno_location() #12
  %22449 = load i32, ptr %22448, align 4, !tbaa !5
  %22450 = call ptr @strerror(i32 noundef %22449) #11
  %22451 = call ptr @__errno_location() #12
  %22452 = load i32, ptr %22451, align 4, !tbaa !5
  %22453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22440, ptr noundef @.str.23, i32 noundef %22441, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1086, ptr noundef %22444, ptr noundef %22447, ptr noundef %22450, i32 noundef %22452) #11
  br label %22471

22454:                                            ; preds = %22432, %22425
  %22455 = load i32, ptr %547, align 4, !tbaa !5
  %22456 = call ptr @__errno_location() #12
  store i32 %22455, ptr %22456, align 4, !tbaa !5
  %22457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22458 = load i32, ptr @test_count, align 4, !tbaa !5
  %22459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22460 = load i32, ptr %22459, align 4, !tbaa !5
  %22461 = call ptr @s2n_strerror(i32 noundef %22460, ptr noundef @.str.25)
  %22462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22463 = load i32, ptr %22462, align 4, !tbaa !5
  %22464 = call ptr @s2n_strerror_debug(i32 noundef %22463, ptr noundef @.str.25)
  %22465 = call ptr @__errno_location() #12
  %22466 = load i32, ptr %22465, align 4, !tbaa !5
  %22467 = call ptr @strerror(i32 noundef %22466) #11
  %22468 = call ptr @__errno_location() #12
  %22469 = load i32, ptr %22468, align 4, !tbaa !5
  %22470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22457, ptr noundef @.str.26, i32 noundef %22458, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1086, ptr noundef %22461, ptr noundef %22464, ptr noundef %22467, i32 noundef %22469) #11
  br label %22471

22471:                                            ; preds = %22454, %22437
  call void @llvm.lifetime.end.p0(i64 4, ptr %547) #11
  br label %22472

22472:                                            ; preds = %22471
  br label %22473

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

22474:                                            ; No predecessors!
  br label %22475

22475:                                            ; preds = %22474
  br label %22476

22476:                                            ; preds = %22475, %22417
  br label %22477

22477:                                            ; preds = %22476
  br label %22478

22478:                                            ; preds = %22477
  br label %22479

22479:                                            ; preds = %22478
  %22480 = load i32, ptr @test_count, align 4, !tbaa !5
  %22481 = add nsw i32 %22480, 1
  store i32 %22481, ptr @test_count, align 4, !tbaa !5
  %22482 = load ptr, ptr %528, align 8, !tbaa !9
  %22483 = call i32 @s2n_config_free(ptr noundef %22482)
  %22484 = icmp eq i32 %22483, -1
  br i1 %22484, label %22485, label %22538

22485:                                            ; preds = %22479
  br label %22486

22486:                                            ; preds = %22485
  br label %22487

22487:                                            ; preds = %22486
  call void @llvm.lifetime.start.p0(i64 4, ptr %548) #11
  %22488 = call ptr @__errno_location() #12
  %22489 = load i32, ptr %22488, align 4, !tbaa !5
  store i32 %22489, ptr %548, align 4, !tbaa !5
  %22490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22491 = call i32 @s2n_print_stacktrace(ptr noundef %22490)
  %22492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22493 = trunc i8 %22492 to i1
  br i1 %22493, label %22494, label %22516

22494:                                            ; preds = %22487
  %22495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22496 = call i32 @fileno(ptr noundef %22495) #11
  %22497 = call i32 @isatty(i32 noundef %22496) #11
  %22498 = icmp ne i32 %22497, 0
  br i1 %22498, label %22499, label %22516

22499:                                            ; preds = %22494
  %22500 = load i32, ptr %548, align 4, !tbaa !5
  %22501 = call ptr @__errno_location() #12
  store i32 %22500, ptr %22501, align 4, !tbaa !5
  %22502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22503 = load i32, ptr @test_count, align 4, !tbaa !5
  %22504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22505 = load i32, ptr %22504, align 4, !tbaa !5
  %22506 = call ptr @s2n_strerror(i32 noundef %22505, ptr noundef @.str.25)
  %22507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22508 = load i32, ptr %22507, align 4, !tbaa !5
  %22509 = call ptr @s2n_strerror_debug(i32 noundef %22508, ptr noundef @.str.25)
  %22510 = call ptr @__errno_location() #12
  %22511 = load i32, ptr %22510, align 4, !tbaa !5
  %22512 = call ptr @strerror(i32 noundef %22511) #11
  %22513 = call ptr @__errno_location() #12
  %22514 = load i32, ptr %22513, align 4, !tbaa !5
  %22515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22502, ptr noundef @.str.23, i32 noundef %22503, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1087, ptr noundef %22506, ptr noundef %22509, ptr noundef %22512, i32 noundef %22514) #11
  br label %22533

22516:                                            ; preds = %22494, %22487
  %22517 = load i32, ptr %548, align 4, !tbaa !5
  %22518 = call ptr @__errno_location() #12
  store i32 %22517, ptr %22518, align 4, !tbaa !5
  %22519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22520 = load i32, ptr @test_count, align 4, !tbaa !5
  %22521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22522 = load i32, ptr %22521, align 4, !tbaa !5
  %22523 = call ptr @s2n_strerror(i32 noundef %22522, ptr noundef @.str.25)
  %22524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22525 = load i32, ptr %22524, align 4, !tbaa !5
  %22526 = call ptr @s2n_strerror_debug(i32 noundef %22525, ptr noundef @.str.25)
  %22527 = call ptr @__errno_location() #12
  %22528 = load i32, ptr %22527, align 4, !tbaa !5
  %22529 = call ptr @strerror(i32 noundef %22528) #11
  %22530 = call ptr @__errno_location() #12
  %22531 = load i32, ptr %22530, align 4, !tbaa !5
  %22532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22519, ptr noundef @.str.26, i32 noundef %22520, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1087, ptr noundef %22523, ptr noundef %22526, ptr noundef %22529, i32 noundef %22531) #11
  br label %22533

22533:                                            ; preds = %22516, %22499
  call void @llvm.lifetime.end.p0(i64 4, ptr %548) #11
  br label %22534

22534:                                            ; preds = %22533
  br label %22535

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

22536:                                            ; No predecessors!
  br label %22537

22537:                                            ; preds = %22536
  br label %22538

22538:                                            ; preds = %22537, %22479
  br label %22539

22539:                                            ; preds = %22538
  br label %22540

22540:                                            ; preds = %22539
  call void @llvm.lifetime.end.p0(i64 4, ptr %539) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %536) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %532) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %528) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %549) #11
  %22541 = call ptr @s2n_config_new()
  store ptr %22541, ptr %549, align 8, !tbaa !9
  br label %22542

22542:                                            ; preds = %22540
  %22543 = load i32, ptr @test_count, align 4, !tbaa !5
  %22544 = add nsw i32 %22543, 1
  store i32 %22544, ptr @test_count, align 4, !tbaa !5
  %22545 = load ptr, ptr %549, align 8, !tbaa !9
  %22546 = icmp eq ptr %22545, null
  br i1 %22546, label %22547, label %22600

22547:                                            ; preds = %22542
  br label %22548

22548:                                            ; preds = %22547
  br label %22549

22549:                                            ; preds = %22548
  call void @llvm.lifetime.start.p0(i64 4, ptr %550) #11
  %22550 = call ptr @__errno_location() #12
  %22551 = load i32, ptr %22550, align 4, !tbaa !5
  store i32 %22551, ptr %550, align 4, !tbaa !5
  %22552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22553 = call i32 @s2n_print_stacktrace(ptr noundef %22552)
  %22554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22555 = trunc i8 %22554 to i1
  br i1 %22555, label %22556, label %22578

22556:                                            ; preds = %22549
  %22557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22558 = call i32 @fileno(ptr noundef %22557) #11
  %22559 = call i32 @isatty(i32 noundef %22558) #11
  %22560 = icmp ne i32 %22559, 0
  br i1 %22560, label %22561, label %22578

22561:                                            ; preds = %22556
  %22562 = load i32, ptr %550, align 4, !tbaa !5
  %22563 = call ptr @__errno_location() #12
  store i32 %22562, ptr %22563, align 4, !tbaa !5
  %22564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22565 = load i32, ptr @test_count, align 4, !tbaa !5
  %22566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22567 = load i32, ptr %22566, align 4, !tbaa !5
  %22568 = call ptr @s2n_strerror(i32 noundef %22567, ptr noundef @.str.25)
  %22569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22570 = load i32, ptr %22569, align 4, !tbaa !5
  %22571 = call ptr @s2n_strerror_debug(i32 noundef %22570, ptr noundef @.str.25)
  %22572 = call ptr @__errno_location() #12
  %22573 = load i32, ptr %22572, align 4, !tbaa !5
  %22574 = call ptr @strerror(i32 noundef %22573) #11
  %22575 = call ptr @__errno_location() #12
  %22576 = load i32, ptr %22575, align 4, !tbaa !5
  %22577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22564, ptr noundef @.str.23, i32 noundef %22565, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1094, ptr noundef %22568, ptr noundef %22571, ptr noundef %22574, i32 noundef %22576) #11
  br label %22595

22578:                                            ; preds = %22556, %22549
  %22579 = load i32, ptr %550, align 4, !tbaa !5
  %22580 = call ptr @__errno_location() #12
  store i32 %22579, ptr %22580, align 4, !tbaa !5
  %22581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22582 = load i32, ptr @test_count, align 4, !tbaa !5
  %22583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22584 = load i32, ptr %22583, align 4, !tbaa !5
  %22585 = call ptr @s2n_strerror(i32 noundef %22584, ptr noundef @.str.25)
  %22586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22587 = load i32, ptr %22586, align 4, !tbaa !5
  %22588 = call ptr @s2n_strerror_debug(i32 noundef %22587, ptr noundef @.str.25)
  %22589 = call ptr @__errno_location() #12
  %22590 = load i32, ptr %22589, align 4, !tbaa !5
  %22591 = call ptr @strerror(i32 noundef %22590) #11
  %22592 = call ptr @__errno_location() #12
  %22593 = load i32, ptr %22592, align 4, !tbaa !5
  %22594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22581, ptr noundef @.str.26, i32 noundef %22582, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1094, ptr noundef %22585, ptr noundef %22588, ptr noundef %22591, i32 noundef %22593) #11
  br label %22595

22595:                                            ; preds = %22578, %22561
  call void @llvm.lifetime.end.p0(i64 4, ptr %550) #11
  br label %22596

22596:                                            ; preds = %22595
  br label %22597

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

22598:                                            ; No predecessors!
  br label %22599

22599:                                            ; preds = %22598
  br label %22600

22600:                                            ; preds = %22599, %22542
  br label %22601

22601:                                            ; preds = %22600
  br label %22602

22602:                                            ; preds = %22601
  br label %22603

22603:                                            ; preds = %22602
  %22604 = load i32, ptr @test_count, align 4, !tbaa !5
  %22605 = add nsw i32 %22604, 1
  store i32 %22605, ptr @test_count, align 4, !tbaa !5
  %22606 = load ptr, ptr %549, align 8, !tbaa !9
  %22607 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %22606)
  %22608 = getelementptr inbounds %struct.s2n_result, ptr %551, i32 0, i32 0
  store i32 %22607, ptr %22608, align 4
  %22609 = getelementptr inbounds %struct.s2n_result, ptr %551, i32 0, i32 0
  %22610 = load i32, ptr %22609, align 4
  %22611 = call zeroext i1 @s2n_result_is_ok(i32 %22610)
  br i1 %22611, label %22665, label %22612

22612:                                            ; preds = %22603
  br label %22613

22613:                                            ; preds = %22612
  br label %22614

22614:                                            ; preds = %22613
  call void @llvm.lifetime.start.p0(i64 4, ptr %552) #11
  %22615 = call ptr @__errno_location() #12
  %22616 = load i32, ptr %22615, align 4, !tbaa !5
  store i32 %22616, ptr %552, align 4, !tbaa !5
  %22617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22618 = call i32 @s2n_print_stacktrace(ptr noundef %22617)
  %22619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22620 = trunc i8 %22619 to i1
  br i1 %22620, label %22621, label %22643

22621:                                            ; preds = %22614
  %22622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22623 = call i32 @fileno(ptr noundef %22622) #11
  %22624 = call i32 @isatty(i32 noundef %22623) #11
  %22625 = icmp ne i32 %22624, 0
  br i1 %22625, label %22626, label %22643

22626:                                            ; preds = %22621
  %22627 = load i32, ptr %552, align 4, !tbaa !5
  %22628 = call ptr @__errno_location() #12
  store i32 %22627, ptr %22628, align 4, !tbaa !5
  %22629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22630 = load i32, ptr @test_count, align 4, !tbaa !5
  %22631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22632 = load i32, ptr %22631, align 4, !tbaa !5
  %22633 = call ptr @s2n_strerror(i32 noundef %22632, ptr noundef @.str.25)
  %22634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22635 = load i32, ptr %22634, align 4, !tbaa !5
  %22636 = call ptr @s2n_strerror_debug(i32 noundef %22635, ptr noundef @.str.25)
  %22637 = call ptr @__errno_location() #12
  %22638 = load i32, ptr %22637, align 4, !tbaa !5
  %22639 = call ptr @strerror(i32 noundef %22638) #11
  %22640 = call ptr @__errno_location() #12
  %22641 = load i32, ptr %22640, align 4, !tbaa !5
  %22642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22629, ptr noundef @.str.23, i32 noundef %22630, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1095, ptr noundef %22633, ptr noundef %22636, ptr noundef %22639, i32 noundef %22641) #11
  br label %22660

22643:                                            ; preds = %22621, %22614
  %22644 = load i32, ptr %552, align 4, !tbaa !5
  %22645 = call ptr @__errno_location() #12
  store i32 %22644, ptr %22645, align 4, !tbaa !5
  %22646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22647 = load i32, ptr @test_count, align 4, !tbaa !5
  %22648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22649 = load i32, ptr %22648, align 4, !tbaa !5
  %22650 = call ptr @s2n_strerror(i32 noundef %22649, ptr noundef @.str.25)
  %22651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22652 = load i32, ptr %22651, align 4, !tbaa !5
  %22653 = call ptr @s2n_strerror_debug(i32 noundef %22652, ptr noundef @.str.25)
  %22654 = call ptr @__errno_location() #12
  %22655 = load i32, ptr %22654, align 4, !tbaa !5
  %22656 = call ptr @strerror(i32 noundef %22655) #11
  %22657 = call ptr @__errno_location() #12
  %22658 = load i32, ptr %22657, align 4, !tbaa !5
  %22659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22646, ptr noundef @.str.26, i32 noundef %22647, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1095, ptr noundef %22650, ptr noundef %22653, ptr noundef %22656, i32 noundef %22658) #11
  br label %22660

22660:                                            ; preds = %22643, %22626
  call void @llvm.lifetime.end.p0(i64 4, ptr %552) #11
  br label %22661

22661:                                            ; preds = %22660
  br label %22662

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

22663:                                            ; No predecessors!
  br label %22664

22664:                                            ; preds = %22663
  br label %22665

22665:                                            ; preds = %22664, %22603
  br label %22666

22666:                                            ; preds = %22665
  br label %22667

22667:                                            ; preds = %22666
  call void @llvm.lifetime.start.p0(i64 8, ptr %553) #11
  %22668 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %22668, ptr %553, align 8, !tbaa !9
  br label %22669

22669:                                            ; preds = %22667
  %22670 = load i32, ptr @test_count, align 4, !tbaa !5
  %22671 = add nsw i32 %22670, 1
  store i32 %22671, ptr @test_count, align 4, !tbaa !5
  %22672 = load ptr, ptr %553, align 8, !tbaa !9
  %22673 = icmp eq ptr %22672, null
  br i1 %22673, label %22674, label %22727

22674:                                            ; preds = %22669
  br label %22675

22675:                                            ; preds = %22674
  br label %22676

22676:                                            ; preds = %22675
  call void @llvm.lifetime.start.p0(i64 4, ptr %554) #11
  %22677 = call ptr @__errno_location() #12
  %22678 = load i32, ptr %22677, align 4, !tbaa !5
  store i32 %22678, ptr %554, align 4, !tbaa !5
  %22679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22680 = call i32 @s2n_print_stacktrace(ptr noundef %22679)
  %22681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22682 = trunc i8 %22681 to i1
  br i1 %22682, label %22683, label %22705

22683:                                            ; preds = %22676
  %22684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22685 = call i32 @fileno(ptr noundef %22684) #11
  %22686 = call i32 @isatty(i32 noundef %22685) #11
  %22687 = icmp ne i32 %22686, 0
  br i1 %22687, label %22688, label %22705

22688:                                            ; preds = %22683
  %22689 = load i32, ptr %554, align 4, !tbaa !5
  %22690 = call ptr @__errno_location() #12
  store i32 %22689, ptr %22690, align 4, !tbaa !5
  %22691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22692 = load i32, ptr @test_count, align 4, !tbaa !5
  %22693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22694 = load i32, ptr %22693, align 4, !tbaa !5
  %22695 = call ptr @s2n_strerror(i32 noundef %22694, ptr noundef @.str.25)
  %22696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22697 = load i32, ptr %22696, align 4, !tbaa !5
  %22698 = call ptr @s2n_strerror_debug(i32 noundef %22697, ptr noundef @.str.25)
  %22699 = call ptr @__errno_location() #12
  %22700 = load i32, ptr %22699, align 4, !tbaa !5
  %22701 = call ptr @strerror(i32 noundef %22700) #11
  %22702 = call ptr @__errno_location() #12
  %22703 = load i32, ptr %22702, align 4, !tbaa !5
  %22704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22691, ptr noundef @.str.23, i32 noundef %22692, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1099, ptr noundef %22695, ptr noundef %22698, ptr noundef %22701, i32 noundef %22703) #11
  br label %22722

22705:                                            ; preds = %22683, %22676
  %22706 = load i32, ptr %554, align 4, !tbaa !5
  %22707 = call ptr @__errno_location() #12
  store i32 %22706, ptr %22707, align 4, !tbaa !5
  %22708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22709 = load i32, ptr @test_count, align 4, !tbaa !5
  %22710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22711 = load i32, ptr %22710, align 4, !tbaa !5
  %22712 = call ptr @s2n_strerror(i32 noundef %22711, ptr noundef @.str.25)
  %22713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22714 = load i32, ptr %22713, align 4, !tbaa !5
  %22715 = call ptr @s2n_strerror_debug(i32 noundef %22714, ptr noundef @.str.25)
  %22716 = call ptr @__errno_location() #12
  %22717 = load i32, ptr %22716, align 4, !tbaa !5
  %22718 = call ptr @strerror(i32 noundef %22717) #11
  %22719 = call ptr @__errno_location() #12
  %22720 = load i32, ptr %22719, align 4, !tbaa !5
  %22721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22708, ptr noundef @.str.26, i32 noundef %22709, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1099, ptr noundef %22712, ptr noundef %22715, ptr noundef %22718, i32 noundef %22720) #11
  br label %22722

22722:                                            ; preds = %22705, %22688
  call void @llvm.lifetime.end.p0(i64 4, ptr %554) #11
  br label %22723

22723:                                            ; preds = %22722
  br label %22724

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

22725:                                            ; No predecessors!
  br label %22726

22726:                                            ; preds = %22725
  br label %22727

22727:                                            ; preds = %22726, %22669
  br label %22728

22728:                                            ; preds = %22727
  br label %22729

22729:                                            ; preds = %22728
  br label %22730

22730:                                            ; preds = %22729
  %22731 = load i32, ptr @test_count, align 4, !tbaa !5
  %22732 = add nsw i32 %22731, 1
  store i32 %22732, ptr @test_count, align 4, !tbaa !5
  %22733 = load ptr, ptr %553, align 8, !tbaa !9
  %22734 = load ptr, ptr %549, align 8, !tbaa !9
  %22735 = call i32 @s2n_connection_set_config(ptr noundef %22733, ptr noundef %22734)
  %22736 = icmp eq i32 %22735, -1
  br i1 %22736, label %22737, label %22790

22737:                                            ; preds = %22730
  br label %22738

22738:                                            ; preds = %22737
  br label %22739

22739:                                            ; preds = %22738
  call void @llvm.lifetime.start.p0(i64 4, ptr %555) #11
  %22740 = call ptr @__errno_location() #12
  %22741 = load i32, ptr %22740, align 4, !tbaa !5
  store i32 %22741, ptr %555, align 4, !tbaa !5
  %22742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22743 = call i32 @s2n_print_stacktrace(ptr noundef %22742)
  %22744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22745 = trunc i8 %22744 to i1
  br i1 %22745, label %22746, label %22768

22746:                                            ; preds = %22739
  %22747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22748 = call i32 @fileno(ptr noundef %22747) #11
  %22749 = call i32 @isatty(i32 noundef %22748) #11
  %22750 = icmp ne i32 %22749, 0
  br i1 %22750, label %22751, label %22768

22751:                                            ; preds = %22746
  %22752 = load i32, ptr %555, align 4, !tbaa !5
  %22753 = call ptr @__errno_location() #12
  store i32 %22752, ptr %22753, align 4, !tbaa !5
  %22754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22755 = load i32, ptr @test_count, align 4, !tbaa !5
  %22756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22757 = load i32, ptr %22756, align 4, !tbaa !5
  %22758 = call ptr @s2n_strerror(i32 noundef %22757, ptr noundef @.str.25)
  %22759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22760 = load i32, ptr %22759, align 4, !tbaa !5
  %22761 = call ptr @s2n_strerror_debug(i32 noundef %22760, ptr noundef @.str.25)
  %22762 = call ptr @__errno_location() #12
  %22763 = load i32, ptr %22762, align 4, !tbaa !5
  %22764 = call ptr @strerror(i32 noundef %22763) #11
  %22765 = call ptr @__errno_location() #12
  %22766 = load i32, ptr %22765, align 4, !tbaa !5
  %22767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22754, ptr noundef @.str.23, i32 noundef %22755, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1100, ptr noundef %22758, ptr noundef %22761, ptr noundef %22764, i32 noundef %22766) #11
  br label %22785

22768:                                            ; preds = %22746, %22739
  %22769 = load i32, ptr %555, align 4, !tbaa !5
  %22770 = call ptr @__errno_location() #12
  store i32 %22769, ptr %22770, align 4, !tbaa !5
  %22771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22772 = load i32, ptr @test_count, align 4, !tbaa !5
  %22773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22774 = load i32, ptr %22773, align 4, !tbaa !5
  %22775 = call ptr @s2n_strerror(i32 noundef %22774, ptr noundef @.str.25)
  %22776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22777 = load i32, ptr %22776, align 4, !tbaa !5
  %22778 = call ptr @s2n_strerror_debug(i32 noundef %22777, ptr noundef @.str.25)
  %22779 = call ptr @__errno_location() #12
  %22780 = load i32, ptr %22779, align 4, !tbaa !5
  %22781 = call ptr @strerror(i32 noundef %22780) #11
  %22782 = call ptr @__errno_location() #12
  %22783 = load i32, ptr %22782, align 4, !tbaa !5
  %22784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22771, ptr noundef @.str.26, i32 noundef %22772, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1100, ptr noundef %22775, ptr noundef %22778, ptr noundef %22781, i32 noundef %22783) #11
  br label %22785

22785:                                            ; preds = %22768, %22751
  call void @llvm.lifetime.end.p0(i64 4, ptr %555) #11
  br label %22786

22786:                                            ; preds = %22785
  br label %22787

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

22788:                                            ; No predecessors!
  br label %22789

22789:                                            ; preds = %22788
  br label %22790

22790:                                            ; preds = %22789, %22730
  br label %22791

22791:                                            ; preds = %22790
  br label %22792

22792:                                            ; preds = %22791
  %22793 = load ptr, ptr %553, align 8, !tbaa !9
  %22794 = getelementptr inbounds %struct.s2n_connection, ptr %22793, i32 0, i32 27
  %22795 = load ptr, ptr %22794, align 8, !tbaa !43
  %22796 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %22795, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %22796, align 8, !tbaa !44
  %22797 = load ptr, ptr %553, align 8, !tbaa !9
  %22798 = getelementptr inbounds %struct.s2n_connection, ptr %22797, i32 0, i32 87
  store i16 1, ptr %22798, align 4, !tbaa !81
  %22799 = load ptr, ptr %553, align 8, !tbaa !9
  %22800 = getelementptr inbounds %struct.s2n_connection, ptr %22799, i32 0, i32 23
  store i8 34, ptr %22800, align 4, !tbaa !17
  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 %22801

22801:                                            ; preds = %22792
  %22802 = load i32, ptr @test_count, align 4, !tbaa !5
  %22803 = add nsw i32 %22802, 1
  store i32 %22803, ptr @test_count, align 4, !tbaa !5
  %22804 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %556, i32 noundef 0)
  %22805 = icmp eq i32 %22804, -1
  br i1 %22805, label %22806, label %22859

22806:                                            ; preds = %22801
  br label %22807

22807:                                            ; preds = %22806
  br label %22808

22808:                                            ; preds = %22807
  call void @llvm.lifetime.start.p0(i64 4, ptr %557) #11
  %22809 = call ptr @__errno_location() #12
  %22810 = load i32, ptr %22809, align 4, !tbaa !5
  store i32 %22810, ptr %557, align 4, !tbaa !5
  %22811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22812 = call i32 @s2n_print_stacktrace(ptr noundef %22811)
  %22813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22814 = trunc i8 %22813 to i1
  br i1 %22814, label %22815, label %22837

22815:                                            ; preds = %22808
  %22816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22817 = call i32 @fileno(ptr noundef %22816) #11
  %22818 = call i32 @isatty(i32 noundef %22817) #11
  %22819 = icmp ne i32 %22818, 0
  br i1 %22819, label %22820, label %22837

22820:                                            ; preds = %22815
  %22821 = load i32, ptr %557, align 4, !tbaa !5
  %22822 = call ptr @__errno_location() #12
  store i32 %22821, ptr %22822, align 4, !tbaa !5
  %22823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22824 = load i32, ptr @test_count, align 4, !tbaa !5
  %22825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22826 = load i32, ptr %22825, align 4, !tbaa !5
  %22827 = call ptr @s2n_strerror(i32 noundef %22826, ptr noundef @.str.25)
  %22828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22829 = load i32, ptr %22828, align 4, !tbaa !5
  %22830 = call ptr @s2n_strerror_debug(i32 noundef %22829, ptr noundef @.str.25)
  %22831 = call ptr @__errno_location() #12
  %22832 = load i32, ptr %22831, align 4, !tbaa !5
  %22833 = call ptr @strerror(i32 noundef %22832) #11
  %22834 = call ptr @__errno_location() #12
  %22835 = load i32, ptr %22834, align 4, !tbaa !5
  %22836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22823, ptr noundef @.str.23, i32 noundef %22824, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1106, ptr noundef %22827, ptr noundef %22830, ptr noundef %22833, i32 noundef %22835) #11
  br label %22854

22837:                                            ; preds = %22815, %22808
  %22838 = load i32, ptr %557, align 4, !tbaa !5
  %22839 = call ptr @__errno_location() #12
  store i32 %22838, ptr %22839, align 4, !tbaa !5
  %22840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22841 = load i32, ptr @test_count, align 4, !tbaa !5
  %22842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22843 = load i32, ptr %22842, align 4, !tbaa !5
  %22844 = call ptr @s2n_strerror(i32 noundef %22843, ptr noundef @.str.25)
  %22845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22846 = load i32, ptr %22845, align 4, !tbaa !5
  %22847 = call ptr @s2n_strerror_debug(i32 noundef %22846, ptr noundef @.str.25)
  %22848 = call ptr @__errno_location() #12
  %22849 = load i32, ptr %22848, align 4, !tbaa !5
  %22850 = call ptr @strerror(i32 noundef %22849) #11
  %22851 = call ptr @__errno_location() #12
  %22852 = load i32, ptr %22851, align 4, !tbaa !5
  %22853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22840, ptr noundef @.str.26, i32 noundef %22841, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1106, ptr noundef %22844, ptr noundef %22847, ptr noundef %22850, i32 noundef %22852) #11
  br label %22854

22854:                                            ; preds = %22837, %22820
  call void @llvm.lifetime.end.p0(i64 4, ptr %557) #11
  br label %22855

22855:                                            ; preds = %22854
  br label %22856

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

22857:                                            ; No predecessors!
  br label %22858

22858:                                            ; preds = %22857
  br label %22859

22859:                                            ; preds = %22858, %22801
  br label %22860

22860:                                            ; preds = %22859
  br label %22861

22861:                                            ; preds = %22860
  br label %22862

22862:                                            ; preds = %22861
  %22863 = load i32, ptr @test_count, align 4, !tbaa !5
  %22864 = add nsw i32 %22863, 1
  store i32 %22864, ptr @test_count, align 4, !tbaa !5
  %22865 = load ptr, ptr %553, align 8, !tbaa !9
  %22866 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %556, ptr noundef %556, ptr noundef %22865)
  %22867 = icmp eq i32 %22866, -1
  br i1 %22867, label %22868, label %22921

22868:                                            ; preds = %22862
  br label %22869

22869:                                            ; preds = %22868
  br label %22870

22870:                                            ; preds = %22869
  call void @llvm.lifetime.start.p0(i64 4, ptr %558) #11
  %22871 = call ptr @__errno_location() #12
  %22872 = load i32, ptr %22871, align 4, !tbaa !5
  store i32 %22872, ptr %558, align 4, !tbaa !5
  %22873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22874 = call i32 @s2n_print_stacktrace(ptr noundef %22873)
  %22875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22876 = trunc i8 %22875 to i1
  br i1 %22876, label %22877, label %22899

22877:                                            ; preds = %22870
  %22878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22879 = call i32 @fileno(ptr noundef %22878) #11
  %22880 = call i32 @isatty(i32 noundef %22879) #11
  %22881 = icmp ne i32 %22880, 0
  br i1 %22881, label %22882, label %22899

22882:                                            ; preds = %22877
  %22883 = load i32, ptr %558, align 4, !tbaa !5
  %22884 = call ptr @__errno_location() #12
  store i32 %22883, ptr %22884, align 4, !tbaa !5
  %22885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22886 = load i32, ptr @test_count, align 4, !tbaa !5
  %22887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22888 = load i32, ptr %22887, align 4, !tbaa !5
  %22889 = call ptr @s2n_strerror(i32 noundef %22888, ptr noundef @.str.25)
  %22890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22891 = load i32, ptr %22890, align 4, !tbaa !5
  %22892 = call ptr @s2n_strerror_debug(i32 noundef %22891, ptr noundef @.str.25)
  %22893 = call ptr @__errno_location() #12
  %22894 = load i32, ptr %22893, align 4, !tbaa !5
  %22895 = call ptr @strerror(i32 noundef %22894) #11
  %22896 = call ptr @__errno_location() #12
  %22897 = load i32, ptr %22896, align 4, !tbaa !5
  %22898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22885, ptr noundef @.str.23, i32 noundef %22886, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1107, ptr noundef %22889, ptr noundef %22892, ptr noundef %22895, i32 noundef %22897) #11
  br label %22916

22899:                                            ; preds = %22877, %22870
  %22900 = load i32, ptr %558, align 4, !tbaa !5
  %22901 = call ptr @__errno_location() #12
  store i32 %22900, ptr %22901, align 4, !tbaa !5
  %22902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22903 = load i32, ptr @test_count, align 4, !tbaa !5
  %22904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22905 = load i32, ptr %22904, align 4, !tbaa !5
  %22906 = call ptr @s2n_strerror(i32 noundef %22905, ptr noundef @.str.25)
  %22907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22908 = load i32, ptr %22907, align 4, !tbaa !5
  %22909 = call ptr @s2n_strerror_debug(i32 noundef %22908, ptr noundef @.str.25)
  %22910 = call ptr @__errno_location() #12
  %22911 = load i32, ptr %22910, align 4, !tbaa !5
  %22912 = call ptr @strerror(i32 noundef %22911) #11
  %22913 = call ptr @__errno_location() #12
  %22914 = load i32, ptr %22913, align 4, !tbaa !5
  %22915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22902, ptr noundef @.str.26, i32 noundef %22903, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1107, ptr noundef %22906, ptr noundef %22909, ptr noundef %22912, i32 noundef %22914) #11
  br label %22916

22916:                                            ; preds = %22899, %22882
  call void @llvm.lifetime.end.p0(i64 4, ptr %558) #11
  br label %22917

22917:                                            ; preds = %22916
  br label %22918

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

22919:                                            ; No predecessors!
  br label %22920

22920:                                            ; preds = %22919
  br label %22921

22921:                                            ; preds = %22920, %22862
  br label %22922

22922:                                            ; preds = %22921
  br label %22923

22923:                                            ; preds = %22922
  call void @llvm.lifetime.start.p0(i64 4, ptr %559) #11
  store i32 0, ptr %559, align 4, !tbaa !5
  %22924 = load ptr, ptr %553, align 8, !tbaa !9
  %22925 = load i32, ptr %22924, align 8
  %22926 = and i32 %22925, -5
  %22927 = or i32 %22926, 4
  store i32 %22927, ptr %22924, align 8
  br label %22928

22928:                                            ; preds = %22923
  %22929 = load i32, ptr @test_count, align 4, !tbaa !5
  %22930 = add nsw i32 %22929, 1
  store i32 %22930, ptr @test_count, align 4, !tbaa !5
  %22931 = load ptr, ptr %553, align 8, !tbaa !9
  %22932 = call i32 @s2n_tls13_server_nst_send(ptr noundef %22931, ptr noundef %559)
  %22933 = getelementptr inbounds %struct.s2n_result, ptr %560, i32 0, i32 0
  store i32 %22932, ptr %22933, align 4
  %22934 = getelementptr inbounds %struct.s2n_result, ptr %560, i32 0, i32 0
  %22935 = load i32, ptr %22934, align 4
  %22936 = call zeroext i1 @s2n_result_is_ok(i32 %22935)
  br i1 %22936, label %22990, label %22937

22937:                                            ; preds = %22928
  br label %22938

22938:                                            ; preds = %22937
  br label %22939

22939:                                            ; preds = %22938
  call void @llvm.lifetime.start.p0(i64 4, ptr %561) #11
  %22940 = call ptr @__errno_location() #12
  %22941 = load i32, ptr %22940, align 4, !tbaa !5
  store i32 %22941, ptr %561, align 4, !tbaa !5
  %22942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22943 = call i32 @s2n_print_stacktrace(ptr noundef %22942)
  %22944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22945 = trunc i8 %22944 to i1
  br i1 %22945, label %22946, label %22968

22946:                                            ; preds = %22939
  %22947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22948 = call i32 @fileno(ptr noundef %22947) #11
  %22949 = call i32 @isatty(i32 noundef %22948) #11
  %22950 = icmp ne i32 %22949, 0
  br i1 %22950, label %22951, label %22968

22951:                                            ; preds = %22946
  %22952 = load i32, ptr %561, align 4, !tbaa !5
  %22953 = call ptr @__errno_location() #12
  store i32 %22952, ptr %22953, align 4, !tbaa !5
  %22954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22955 = load i32, ptr @test_count, align 4, !tbaa !5
  %22956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22957 = load i32, ptr %22956, align 4, !tbaa !5
  %22958 = call ptr @s2n_strerror(i32 noundef %22957, ptr noundef @.str.25)
  %22959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22960 = load i32, ptr %22959, align 4, !tbaa !5
  %22961 = call ptr @s2n_strerror_debug(i32 noundef %22960, ptr noundef @.str.25)
  %22962 = call ptr @__errno_location() #12
  %22963 = load i32, ptr %22962, align 4, !tbaa !5
  %22964 = call ptr @strerror(i32 noundef %22963) #11
  %22965 = call ptr @__errno_location() #12
  %22966 = load i32, ptr %22965, align 4, !tbaa !5
  %22967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22954, ptr noundef @.str.23, i32 noundef %22955, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1113, ptr noundef %22958, ptr noundef %22961, ptr noundef %22964, i32 noundef %22966) #11
  br label %22985

22968:                                            ; preds = %22946, %22939
  %22969 = load i32, ptr %561, align 4, !tbaa !5
  %22970 = call ptr @__errno_location() #12
  store i32 %22969, ptr %22970, align 4, !tbaa !5
  %22971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22972 = load i32, ptr @test_count, align 4, !tbaa !5
  %22973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22974 = load i32, ptr %22973, align 4, !tbaa !5
  %22975 = call ptr @s2n_strerror(i32 noundef %22974, ptr noundef @.str.25)
  %22976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22977 = load i32, ptr %22976, align 4, !tbaa !5
  %22978 = call ptr @s2n_strerror_debug(i32 noundef %22977, ptr noundef @.str.25)
  %22979 = call ptr @__errno_location() #12
  %22980 = load i32, ptr %22979, align 4, !tbaa !5
  %22981 = call ptr @strerror(i32 noundef %22980) #11
  %22982 = call ptr @__errno_location() #12
  %22983 = load i32, ptr %22982, align 4, !tbaa !5
  %22984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22971, ptr noundef @.str.26, i32 noundef %22972, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1113, ptr noundef %22975, ptr noundef %22978, ptr noundef %22981, i32 noundef %22983) #11
  br label %22985

22985:                                            ; preds = %22968, %22951
  call void @llvm.lifetime.end.p0(i64 4, ptr %561) #11
  br label %22986

22986:                                            ; preds = %22985
  br label %22987

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

22988:                                            ; No predecessors!
  br label %22989

22989:                                            ; preds = %22988
  br label %22990

22990:                                            ; preds = %22989, %22928
  br label %22991

22991:                                            ; preds = %22990
  br label %22992

22992:                                            ; preds = %22991
  br label %22993

22993:                                            ; preds = %22992
  %22994 = load i32, ptr @test_count, align 4, !tbaa !5
  %22995 = add nsw i32 %22994, 1
  store i32 %22995, ptr @test_count, align 4, !tbaa !5
  %22996 = load ptr, ptr %553, align 8, !tbaa !9
  %22997 = call i32 @s2n_assert_tickets_sent(ptr noundef %22996, i16 noundef zeroext 0)
  %22998 = getelementptr inbounds %struct.s2n_result, ptr %562, i32 0, i32 0
  store i32 %22997, ptr %22998, align 4
  %22999 = getelementptr inbounds %struct.s2n_result, ptr %562, i32 0, i32 0
  %23000 = load i32, ptr %22999, align 4
  %23001 = call zeroext i1 @s2n_result_is_ok(i32 %23000)
  br i1 %23001, label %23055, label %23002

23002:                                            ; preds = %22993
  br label %23003

23003:                                            ; preds = %23002
  br label %23004

23004:                                            ; preds = %23003
  call void @llvm.lifetime.start.p0(i64 4, ptr %563) #11
  %23005 = call ptr @__errno_location() #12
  %23006 = load i32, ptr %23005, align 4, !tbaa !5
  store i32 %23006, ptr %563, align 4, !tbaa !5
  %23007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23008 = call i32 @s2n_print_stacktrace(ptr noundef %23007)
  %23009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23010 = trunc i8 %23009 to i1
  br i1 %23010, label %23011, label %23033

23011:                                            ; preds = %23004
  %23012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23013 = call i32 @fileno(ptr noundef %23012) #11
  %23014 = call i32 @isatty(i32 noundef %23013) #11
  %23015 = icmp ne i32 %23014, 0
  br i1 %23015, label %23016, label %23033

23016:                                            ; preds = %23011
  %23017 = load i32, ptr %563, align 4, !tbaa !5
  %23018 = call ptr @__errno_location() #12
  store i32 %23017, ptr %23018, align 4, !tbaa !5
  %23019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23020 = load i32, ptr @test_count, align 4, !tbaa !5
  %23021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23022 = load i32, ptr %23021, align 4, !tbaa !5
  %23023 = call ptr @s2n_strerror(i32 noundef %23022, ptr noundef @.str.25)
  %23024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23025 = load i32, ptr %23024, align 4, !tbaa !5
  %23026 = call ptr @s2n_strerror_debug(i32 noundef %23025, ptr noundef @.str.25)
  %23027 = call ptr @__errno_location() #12
  %23028 = load i32, ptr %23027, align 4, !tbaa !5
  %23029 = call ptr @strerror(i32 noundef %23028) #11
  %23030 = call ptr @__errno_location() #12
  %23031 = load i32, ptr %23030, align 4, !tbaa !5
  %23032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23019, ptr noundef @.str.23, i32 noundef %23020, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 1114, ptr noundef %23023, ptr noundef %23026, ptr noundef %23029, i32 noundef %23031) #11
  br label %23050

23033:                                            ; preds = %23011, %23004
  %23034 = load i32, ptr %563, align 4, !tbaa !5
  %23035 = call ptr @__errno_location() #12
  store i32 %23034, ptr %23035, align 4, !tbaa !5
  %23036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23037 = load i32, ptr @test_count, align 4, !tbaa !5
  %23038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23039 = load i32, ptr %23038, align 4, !tbaa !5
  %23040 = call ptr @s2n_strerror(i32 noundef %23039, ptr noundef @.str.25)
  %23041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23042 = load i32, ptr %23041, align 4, !tbaa !5
  %23043 = call ptr @s2n_strerror_debug(i32 noundef %23042, ptr noundef @.str.25)
  %23044 = call ptr @__errno_location() #12
  %23045 = load i32, ptr %23044, align 4, !tbaa !5
  %23046 = call ptr @strerror(i32 noundef %23045) #11
  %23047 = call ptr @__errno_location() #12
  %23048 = load i32, ptr %23047, align 4, !tbaa !5
  %23049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23036, ptr noundef @.str.26, i32 noundef %23037, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 1114, ptr noundef %23040, ptr noundef %23043, ptr noundef %23046, i32 noundef %23048) #11
  br label %23050

23050:                                            ; preds = %23033, %23016
  call void @llvm.lifetime.end.p0(i64 4, ptr %563) #11
  br label %23051

23051:                                            ; preds = %23050
  br label %23052

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

23053:                                            ; No predecessors!
  br label %23054

23054:                                            ; preds = %23053
  br label %23055

23055:                                            ; preds = %23054, %22993
  br label %23056

23056:                                            ; preds = %23055
  br label %23057

23057:                                            ; preds = %23056
  %23058 = load ptr, ptr %553, align 8, !tbaa !9
  %23059 = getelementptr inbounds %struct.s2n_connection, ptr %23058, i32 0, i32 33
  %23060 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %23059, i32 0, i32 5
  store i32 2, ptr %23060, align 8, !tbaa !83
  br label %23061

23061:                                            ; preds = %23057
  %23062 = load i32, ptr @test_count, align 4, !tbaa !5
  %23063 = add nsw i32 %23062, 1
  store i32 %23063, ptr @test_count, align 4, !tbaa !5
  %23064 = load ptr, ptr %553, align 8, !tbaa !9
  %23065 = call i32 @s2n_tls13_server_nst_send(ptr noundef %23064, ptr noundef %559)
  %23066 = getelementptr inbounds %struct.s2n_result, ptr %564, i32 0, i32 0
  store i32 %23065, ptr %23066, align 4
  %23067 = getelementptr inbounds %struct.s2n_result, ptr %564, i32 0, i32 0
  %23068 = load i32, ptr %23067, align 4
  %23069 = call zeroext i1 @s2n_result_is_ok(i32 %23068)
  br i1 %23069, label %23123, label %23070

23070:                                            ; preds = %23061
  br label %23071

23071:                                            ; preds = %23070
  br label %23072

23072:                                            ; preds = %23071
  call void @llvm.lifetime.start.p0(i64 4, ptr %565) #11
  %23073 = call ptr @__errno_location() #12
  %23074 = load i32, ptr %23073, align 4, !tbaa !5
  store i32 %23074, ptr %565, align 4, !tbaa !5
  %23075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23076 = call i32 @s2n_print_stacktrace(ptr noundef %23075)
  %23077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23078 = trunc i8 %23077 to i1
  br i1 %23078, label %23079, label %23101

23079:                                            ; preds = %23072
  %23080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23081 = call i32 @fileno(ptr noundef %23080) #11
  %23082 = call i32 @isatty(i32 noundef %23081) #11
  %23083 = icmp ne i32 %23082, 0
  br i1 %23083, label %23084, label %23101

23084:                                            ; preds = %23079
  %23085 = load i32, ptr %565, align 4, !tbaa !5
  %23086 = call ptr @__errno_location() #12
  store i32 %23085, ptr %23086, align 4, !tbaa !5
  %23087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23088 = load i32, ptr @test_count, align 4, !tbaa !5
  %23089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23090 = load i32, ptr %23089, align 4, !tbaa !5
  %23091 = call ptr @s2n_strerror(i32 noundef %23090, ptr noundef @.str.25)
  %23092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23093 = load i32, ptr %23092, align 4, !tbaa !5
  %23094 = call ptr @s2n_strerror_debug(i32 noundef %23093, ptr noundef @.str.25)
  %23095 = call ptr @__errno_location() #12
  %23096 = load i32, ptr %23095, align 4, !tbaa !5
  %23097 = call ptr @strerror(i32 noundef %23096) #11
  %23098 = call ptr @__errno_location() #12
  %23099 = load i32, ptr %23098, align 4, !tbaa !5
  %23100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23087, ptr noundef @.str.23, i32 noundef %23088, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1118, ptr noundef %23091, ptr noundef %23094, ptr noundef %23097, i32 noundef %23099) #11
  br label %23118

23101:                                            ; preds = %23079, %23072
  %23102 = load i32, ptr %565, align 4, !tbaa !5
  %23103 = call ptr @__errno_location() #12
  store i32 %23102, ptr %23103, align 4, !tbaa !5
  %23104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23105 = load i32, ptr @test_count, align 4, !tbaa !5
  %23106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23107 = load i32, ptr %23106, align 4, !tbaa !5
  %23108 = call ptr @s2n_strerror(i32 noundef %23107, ptr noundef @.str.25)
  %23109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23110 = load i32, ptr %23109, align 4, !tbaa !5
  %23111 = call ptr @s2n_strerror_debug(i32 noundef %23110, ptr noundef @.str.25)
  %23112 = call ptr @__errno_location() #12
  %23113 = load i32, ptr %23112, align 4, !tbaa !5
  %23114 = call ptr @strerror(i32 noundef %23113) #11
  %23115 = call ptr @__errno_location() #12
  %23116 = load i32, ptr %23115, align 4, !tbaa !5
  %23117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23104, ptr noundef @.str.26, i32 noundef %23105, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1118, ptr noundef %23108, ptr noundef %23111, ptr noundef %23114, i32 noundef %23116) #11
  br label %23118

23118:                                            ; preds = %23101, %23084
  call void @llvm.lifetime.end.p0(i64 4, ptr %565) #11
  br label %23119

23119:                                            ; preds = %23118
  br label %23120

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

23121:                                            ; No predecessors!
  br label %23122

23122:                                            ; preds = %23121
  br label %23123

23123:                                            ; preds = %23122, %23061
  br label %23124

23124:                                            ; preds = %23123
  br label %23125

23125:                                            ; preds = %23124
  br label %23126

23126:                                            ; preds = %23125
  %23127 = load i32, ptr @test_count, align 4, !tbaa !5
  %23128 = add nsw i32 %23127, 1
  store i32 %23128, ptr @test_count, align 4, !tbaa !5
  %23129 = load ptr, ptr %553, align 8, !tbaa !9
  %23130 = call i32 @s2n_assert_tickets_sent(ptr noundef %23129, i16 noundef zeroext 1)
  %23131 = getelementptr inbounds %struct.s2n_result, ptr %566, i32 0, i32 0
  store i32 %23130, ptr %23131, align 4
  %23132 = getelementptr inbounds %struct.s2n_result, ptr %566, i32 0, i32 0
  %23133 = load i32, ptr %23132, align 4
  %23134 = call zeroext i1 @s2n_result_is_ok(i32 %23133)
  br i1 %23134, label %23188, label %23135

23135:                                            ; preds = %23126
  br label %23136

23136:                                            ; preds = %23135
  br label %23137

23137:                                            ; preds = %23136
  call void @llvm.lifetime.start.p0(i64 4, ptr %567) #11
  %23138 = call ptr @__errno_location() #12
  %23139 = load i32, ptr %23138, align 4, !tbaa !5
  store i32 %23139, ptr %567, align 4, !tbaa !5
  %23140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23141 = call i32 @s2n_print_stacktrace(ptr noundef %23140)
  %23142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23143 = trunc i8 %23142 to i1
  br i1 %23143, label %23144, label %23166

23144:                                            ; preds = %23137
  %23145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23146 = call i32 @fileno(ptr noundef %23145) #11
  %23147 = call i32 @isatty(i32 noundef %23146) #11
  %23148 = icmp ne i32 %23147, 0
  br i1 %23148, label %23149, label %23166

23149:                                            ; preds = %23144
  %23150 = load i32, ptr %567, align 4, !tbaa !5
  %23151 = call ptr @__errno_location() #12
  store i32 %23150, ptr %23151, align 4, !tbaa !5
  %23152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23153 = load i32, ptr @test_count, align 4, !tbaa !5
  %23154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23155 = load i32, ptr %23154, align 4, !tbaa !5
  %23156 = call ptr @s2n_strerror(i32 noundef %23155, ptr noundef @.str.25)
  %23157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23158 = load i32, ptr %23157, align 4, !tbaa !5
  %23159 = call ptr @s2n_strerror_debug(i32 noundef %23158, ptr noundef @.str.25)
  %23160 = call ptr @__errno_location() #12
  %23161 = load i32, ptr %23160, align 4, !tbaa !5
  %23162 = call ptr @strerror(i32 noundef %23161) #11
  %23163 = call ptr @__errno_location() #12
  %23164 = load i32, ptr %23163, align 4, !tbaa !5
  %23165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23152, ptr noundef @.str.23, i32 noundef %23153, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 1119, ptr noundef %23156, ptr noundef %23159, ptr noundef %23162, i32 noundef %23164) #11
  br label %23183

23166:                                            ; preds = %23144, %23137
  %23167 = load i32, ptr %567, align 4, !tbaa !5
  %23168 = call ptr @__errno_location() #12
  store i32 %23167, ptr %23168, align 4, !tbaa !5
  %23169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23170 = load i32, ptr @test_count, align 4, !tbaa !5
  %23171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23172 = load i32, ptr %23171, align 4, !tbaa !5
  %23173 = call ptr @s2n_strerror(i32 noundef %23172, ptr noundef @.str.25)
  %23174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23175 = load i32, ptr %23174, align 4, !tbaa !5
  %23176 = call ptr @s2n_strerror_debug(i32 noundef %23175, ptr noundef @.str.25)
  %23177 = call ptr @__errno_location() #12
  %23178 = load i32, ptr %23177, align 4, !tbaa !5
  %23179 = call ptr @strerror(i32 noundef %23178) #11
  %23180 = call ptr @__errno_location() #12
  %23181 = load i32, ptr %23180, align 4, !tbaa !5
  %23182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23169, ptr noundef @.str.26, i32 noundef %23170, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 1119, ptr noundef %23173, ptr noundef %23176, ptr noundef %23179, i32 noundef %23181) #11
  br label %23183

23183:                                            ; preds = %23166, %23149
  call void @llvm.lifetime.end.p0(i64 4, ptr %567) #11
  br label %23184

23184:                                            ; preds = %23183
  br label %23185

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

23186:                                            ; No predecessors!
  br label %23187

23187:                                            ; preds = %23186
  br label %23188

23188:                                            ; preds = %23187, %23126
  br label %23189

23189:                                            ; preds = %23188
  br label %23190

23190:                                            ; preds = %23189
  call void @llvm.lifetime.end.p0(i64 4, ptr %559) #11
  %23191 = call i32 @s2n_stuffer_free(ptr noundef %556)
  call void @llvm.lifetime.end.p0(i64 40, ptr %556) #11
  %23192 = call i32 @s2n_connection_ptr_free(ptr noundef %553)
  %23193 = getelementptr inbounds %struct.s2n_result, ptr %568, i32 0, i32 0
  store i32 %23192, ptr %23193, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %553) #11
  %23194 = call i32 @s2n_config_ptr_free(ptr noundef %549)
  %23195 = getelementptr inbounds %struct.s2n_result, ptr %569, i32 0, i32 0
  store i32 %23194, ptr %23195, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %549) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %570) #11
  %23196 = call ptr @s2n_config_new()
  store ptr %23196, ptr %570, align 8, !tbaa !9
  br label %23197

23197:                                            ; preds = %23190
  %23198 = load i32, ptr @test_count, align 4, !tbaa !5
  %23199 = add nsw i32 %23198, 1
  store i32 %23199, ptr @test_count, align 4, !tbaa !5
  %23200 = load ptr, ptr %570, align 8, !tbaa !9
  %23201 = icmp eq ptr %23200, null
  br i1 %23201, label %23202, label %23255

23202:                                            ; preds = %23197
  br label %23203

23203:                                            ; preds = %23202
  br label %23204

23204:                                            ; preds = %23203
  call void @llvm.lifetime.start.p0(i64 4, ptr %571) #11
  %23205 = call ptr @__errno_location() #12
  %23206 = load i32, ptr %23205, align 4, !tbaa !5
  store i32 %23206, ptr %571, align 4, !tbaa !5
  %23207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23208 = call i32 @s2n_print_stacktrace(ptr noundef %23207)
  %23209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23210 = trunc i8 %23209 to i1
  br i1 %23210, label %23211, label %23233

23211:                                            ; preds = %23204
  %23212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23213 = call i32 @fileno(ptr noundef %23212) #11
  %23214 = call i32 @isatty(i32 noundef %23213) #11
  %23215 = icmp ne i32 %23214, 0
  br i1 %23215, label %23216, label %23233

23216:                                            ; preds = %23211
  %23217 = load i32, ptr %571, align 4, !tbaa !5
  %23218 = call ptr @__errno_location() #12
  store i32 %23217, ptr %23218, align 4, !tbaa !5
  %23219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23220 = load i32, ptr @test_count, align 4, !tbaa !5
  %23221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23222 = load i32, ptr %23221, align 4, !tbaa !5
  %23223 = call ptr @s2n_strerror(i32 noundef %23222, ptr noundef @.str.25)
  %23224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23225 = load i32, ptr %23224, align 4, !tbaa !5
  %23226 = call ptr @s2n_strerror_debug(i32 noundef %23225, ptr noundef @.str.25)
  %23227 = call ptr @__errno_location() #12
  %23228 = load i32, ptr %23227, align 4, !tbaa !5
  %23229 = call ptr @strerror(i32 noundef %23228) #11
  %23230 = call ptr @__errno_location() #12
  %23231 = load i32, ptr %23230, align 4, !tbaa !5
  %23232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23219, ptr noundef @.str.23, i32 noundef %23220, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1125, ptr noundef %23223, ptr noundef %23226, ptr noundef %23229, i32 noundef %23231) #11
  br label %23250

23233:                                            ; preds = %23211, %23204
  %23234 = load i32, ptr %571, align 4, !tbaa !5
  %23235 = call ptr @__errno_location() #12
  store i32 %23234, ptr %23235, align 4, !tbaa !5
  %23236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23237 = load i32, ptr @test_count, align 4, !tbaa !5
  %23238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23239 = load i32, ptr %23238, align 4, !tbaa !5
  %23240 = call ptr @s2n_strerror(i32 noundef %23239, ptr noundef @.str.25)
  %23241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23242 = load i32, ptr %23241, align 4, !tbaa !5
  %23243 = call ptr @s2n_strerror_debug(i32 noundef %23242, ptr noundef @.str.25)
  %23244 = call ptr @__errno_location() #12
  %23245 = load i32, ptr %23244, align 4, !tbaa !5
  %23246 = call ptr @strerror(i32 noundef %23245) #11
  %23247 = call ptr @__errno_location() #12
  %23248 = load i32, ptr %23247, align 4, !tbaa !5
  %23249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23236, ptr noundef @.str.26, i32 noundef %23237, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1125, ptr noundef %23240, ptr noundef %23243, ptr noundef %23246, i32 noundef %23248) #11
  br label %23250

23250:                                            ; preds = %23233, %23216
  call void @llvm.lifetime.end.p0(i64 4, ptr %571) #11
  br label %23251

23251:                                            ; preds = %23250
  br label %23252

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

23253:                                            ; No predecessors!
  br label %23254

23254:                                            ; preds = %23253
  br label %23255

23255:                                            ; preds = %23254, %23197
  br label %23256

23256:                                            ; preds = %23255
  br label %23257

23257:                                            ; preds = %23256
  call void @llvm.lifetime.start.p0(i64 8, ptr %572) #11
  %23258 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %23258, ptr %572, align 8, !tbaa !9
  br label %23259

23259:                                            ; preds = %23257
  %23260 = load i32, ptr @test_count, align 4, !tbaa !5
  %23261 = add nsw i32 %23260, 1
  store i32 %23261, ptr @test_count, align 4, !tbaa !5
  %23262 = load ptr, ptr %572, align 8, !tbaa !9
  %23263 = icmp eq ptr %23262, null
  br i1 %23263, label %23264, label %23317

23264:                                            ; preds = %23259
  br label %23265

23265:                                            ; preds = %23264
  br label %23266

23266:                                            ; preds = %23265
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #11
  %23267 = call ptr @__errno_location() #12
  %23268 = load i32, ptr %23267, align 4, !tbaa !5
  store i32 %23268, ptr %573, align 4, !tbaa !5
  %23269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23270 = call i32 @s2n_print_stacktrace(ptr noundef %23269)
  %23271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23272 = trunc i8 %23271 to i1
  br i1 %23272, label %23273, label %23295

23273:                                            ; preds = %23266
  %23274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23275 = call i32 @fileno(ptr noundef %23274) #11
  %23276 = call i32 @isatty(i32 noundef %23275) #11
  %23277 = icmp ne i32 %23276, 0
  br i1 %23277, label %23278, label %23295

23278:                                            ; preds = %23273
  %23279 = load i32, ptr %573, align 4, !tbaa !5
  %23280 = call ptr @__errno_location() #12
  store i32 %23279, ptr %23280, align 4, !tbaa !5
  %23281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23282 = load i32, ptr @test_count, align 4, !tbaa !5
  %23283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23284 = load i32, ptr %23283, align 4, !tbaa !5
  %23285 = call ptr @s2n_strerror(i32 noundef %23284, ptr noundef @.str.25)
  %23286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23287 = load i32, ptr %23286, align 4, !tbaa !5
  %23288 = call ptr @s2n_strerror_debug(i32 noundef %23287, ptr noundef @.str.25)
  %23289 = call ptr @__errno_location() #12
  %23290 = load i32, ptr %23289, align 4, !tbaa !5
  %23291 = call ptr @strerror(i32 noundef %23290) #11
  %23292 = call ptr @__errno_location() #12
  %23293 = load i32, ptr %23292, align 4, !tbaa !5
  %23294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23281, ptr noundef @.str.23, i32 noundef %23282, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1127, ptr noundef %23285, ptr noundef %23288, ptr noundef %23291, i32 noundef %23293) #11
  br label %23312

23295:                                            ; preds = %23273, %23266
  %23296 = load i32, ptr %573, align 4, !tbaa !5
  %23297 = call ptr @__errno_location() #12
  store i32 %23296, ptr %23297, align 4, !tbaa !5
  %23298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23299 = load i32, ptr @test_count, align 4, !tbaa !5
  %23300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23301 = load i32, ptr %23300, align 4, !tbaa !5
  %23302 = call ptr @s2n_strerror(i32 noundef %23301, ptr noundef @.str.25)
  %23303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23304 = load i32, ptr %23303, align 4, !tbaa !5
  %23305 = call ptr @s2n_strerror_debug(i32 noundef %23304, ptr noundef @.str.25)
  %23306 = call ptr @__errno_location() #12
  %23307 = load i32, ptr %23306, align 4, !tbaa !5
  %23308 = call ptr @strerror(i32 noundef %23307) #11
  %23309 = call ptr @__errno_location() #12
  %23310 = load i32, ptr %23309, align 4, !tbaa !5
  %23311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23298, ptr noundef @.str.26, i32 noundef %23299, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1127, ptr noundef %23302, ptr noundef %23305, ptr noundef %23308, i32 noundef %23310) #11
  br label %23312

23312:                                            ; preds = %23295, %23278
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #11
  br label %23313

23313:                                            ; preds = %23312
  br label %23314

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

23315:                                            ; No predecessors!
  br label %23316

23316:                                            ; preds = %23315
  br label %23317

23317:                                            ; preds = %23316, %23259
  br label %23318

23318:                                            ; preds = %23317
  br label %23319

23319:                                            ; preds = %23318
  br label %23320

23320:                                            ; preds = %23319
  %23321 = load i32, ptr @test_count, align 4, !tbaa !5
  %23322 = add nsw i32 %23321, 1
  store i32 %23322, ptr @test_count, align 4, !tbaa !5
  %23323 = load ptr, ptr %570, align 8, !tbaa !9
  %23324 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %23323)
  %23325 = getelementptr inbounds %struct.s2n_result, ptr %574, i32 0, i32 0
  store i32 %23324, ptr %23325, align 4
  %23326 = getelementptr inbounds %struct.s2n_result, ptr %574, i32 0, i32 0
  %23327 = load i32, ptr %23326, align 4
  %23328 = call zeroext i1 @s2n_result_is_ok(i32 %23327)
  br i1 %23328, label %23382, label %23329

23329:                                            ; preds = %23320
  br label %23330

23330:                                            ; preds = %23329
  br label %23331

23331:                                            ; preds = %23330
  call void @llvm.lifetime.start.p0(i64 4, ptr %575) #11
  %23332 = call ptr @__errno_location() #12
  %23333 = load i32, ptr %23332, align 4, !tbaa !5
  store i32 %23333, ptr %575, align 4, !tbaa !5
  %23334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23335 = call i32 @s2n_print_stacktrace(ptr noundef %23334)
  %23336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23337 = trunc i8 %23336 to i1
  br i1 %23337, label %23338, label %23360

23338:                                            ; preds = %23331
  %23339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23340 = call i32 @fileno(ptr noundef %23339) #11
  %23341 = call i32 @isatty(i32 noundef %23340) #11
  %23342 = icmp ne i32 %23341, 0
  br i1 %23342, label %23343, label %23360

23343:                                            ; preds = %23338
  %23344 = load i32, ptr %575, align 4, !tbaa !5
  %23345 = call ptr @__errno_location() #12
  store i32 %23344, ptr %23345, align 4, !tbaa !5
  %23346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23347 = load i32, ptr @test_count, align 4, !tbaa !5
  %23348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23349 = load i32, ptr %23348, align 4, !tbaa !5
  %23350 = call ptr @s2n_strerror(i32 noundef %23349, ptr noundef @.str.25)
  %23351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23352 = load i32, ptr %23351, align 4, !tbaa !5
  %23353 = call ptr @s2n_strerror_debug(i32 noundef %23352, ptr noundef @.str.25)
  %23354 = call ptr @__errno_location() #12
  %23355 = load i32, ptr %23354, align 4, !tbaa !5
  %23356 = call ptr @strerror(i32 noundef %23355) #11
  %23357 = call ptr @__errno_location() #12
  %23358 = load i32, ptr %23357, align 4, !tbaa !5
  %23359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23346, ptr noundef @.str.23, i32 noundef %23347, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1128, ptr noundef %23350, ptr noundef %23353, ptr noundef %23356, i32 noundef %23358) #11
  br label %23377

23360:                                            ; preds = %23338, %23331
  %23361 = load i32, ptr %575, align 4, !tbaa !5
  %23362 = call ptr @__errno_location() #12
  store i32 %23361, ptr %23362, align 4, !tbaa !5
  %23363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23364 = load i32, ptr @test_count, align 4, !tbaa !5
  %23365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23366 = load i32, ptr %23365, align 4, !tbaa !5
  %23367 = call ptr @s2n_strerror(i32 noundef %23366, ptr noundef @.str.25)
  %23368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23369 = load i32, ptr %23368, align 4, !tbaa !5
  %23370 = call ptr @s2n_strerror_debug(i32 noundef %23369, ptr noundef @.str.25)
  %23371 = call ptr @__errno_location() #12
  %23372 = load i32, ptr %23371, align 4, !tbaa !5
  %23373 = call ptr @strerror(i32 noundef %23372) #11
  %23374 = call ptr @__errno_location() #12
  %23375 = load i32, ptr %23374, align 4, !tbaa !5
  %23376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23363, ptr noundef @.str.26, i32 noundef %23364, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1128, ptr noundef %23367, ptr noundef %23370, ptr noundef %23373, i32 noundef %23375) #11
  br label %23377

23377:                                            ; preds = %23360, %23343
  call void @llvm.lifetime.end.p0(i64 4, ptr %575) #11
  br label %23378

23378:                                            ; preds = %23377
  br label %23379

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

23380:                                            ; No predecessors!
  br label %23381

23381:                                            ; preds = %23380
  br label %23382

23382:                                            ; preds = %23381, %23320
  br label %23383

23383:                                            ; preds = %23382
  br label %23384

23384:                                            ; preds = %23383
  br label %23385

23385:                                            ; preds = %23384
  %23386 = load i32, ptr @test_count, align 4, !tbaa !5
  %23387 = add nsw i32 %23386, 1
  store i32 %23387, ptr @test_count, align 4, !tbaa !5
  %23388 = load ptr, ptr %572, align 8, !tbaa !9
  %23389 = load ptr, ptr %570, align 8, !tbaa !9
  %23390 = call i32 @s2n_connection_set_config(ptr noundef %23388, ptr noundef %23389)
  %23391 = icmp eq i32 %23390, -1
  br i1 %23391, label %23392, label %23445

23392:                                            ; preds = %23385
  br label %23393

23393:                                            ; preds = %23392
  br label %23394

23394:                                            ; preds = %23393
  call void @llvm.lifetime.start.p0(i64 4, ptr %576) #11
  %23395 = call ptr @__errno_location() #12
  %23396 = load i32, ptr %23395, align 4, !tbaa !5
  store i32 %23396, ptr %576, align 4, !tbaa !5
  %23397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23398 = call i32 @s2n_print_stacktrace(ptr noundef %23397)
  %23399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23400 = trunc i8 %23399 to i1
  br i1 %23400, label %23401, label %23423

23401:                                            ; preds = %23394
  %23402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23403 = call i32 @fileno(ptr noundef %23402) #11
  %23404 = call i32 @isatty(i32 noundef %23403) #11
  %23405 = icmp ne i32 %23404, 0
  br i1 %23405, label %23406, label %23423

23406:                                            ; preds = %23401
  %23407 = load i32, ptr %576, align 4, !tbaa !5
  %23408 = call ptr @__errno_location() #12
  store i32 %23407, ptr %23408, align 4, !tbaa !5
  %23409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23410 = load i32, ptr @test_count, align 4, !tbaa !5
  %23411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23412 = load i32, ptr %23411, align 4, !tbaa !5
  %23413 = call ptr @s2n_strerror(i32 noundef %23412, ptr noundef @.str.25)
  %23414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23415 = load i32, ptr %23414, align 4, !tbaa !5
  %23416 = call ptr @s2n_strerror_debug(i32 noundef %23415, ptr noundef @.str.25)
  %23417 = call ptr @__errno_location() #12
  %23418 = load i32, ptr %23417, align 4, !tbaa !5
  %23419 = call ptr @strerror(i32 noundef %23418) #11
  %23420 = call ptr @__errno_location() #12
  %23421 = load i32, ptr %23420, align 4, !tbaa !5
  %23422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23409, ptr noundef @.str.23, i32 noundef %23410, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1129, ptr noundef %23413, ptr noundef %23416, ptr noundef %23419, i32 noundef %23421) #11
  br label %23440

23423:                                            ; preds = %23401, %23394
  %23424 = load i32, ptr %576, align 4, !tbaa !5
  %23425 = call ptr @__errno_location() #12
  store i32 %23424, ptr %23425, align 4, !tbaa !5
  %23426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23427 = load i32, ptr @test_count, align 4, !tbaa !5
  %23428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23429 = load i32, ptr %23428, align 4, !tbaa !5
  %23430 = call ptr @s2n_strerror(i32 noundef %23429, ptr noundef @.str.25)
  %23431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23432 = load i32, ptr %23431, align 4, !tbaa !5
  %23433 = call ptr @s2n_strerror_debug(i32 noundef %23432, ptr noundef @.str.25)
  %23434 = call ptr @__errno_location() #12
  %23435 = load i32, ptr %23434, align 4, !tbaa !5
  %23436 = call ptr @strerror(i32 noundef %23435) #11
  %23437 = call ptr @__errno_location() #12
  %23438 = load i32, ptr %23437, align 4, !tbaa !5
  %23439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23426, ptr noundef @.str.26, i32 noundef %23427, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1129, ptr noundef %23430, ptr noundef %23433, ptr noundef %23436, i32 noundef %23438) #11
  br label %23440

23440:                                            ; preds = %23423, %23406
  call void @llvm.lifetime.end.p0(i64 4, ptr %576) #11
  br label %23441

23441:                                            ; preds = %23440
  br label %23442

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

23443:                                            ; No predecessors!
  br label %23444

23444:                                            ; preds = %23443
  br label %23445

23445:                                            ; preds = %23444, %23385
  br label %23446

23446:                                            ; preds = %23445
  br label %23447

23447:                                            ; preds = %23446
  %23448 = load ptr, ptr %572, align 8, !tbaa !9
  %23449 = getelementptr inbounds %struct.s2n_connection, ptr %23448, i32 0, i32 23
  store i8 34, ptr %23449, align 4, !tbaa !17
  %23450 = load ptr, ptr %572, align 8, !tbaa !9
  %23451 = getelementptr inbounds %struct.s2n_connection, ptr %23450, i32 0, i32 27
  %23452 = load ptr, ptr %23451, align 8, !tbaa !43
  %23453 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %23452, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %23453, align 8, !tbaa !44
  %23454 = load ptr, ptr %572, align 8, !tbaa !9
  %23455 = getelementptr inbounds %struct.s2n_connection, ptr %23454, i32 0, i32 87
  store i16 1, ptr %23455, align 4, !tbaa !81
  %23456 = load ptr, ptr %572, align 8, !tbaa !9
  %23457 = getelementptr inbounds %struct.s2n_connection, ptr %23456, i32 0, i32 1
  %23458 = load ptr, ptr %23457, align 8, !tbaa !80
  %23459 = getelementptr inbounds %struct.s2n_config, ptr %23458, i32 0, i32 14
  store i64 0, ptr %23459, align 8, !tbaa !60
  call void @llvm.lifetime.start.p0(i64 40, ptr %577) #11
  call void @llvm.memset.p0.i64(ptr align 8 %577, i8 0, i64 40, i1 false)
  br label %23460

23460:                                            ; preds = %23447
  %23461 = load i32, ptr @test_count, align 4, !tbaa !5
  %23462 = add nsw i32 %23461, 1
  store i32 %23462, ptr @test_count, align 4, !tbaa !5
  %23463 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %577, i32 noundef 0)
  %23464 = icmp eq i32 %23463, -1
  br i1 %23464, label %23465, label %23518

23465:                                            ; preds = %23460
  br label %23466

23466:                                            ; preds = %23465
  br label %23467

23467:                                            ; preds = %23466
  call void @llvm.lifetime.start.p0(i64 4, ptr %578) #11
  %23468 = call ptr @__errno_location() #12
  %23469 = load i32, ptr %23468, align 4, !tbaa !5
  store i32 %23469, ptr %578, align 4, !tbaa !5
  %23470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23471 = call i32 @s2n_print_stacktrace(ptr noundef %23470)
  %23472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23473 = trunc i8 %23472 to i1
  br i1 %23473, label %23474, label %23496

23474:                                            ; preds = %23467
  %23475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23476 = call i32 @fileno(ptr noundef %23475) #11
  %23477 = call i32 @isatty(i32 noundef %23476) #11
  %23478 = icmp ne i32 %23477, 0
  br i1 %23478, label %23479, label %23496

23479:                                            ; preds = %23474
  %23480 = load i32, ptr %578, align 4, !tbaa !5
  %23481 = call ptr @__errno_location() #12
  store i32 %23480, ptr %23481, align 4, !tbaa !5
  %23482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23483 = load i32, ptr @test_count, align 4, !tbaa !5
  %23484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23485 = load i32, ptr %23484, align 4, !tbaa !5
  %23486 = call ptr @s2n_strerror(i32 noundef %23485, ptr noundef @.str.25)
  %23487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23488 = load i32, ptr %23487, align 4, !tbaa !5
  %23489 = call ptr @s2n_strerror_debug(i32 noundef %23488, ptr noundef @.str.25)
  %23490 = call ptr @__errno_location() #12
  %23491 = load i32, ptr %23490, align 4, !tbaa !5
  %23492 = call ptr @strerror(i32 noundef %23491) #11
  %23493 = call ptr @__errno_location() #12
  %23494 = load i32, ptr %23493, align 4, !tbaa !5
  %23495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23482, ptr noundef @.str.23, i32 noundef %23483, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1141, ptr noundef %23486, ptr noundef %23489, ptr noundef %23492, i32 noundef %23494) #11
  br label %23513

23496:                                            ; preds = %23474, %23467
  %23497 = load i32, ptr %578, align 4, !tbaa !5
  %23498 = call ptr @__errno_location() #12
  store i32 %23497, ptr %23498, align 4, !tbaa !5
  %23499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23500 = load i32, ptr @test_count, align 4, !tbaa !5
  %23501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23502 = load i32, ptr %23501, align 4, !tbaa !5
  %23503 = call ptr @s2n_strerror(i32 noundef %23502, ptr noundef @.str.25)
  %23504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23505 = load i32, ptr %23504, align 4, !tbaa !5
  %23506 = call ptr @s2n_strerror_debug(i32 noundef %23505, ptr noundef @.str.25)
  %23507 = call ptr @__errno_location() #12
  %23508 = load i32, ptr %23507, align 4, !tbaa !5
  %23509 = call ptr @strerror(i32 noundef %23508) #11
  %23510 = call ptr @__errno_location() #12
  %23511 = load i32, ptr %23510, align 4, !tbaa !5
  %23512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23499, ptr noundef @.str.26, i32 noundef %23500, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1141, ptr noundef %23503, ptr noundef %23506, ptr noundef %23509, i32 noundef %23511) #11
  br label %23513

23513:                                            ; preds = %23496, %23479
  call void @llvm.lifetime.end.p0(i64 4, ptr %578) #11
  br label %23514

23514:                                            ; preds = %23513
  br label %23515

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

23516:                                            ; No predecessors!
  br label %23517

23517:                                            ; preds = %23516
  br label %23518

23518:                                            ; preds = %23517, %23460
  br label %23519

23519:                                            ; preds = %23518
  br label %23520

23520:                                            ; preds = %23519
  br label %23521

23521:                                            ; preds = %23520
  br label %23522

23522:                                            ; preds = %23521
  br label %23523

23523:                                            ; preds = %23522
  %23524 = load i32, ptr @test_count, align 4, !tbaa !5
  %23525 = add nsw i32 %23524, 1
  store i32 %23525, ptr @test_count, align 4, !tbaa !5
  %23526 = load ptr, ptr %572, align 8, !tbaa !9
  %23527 = call i32 @s2n_tls13_server_nst_write(ptr noundef %23526, ptr noundef %577)
  %23528 = getelementptr inbounds %struct.s2n_result, ptr %579, i32 0, i32 0
  store i32 %23527, ptr %23528, align 4
  %23529 = getelementptr inbounds %struct.s2n_result, ptr %579, i32 0, i32 0
  %23530 = load i32, ptr %23529, align 4
  %23531 = call zeroext i1 @s2n_result_is_error(i32 %23530)
  br i1 %23531, label %23585, label %23532

23532:                                            ; preds = %23523
  br label %23533

23533:                                            ; preds = %23532
  br label %23534

23534:                                            ; preds = %23533
  call void @llvm.lifetime.start.p0(i64 4, ptr %580) #11
  %23535 = call ptr @__errno_location() #12
  %23536 = load i32, ptr %23535, align 4, !tbaa !5
  store i32 %23536, ptr %580, align 4, !tbaa !5
  %23537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23538 = call i32 @s2n_print_stacktrace(ptr noundef %23537)
  %23539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23540 = trunc i8 %23539 to i1
  br i1 %23540, label %23541, label %23563

23541:                                            ; preds = %23534
  %23542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23543 = call i32 @fileno(ptr noundef %23542) #11
  %23544 = call i32 @isatty(i32 noundef %23543) #11
  %23545 = icmp ne i32 %23544, 0
  br i1 %23545, label %23546, label %23563

23546:                                            ; preds = %23541
  %23547 = load i32, ptr %580, align 4, !tbaa !5
  %23548 = call ptr @__errno_location() #12
  store i32 %23547, ptr %23548, align 4, !tbaa !5
  %23549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23550 = load i32, ptr @test_count, align 4, !tbaa !5
  %23551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23552 = load i32, ptr %23551, align 4, !tbaa !5
  %23553 = call ptr @s2n_strerror(i32 noundef %23552, ptr noundef @.str.25)
  %23554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23555 = load i32, ptr %23554, align 4, !tbaa !5
  %23556 = call ptr @s2n_strerror_debug(i32 noundef %23555, ptr noundef @.str.25)
  %23557 = call ptr @__errno_location() #12
  %23558 = load i32, ptr %23557, align 4, !tbaa !5
  %23559 = call ptr @strerror(i32 noundef %23558) #11
  %23560 = call ptr @__errno_location() #12
  %23561 = load i32, ptr %23560, align 4, !tbaa !5
  %23562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23549, ptr noundef @.str.23, i32 noundef %23550, ptr noundef @.str.176, ptr noundef @.str.22, i32 noundef 1142, ptr noundef %23553, ptr noundef %23556, ptr noundef %23559, i32 noundef %23561) #11
  br label %23580

23563:                                            ; preds = %23541, %23534
  %23564 = load i32, ptr %580, align 4, !tbaa !5
  %23565 = call ptr @__errno_location() #12
  store i32 %23564, ptr %23565, align 4, !tbaa !5
  %23566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23567 = load i32, ptr @test_count, align 4, !tbaa !5
  %23568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23569 = load i32, ptr %23568, align 4, !tbaa !5
  %23570 = call ptr @s2n_strerror(i32 noundef %23569, ptr noundef @.str.25)
  %23571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23572 = load i32, ptr %23571, align 4, !tbaa !5
  %23573 = call ptr @s2n_strerror_debug(i32 noundef %23572, ptr noundef @.str.25)
  %23574 = call ptr @__errno_location() #12
  %23575 = load i32, ptr %23574, align 4, !tbaa !5
  %23576 = call ptr @strerror(i32 noundef %23575) #11
  %23577 = call ptr @__errno_location() #12
  %23578 = load i32, ptr %23577, align 4, !tbaa !5
  %23579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23566, ptr noundef @.str.26, i32 noundef %23567, ptr noundef @.str.176, ptr noundef @.str.22, i32 noundef 1142, ptr noundef %23570, ptr noundef %23573, ptr noundef %23576, i32 noundef %23578) #11
  br label %23580

23580:                                            ; preds = %23563, %23546
  call void @llvm.lifetime.end.p0(i64 4, ptr %580) #11
  br label %23581

23581:                                            ; preds = %23580
  br label %23582

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

23583:                                            ; No predecessors!
  br label %23584

23584:                                            ; preds = %23583
  br label %23585

23585:                                            ; preds = %23584, %23523
  br label %23586

23586:                                            ; preds = %23585
  br label %23587

23587:                                            ; preds = %23586
  br label %23588

23588:                                            ; preds = %23587
  %23589 = load i32, ptr @test_count, align 4, !tbaa !5
  %23590 = add nsw i32 %23589, 1
  store i32 %23590, ptr @test_count, align 4, !tbaa !5
  %23591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23592 = load i32, ptr %23591, align 4, !tbaa !5
  %23593 = icmp eq i32 %23592, 402653273
  br i1 %23593, label %23647, label %23594

23594:                                            ; preds = %23588
  br label %23595

23595:                                            ; preds = %23594
  br label %23596

23596:                                            ; preds = %23595
  call void @llvm.lifetime.start.p0(i64 4, ptr %581) #11
  %23597 = call ptr @__errno_location() #12
  %23598 = load i32, ptr %23597, align 4, !tbaa !5
  store i32 %23598, ptr %581, align 4, !tbaa !5
  %23599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23600 = call i32 @s2n_print_stacktrace(ptr noundef %23599)
  %23601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23602 = trunc i8 %23601 to i1
  br i1 %23602, label %23603, label %23625

23603:                                            ; preds = %23596
  %23604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23605 = call i32 @fileno(ptr noundef %23604) #11
  %23606 = call i32 @isatty(i32 noundef %23605) #11
  %23607 = icmp ne i32 %23606, 0
  br i1 %23607, label %23608, label %23625

23608:                                            ; preds = %23603
  %23609 = load i32, ptr %581, align 4, !tbaa !5
  %23610 = call ptr @__errno_location() #12
  store i32 %23609, ptr %23610, align 4, !tbaa !5
  %23611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23612 = load i32, ptr @test_count, align 4, !tbaa !5
  %23613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23614 = load i32, ptr %23613, align 4, !tbaa !5
  %23615 = call ptr @s2n_strerror(i32 noundef %23614, ptr noundef @.str.25)
  %23616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23617 = load i32, ptr %23616, align 4, !tbaa !5
  %23618 = call ptr @s2n_strerror_debug(i32 noundef %23617, ptr noundef @.str.25)
  %23619 = call ptr @__errno_location() #12
  %23620 = load i32, ptr %23619, align 4, !tbaa !5
  %23621 = call ptr @strerror(i32 noundef %23620) #11
  %23622 = call ptr @__errno_location() #12
  %23623 = load i32, ptr %23622, align 4, !tbaa !5
  %23624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23611, ptr noundef @.str.23, i32 noundef %23612, ptr noundef @.str.177, ptr noundef @.str.22, i32 noundef 1142, ptr noundef %23615, ptr noundef %23618, ptr noundef %23621, i32 noundef %23623) #11
  br label %23642

23625:                                            ; preds = %23603, %23596
  %23626 = load i32, ptr %581, align 4, !tbaa !5
  %23627 = call ptr @__errno_location() #12
  store i32 %23626, ptr %23627, align 4, !tbaa !5
  %23628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23629 = load i32, ptr @test_count, align 4, !tbaa !5
  %23630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23631 = load i32, ptr %23630, align 4, !tbaa !5
  %23632 = call ptr @s2n_strerror(i32 noundef %23631, ptr noundef @.str.25)
  %23633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23634 = load i32, ptr %23633, align 4, !tbaa !5
  %23635 = call ptr @s2n_strerror_debug(i32 noundef %23634, ptr noundef @.str.25)
  %23636 = call ptr @__errno_location() #12
  %23637 = load i32, ptr %23636, align 4, !tbaa !5
  %23638 = call ptr @strerror(i32 noundef %23637) #11
  %23639 = call ptr @__errno_location() #12
  %23640 = load i32, ptr %23639, align 4, !tbaa !5
  %23641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23628, ptr noundef @.str.26, i32 noundef %23629, ptr noundef @.str.177, ptr noundef @.str.22, i32 noundef 1142, ptr noundef %23632, ptr noundef %23635, ptr noundef %23638, i32 noundef %23640) #11
  br label %23642

23642:                                            ; preds = %23625, %23608
  call void @llvm.lifetime.end.p0(i64 4, ptr %581) #11
  br label %23643

23643:                                            ; preds = %23642
  br label %23644

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

23645:                                            ; No predecessors!
  br label %23646

23646:                                            ; preds = %23645
  br label %23647

23647:                                            ; preds = %23646, %23588
  br label %23648

23648:                                            ; preds = %23647
  br label %23649

23649:                                            ; preds = %23648
  br label %23650

23650:                                            ; preds = %23649
  %23651 = load i32, ptr @test_count, align 4, !tbaa !5
  %23652 = add nsw i32 %23651, 1
  store i32 %23652, ptr @test_count, align 4, !tbaa !5
  %23653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23654 = load i32, ptr %23653, align 4, !tbaa !5
  %23655 = call ptr @s2n_strerror_debug(i32 noundef %23654, ptr noundef @.str.25)
  %23656 = icmp eq ptr %23655, null
  br i1 %23656, label %23657, label %23710

23657:                                            ; preds = %23650
  br label %23658

23658:                                            ; preds = %23657
  br label %23659

23659:                                            ; preds = %23658
  call void @llvm.lifetime.start.p0(i64 4, ptr %582) #11
  %23660 = call ptr @__errno_location() #12
  %23661 = load i32, ptr %23660, align 4, !tbaa !5
  store i32 %23661, ptr %582, align 4, !tbaa !5
  %23662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23663 = call i32 @s2n_print_stacktrace(ptr noundef %23662)
  %23664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23665 = trunc i8 %23664 to i1
  br i1 %23665, label %23666, label %23688

23666:                                            ; preds = %23659
  %23667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23668 = call i32 @fileno(ptr noundef %23667) #11
  %23669 = call i32 @isatty(i32 noundef %23668) #11
  %23670 = icmp ne i32 %23669, 0
  br i1 %23670, label %23671, label %23688

23671:                                            ; preds = %23666
  %23672 = load i32, ptr %582, align 4, !tbaa !5
  %23673 = call ptr @__errno_location() #12
  store i32 %23672, ptr %23673, align 4, !tbaa !5
  %23674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23675 = load i32, ptr @test_count, align 4, !tbaa !5
  %23676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23677 = load i32, ptr %23676, align 4, !tbaa !5
  %23678 = call ptr @s2n_strerror(i32 noundef %23677, ptr noundef @.str.25)
  %23679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23680 = load i32, ptr %23679, align 4, !tbaa !5
  %23681 = call ptr @s2n_strerror_debug(i32 noundef %23680, ptr noundef @.str.25)
  %23682 = call ptr @__errno_location() #12
  %23683 = load i32, ptr %23682, align 4, !tbaa !5
  %23684 = call ptr @strerror(i32 noundef %23683) #11
  %23685 = call ptr @__errno_location() #12
  %23686 = load i32, ptr %23685, align 4, !tbaa !5
  %23687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23674, ptr noundef @.str.23, i32 noundef %23675, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 1142, ptr noundef %23678, ptr noundef %23681, ptr noundef %23684, i32 noundef %23686) #11
  br label %23705

23688:                                            ; preds = %23666, %23659
  %23689 = load i32, ptr %582, align 4, !tbaa !5
  %23690 = call ptr @__errno_location() #12
  store i32 %23689, ptr %23690, align 4, !tbaa !5
  %23691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23692 = load i32, ptr @test_count, align 4, !tbaa !5
  %23693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23694 = load i32, ptr %23693, align 4, !tbaa !5
  %23695 = call ptr @s2n_strerror(i32 noundef %23694, ptr noundef @.str.25)
  %23696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23697 = load i32, ptr %23696, align 4, !tbaa !5
  %23698 = call ptr @s2n_strerror_debug(i32 noundef %23697, ptr noundef @.str.25)
  %23699 = call ptr @__errno_location() #12
  %23700 = load i32, ptr %23699, align 4, !tbaa !5
  %23701 = call ptr @strerror(i32 noundef %23700) #11
  %23702 = call ptr @__errno_location() #12
  %23703 = load i32, ptr %23702, align 4, !tbaa !5
  %23704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23691, ptr noundef @.str.26, i32 noundef %23692, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 1142, ptr noundef %23695, ptr noundef %23698, ptr noundef %23701, i32 noundef %23703) #11
  br label %23705

23705:                                            ; preds = %23688, %23671
  call void @llvm.lifetime.end.p0(i64 4, ptr %582) #11
  br label %23706

23706:                                            ; preds = %23705
  br label %23707

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

23708:                                            ; No predecessors!
  br label %23709

23709:                                            ; preds = %23708
  br label %23710

23710:                                            ; preds = %23709, %23650
  br label %23711

23711:                                            ; preds = %23710
  br label %23712

23712:                                            ; preds = %23711
  br label %23713

23713:                                            ; preds = %23712
  br label %23714

23714:                                            ; preds = %23713
  br label %23715

23715:                                            ; preds = %23714
  %23716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23716, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23717 = call ptr @__errno_location() #12
  store i32 0, ptr %23717, align 4, !tbaa !5
  br label %23718

23718:                                            ; preds = %23715
  br label %23719

23719:                                            ; preds = %23718
  br label %23720

23720:                                            ; preds = %23719
  br label %23721

23721:                                            ; preds = %23720
  br label %23722

23722:                                            ; preds = %23721
  %23723 = load i32, ptr @test_count, align 4, !tbaa !5
  %23724 = add nsw i32 %23723, 1
  store i32 %23724, ptr @test_count, align 4, !tbaa !5
  %23725 = load ptr, ptr %572, align 8, !tbaa !9
  %23726 = call i32 @s2n_assert_tickets_sent(ptr noundef %23725, i16 noundef zeroext 0)
  %23727 = getelementptr inbounds %struct.s2n_result, ptr %583, i32 0, i32 0
  store i32 %23726, ptr %23727, align 4
  %23728 = getelementptr inbounds %struct.s2n_result, ptr %583, i32 0, i32 0
  %23729 = load i32, ptr %23728, align 4
  %23730 = call zeroext i1 @s2n_result_is_ok(i32 %23729)
  br i1 %23730, label %23784, label %23731

23731:                                            ; preds = %23722
  br label %23732

23732:                                            ; preds = %23731
  br label %23733

23733:                                            ; preds = %23732
  call void @llvm.lifetime.start.p0(i64 4, ptr %584) #11
  %23734 = call ptr @__errno_location() #12
  %23735 = load i32, ptr %23734, align 4, !tbaa !5
  store i32 %23735, ptr %584, align 4, !tbaa !5
  %23736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23737 = call i32 @s2n_print_stacktrace(ptr noundef %23736)
  %23738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23739 = trunc i8 %23738 to i1
  br i1 %23739, label %23740, label %23762

23740:                                            ; preds = %23733
  %23741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23742 = call i32 @fileno(ptr noundef %23741) #11
  %23743 = call i32 @isatty(i32 noundef %23742) #11
  %23744 = icmp ne i32 %23743, 0
  br i1 %23744, label %23745, label %23762

23745:                                            ; preds = %23740
  %23746 = load i32, ptr %584, align 4, !tbaa !5
  %23747 = call ptr @__errno_location() #12
  store i32 %23746, ptr %23747, align 4, !tbaa !5
  %23748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23749 = load i32, ptr @test_count, align 4, !tbaa !5
  %23750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23751 = load i32, ptr %23750, align 4, !tbaa !5
  %23752 = call ptr @s2n_strerror(i32 noundef %23751, ptr noundef @.str.25)
  %23753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23754 = load i32, ptr %23753, align 4, !tbaa !5
  %23755 = call ptr @s2n_strerror_debug(i32 noundef %23754, ptr noundef @.str.25)
  %23756 = call ptr @__errno_location() #12
  %23757 = load i32, ptr %23756, align 4, !tbaa !5
  %23758 = call ptr @strerror(i32 noundef %23757) #11
  %23759 = call ptr @__errno_location() #12
  %23760 = load i32, ptr %23759, align 4, !tbaa !5
  %23761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23748, ptr noundef @.str.23, i32 noundef %23749, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 1143, ptr noundef %23752, ptr noundef %23755, ptr noundef %23758, i32 noundef %23760) #11
  br label %23779

23762:                                            ; preds = %23740, %23733
  %23763 = load i32, ptr %584, align 4, !tbaa !5
  %23764 = call ptr @__errno_location() #12
  store i32 %23763, ptr %23764, align 4, !tbaa !5
  %23765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23766 = load i32, ptr @test_count, align 4, !tbaa !5
  %23767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23768 = load i32, ptr %23767, align 4, !tbaa !5
  %23769 = call ptr @s2n_strerror(i32 noundef %23768, ptr noundef @.str.25)
  %23770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23771 = load i32, ptr %23770, align 4, !tbaa !5
  %23772 = call ptr @s2n_strerror_debug(i32 noundef %23771, ptr noundef @.str.25)
  %23773 = call ptr @__errno_location() #12
  %23774 = load i32, ptr %23773, align 4, !tbaa !5
  %23775 = call ptr @strerror(i32 noundef %23774) #11
  %23776 = call ptr @__errno_location() #12
  %23777 = load i32, ptr %23776, align 4, !tbaa !5
  %23778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23765, ptr noundef @.str.26, i32 noundef %23766, ptr noundef @.str.162, ptr noundef @.str.22, i32 noundef 1143, ptr noundef %23769, ptr noundef %23772, ptr noundef %23775, i32 noundef %23777) #11
  br label %23779

23779:                                            ; preds = %23762, %23745
  call void @llvm.lifetime.end.p0(i64 4, ptr %584) #11
  br label %23780

23780:                                            ; preds = %23779
  br label %23781

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

23782:                                            ; No predecessors!
  br label %23783

23783:                                            ; preds = %23782
  br label %23784

23784:                                            ; preds = %23783, %23722
  br label %23785

23785:                                            ; preds = %23784
  br label %23786

23786:                                            ; preds = %23785
  %23787 = call i32 @s2n_stuffer_free(ptr noundef %577)
  call void @llvm.lifetime.end.p0(i64 40, ptr %577) #11
  %23788 = call i32 @s2n_connection_ptr_free(ptr noundef %572)
  %23789 = getelementptr inbounds %struct.s2n_result, ptr %585, i32 0, i32 0
  store i32 %23788, ptr %23789, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %572) #11
  %23790 = call i32 @s2n_config_ptr_free(ptr noundef %570)
  %23791 = getelementptr inbounds %struct.s2n_result, ptr %586, i32 0, i32 0
  store i32 %23790, ptr %23791, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %570) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %587) #11
  store ptr null, ptr %587, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %588) #11
  store ptr null, ptr %588, align 8, !tbaa !9
  br label %23792

23792:                                            ; preds = %23786
  %23793 = load i32, ptr @test_count, align 4, !tbaa !5
  %23794 = add nsw i32 %23793, 1
  store i32 %23794, ptr @test_count, align 4, !tbaa !5
  %23795 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %23795, ptr %588, align 8, !tbaa !9
  %23796 = icmp eq ptr %23795, null
  br i1 %23796, label %23797, label %23850

23797:                                            ; preds = %23792
  br label %23798

23798:                                            ; preds = %23797
  br label %23799

23799:                                            ; preds = %23798
  call void @llvm.lifetime.start.p0(i64 4, ptr %589) #11
  %23800 = call ptr @__errno_location() #12
  %23801 = load i32, ptr %23800, align 4, !tbaa !5
  store i32 %23801, ptr %589, align 4, !tbaa !5
  %23802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23803 = call i32 @s2n_print_stacktrace(ptr noundef %23802)
  %23804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23805 = trunc i8 %23804 to i1
  br i1 %23805, label %23806, label %23828

23806:                                            ; preds = %23799
  %23807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23808 = call i32 @fileno(ptr noundef %23807) #11
  %23809 = call i32 @isatty(i32 noundef %23808) #11
  %23810 = icmp ne i32 %23809, 0
  br i1 %23810, label %23811, label %23828

23811:                                            ; preds = %23806
  %23812 = load i32, ptr %589, align 4, !tbaa !5
  %23813 = call ptr @__errno_location() #12
  store i32 %23812, ptr %23813, align 4, !tbaa !5
  %23814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23815 = load i32, ptr @test_count, align 4, !tbaa !5
  %23816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23817 = load i32, ptr %23816, align 4, !tbaa !5
  %23818 = call ptr @s2n_strerror(i32 noundef %23817, ptr noundef @.str.25)
  %23819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23820 = load i32, ptr %23819, align 4, !tbaa !5
  %23821 = call ptr @s2n_strerror_debug(i32 noundef %23820, ptr noundef @.str.25)
  %23822 = call ptr @__errno_location() #12
  %23823 = load i32, ptr %23822, align 4, !tbaa !5
  %23824 = call ptr @strerror(i32 noundef %23823) #11
  %23825 = call ptr @__errno_location() #12
  %23826 = load i32, ptr %23825, align 4, !tbaa !5
  %23827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23814, ptr noundef @.str.23, i32 noundef %23815, ptr noundef @.str.29, ptr noundef @.str.22, i32 noundef 1150, ptr noundef %23818, ptr noundef %23821, ptr noundef %23824, i32 noundef %23826) #11
  br label %23845

23828:                                            ; preds = %23806, %23799
  %23829 = load i32, ptr %589, align 4, !tbaa !5
  %23830 = call ptr @__errno_location() #12
  store i32 %23829, ptr %23830, align 4, !tbaa !5
  %23831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23832 = load i32, ptr @test_count, align 4, !tbaa !5
  %23833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23834 = load i32, ptr %23833, align 4, !tbaa !5
  %23835 = call ptr @s2n_strerror(i32 noundef %23834, ptr noundef @.str.25)
  %23836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23837 = load i32, ptr %23836, align 4, !tbaa !5
  %23838 = call ptr @s2n_strerror_debug(i32 noundef %23837, ptr noundef @.str.25)
  %23839 = call ptr @__errno_location() #12
  %23840 = load i32, ptr %23839, align 4, !tbaa !5
  %23841 = call ptr @strerror(i32 noundef %23840) #11
  %23842 = call ptr @__errno_location() #12
  %23843 = load i32, ptr %23842, align 4, !tbaa !5
  %23844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23831, ptr noundef @.str.26, i32 noundef %23832, ptr noundef @.str.29, ptr noundef @.str.22, i32 noundef 1150, ptr noundef %23835, ptr noundef %23838, ptr noundef %23841, i32 noundef %23843) #11
  br label %23845

23845:                                            ; preds = %23828, %23811
  call void @llvm.lifetime.end.p0(i64 4, ptr %589) #11
  br label %23846

23846:                                            ; preds = %23845
  br label %23847

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

23848:                                            ; No predecessors!
  br label %23849

23849:                                            ; preds = %23848
  br label %23850

23850:                                            ; preds = %23849, %23792
  br label %23851

23851:                                            ; preds = %23850
  br label %23852

23852:                                            ; preds = %23851
  br label %23853

23853:                                            ; preds = %23852
  %23854 = load i32, ptr @test_count, align 4, !tbaa !5
  %23855 = add nsw i32 %23854, 1
  store i32 %23855, ptr @test_count, align 4, !tbaa !5
  %23856 = call ptr @s2n_config_new()
  store ptr %23856, ptr %587, align 8, !tbaa !9
  %23857 = icmp eq ptr %23856, null
  br i1 %23857, label %23858, label %23911

23858:                                            ; preds = %23853
  br label %23859

23859:                                            ; preds = %23858
  br label %23860

23860:                                            ; preds = %23859
  call void @llvm.lifetime.start.p0(i64 4, ptr %590) #11
  %23861 = call ptr @__errno_location() #12
  %23862 = load i32, ptr %23861, align 4, !tbaa !5
  store i32 %23862, ptr %590, align 4, !tbaa !5
  %23863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23864 = call i32 @s2n_print_stacktrace(ptr noundef %23863)
  %23865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23866 = trunc i8 %23865 to i1
  br i1 %23866, label %23867, label %23889

23867:                                            ; preds = %23860
  %23868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23869 = call i32 @fileno(ptr noundef %23868) #11
  %23870 = call i32 @isatty(i32 noundef %23869) #11
  %23871 = icmp ne i32 %23870, 0
  br i1 %23871, label %23872, label %23889

23872:                                            ; preds = %23867
  %23873 = load i32, ptr %590, align 4, !tbaa !5
  %23874 = call ptr @__errno_location() #12
  store i32 %23873, ptr %23874, align 4, !tbaa !5
  %23875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23876 = load i32, ptr @test_count, align 4, !tbaa !5
  %23877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23878 = load i32, ptr %23877, align 4, !tbaa !5
  %23879 = call ptr @s2n_strerror(i32 noundef %23878, ptr noundef @.str.25)
  %23880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23881 = load i32, ptr %23880, align 4, !tbaa !5
  %23882 = call ptr @s2n_strerror_debug(i32 noundef %23881, ptr noundef @.str.25)
  %23883 = call ptr @__errno_location() #12
  %23884 = load i32, ptr %23883, align 4, !tbaa !5
  %23885 = call ptr @strerror(i32 noundef %23884) #11
  %23886 = call ptr @__errno_location() #12
  %23887 = load i32, ptr %23886, align 4, !tbaa !5
  %23888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23875, ptr noundef @.str.23, i32 noundef %23876, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 1151, ptr noundef %23879, ptr noundef %23882, ptr noundef %23885, i32 noundef %23887) #11
  br label %23906

23889:                                            ; preds = %23867, %23860
  %23890 = load i32, ptr %590, align 4, !tbaa !5
  %23891 = call ptr @__errno_location() #12
  store i32 %23890, ptr %23891, align 4, !tbaa !5
  %23892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23893 = load i32, ptr @test_count, align 4, !tbaa !5
  %23894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23895 = load i32, ptr %23894, align 4, !tbaa !5
  %23896 = call ptr @s2n_strerror(i32 noundef %23895, ptr noundef @.str.25)
  %23897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23898 = load i32, ptr %23897, align 4, !tbaa !5
  %23899 = call ptr @s2n_strerror_debug(i32 noundef %23898, ptr noundef @.str.25)
  %23900 = call ptr @__errno_location() #12
  %23901 = load i32, ptr %23900, align 4, !tbaa !5
  %23902 = call ptr @strerror(i32 noundef %23901) #11
  %23903 = call ptr @__errno_location() #12
  %23904 = load i32, ptr %23903, align 4, !tbaa !5
  %23905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23892, ptr noundef @.str.26, i32 noundef %23893, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 1151, ptr noundef %23896, ptr noundef %23899, ptr noundef %23902, i32 noundef %23904) #11
  br label %23906

23906:                                            ; preds = %23889, %23872
  call void @llvm.lifetime.end.p0(i64 4, ptr %590) #11
  br label %23907

23907:                                            ; preds = %23906
  br label %23908

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

23909:                                            ; No predecessors!
  br label %23910

23910:                                            ; preds = %23909
  br label %23911

23911:                                            ; preds = %23910, %23853
  br label %23912

23912:                                            ; preds = %23911
  br label %23913

23913:                                            ; preds = %23912
  br label %23914

23914:                                            ; preds = %23913
  %23915 = load i32, ptr @test_count, align 4, !tbaa !5
  %23916 = add nsw i32 %23915, 1
  store i32 %23916, ptr @test_count, align 4, !tbaa !5
  %23917 = load ptr, ptr %587, align 8, !tbaa !9
  %23918 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %23917)
  %23919 = getelementptr inbounds %struct.s2n_result, ptr %591, i32 0, i32 0
  store i32 %23918, ptr %23919, align 4
  %23920 = getelementptr inbounds %struct.s2n_result, ptr %591, i32 0, i32 0
  %23921 = load i32, ptr %23920, align 4
  %23922 = call zeroext i1 @s2n_result_is_ok(i32 %23921)
  br i1 %23922, label %23976, label %23923

23923:                                            ; preds = %23914
  br label %23924

23924:                                            ; preds = %23923
  br label %23925

23925:                                            ; preds = %23924
  call void @llvm.lifetime.start.p0(i64 4, ptr %592) #11
  %23926 = call ptr @__errno_location() #12
  %23927 = load i32, ptr %23926, align 4, !tbaa !5
  store i32 %23927, ptr %592, align 4, !tbaa !5
  %23928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23929 = call i32 @s2n_print_stacktrace(ptr noundef %23928)
  %23930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23931 = trunc i8 %23930 to i1
  br i1 %23931, label %23932, label %23954

23932:                                            ; preds = %23925
  %23933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23934 = call i32 @fileno(ptr noundef %23933) #11
  %23935 = call i32 @isatty(i32 noundef %23934) #11
  %23936 = icmp ne i32 %23935, 0
  br i1 %23936, label %23937, label %23954

23937:                                            ; preds = %23932
  %23938 = load i32, ptr %592, align 4, !tbaa !5
  %23939 = call ptr @__errno_location() #12
  store i32 %23938, ptr %23939, align 4, !tbaa !5
  %23940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23941 = load i32, ptr @test_count, align 4, !tbaa !5
  %23942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23943 = load i32, ptr %23942, align 4, !tbaa !5
  %23944 = call ptr @s2n_strerror(i32 noundef %23943, ptr noundef @.str.25)
  %23945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23946 = load i32, ptr %23945, align 4, !tbaa !5
  %23947 = call ptr @s2n_strerror_debug(i32 noundef %23946, ptr noundef @.str.25)
  %23948 = call ptr @__errno_location() #12
  %23949 = load i32, ptr %23948, align 4, !tbaa !5
  %23950 = call ptr @strerror(i32 noundef %23949) #11
  %23951 = call ptr @__errno_location() #12
  %23952 = load i32, ptr %23951, align 4, !tbaa !5
  %23953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23940, ptr noundef @.str.23, i32 noundef %23941, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1152, ptr noundef %23944, ptr noundef %23947, ptr noundef %23950, i32 noundef %23952) #11
  br label %23971

23954:                                            ; preds = %23932, %23925
  %23955 = load i32, ptr %592, align 4, !tbaa !5
  %23956 = call ptr @__errno_location() #12
  store i32 %23955, ptr %23956, align 4, !tbaa !5
  %23957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23958 = load i32, ptr @test_count, align 4, !tbaa !5
  %23959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23960 = load i32, ptr %23959, align 4, !tbaa !5
  %23961 = call ptr @s2n_strerror(i32 noundef %23960, ptr noundef @.str.25)
  %23962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23963 = load i32, ptr %23962, align 4, !tbaa !5
  %23964 = call ptr @s2n_strerror_debug(i32 noundef %23963, ptr noundef @.str.25)
  %23965 = call ptr @__errno_location() #12
  %23966 = load i32, ptr %23965, align 4, !tbaa !5
  %23967 = call ptr @strerror(i32 noundef %23966) #11
  %23968 = call ptr @__errno_location() #12
  %23969 = load i32, ptr %23968, align 4, !tbaa !5
  %23970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23957, ptr noundef @.str.26, i32 noundef %23958, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1152, ptr noundef %23961, ptr noundef %23964, ptr noundef %23967, i32 noundef %23969) #11
  br label %23971

23971:                                            ; preds = %23954, %23937
  call void @llvm.lifetime.end.p0(i64 4, ptr %592) #11
  br label %23972

23972:                                            ; preds = %23971
  br label %23973

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

23974:                                            ; No predecessors!
  br label %23975

23975:                                            ; preds = %23974
  br label %23976

23976:                                            ; preds = %23975, %23914
  br label %23977

23977:                                            ; preds = %23976
  br label %23978

23978:                                            ; preds = %23977
  br label %23979

23979:                                            ; preds = %23978
  %23980 = load i32, ptr @test_count, align 4, !tbaa !5
  %23981 = add nsw i32 %23980, 1
  store i32 %23981, ptr @test_count, align 4, !tbaa !5
  %23982 = load ptr, ptr %588, align 8, !tbaa !9
  %23983 = load ptr, ptr %587, align 8, !tbaa !9
  %23984 = call i32 @s2n_connection_set_config(ptr noundef %23982, ptr noundef %23983)
  %23985 = icmp eq i32 %23984, -1
  br i1 %23985, label %23986, label %24039

23986:                                            ; preds = %23979
  br label %23987

23987:                                            ; preds = %23986
  br label %23988

23988:                                            ; preds = %23987
  call void @llvm.lifetime.start.p0(i64 4, ptr %593) #11
  %23989 = call ptr @__errno_location() #12
  %23990 = load i32, ptr %23989, align 4, !tbaa !5
  store i32 %23990, ptr %593, align 4, !tbaa !5
  %23991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23992 = call i32 @s2n_print_stacktrace(ptr noundef %23991)
  %23993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23994 = trunc i8 %23993 to i1
  br i1 %23994, label %23995, label %24017

23995:                                            ; preds = %23988
  %23996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23997 = call i32 @fileno(ptr noundef %23996) #11
  %23998 = call i32 @isatty(i32 noundef %23997) #11
  %23999 = icmp ne i32 %23998, 0
  br i1 %23999, label %24000, label %24017

24000:                                            ; preds = %23995
  %24001 = load i32, ptr %593, align 4, !tbaa !5
  %24002 = call ptr @__errno_location() #12
  store i32 %24001, ptr %24002, align 4, !tbaa !5
  %24003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24004 = load i32, ptr @test_count, align 4, !tbaa !5
  %24005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24006 = load i32, ptr %24005, align 4, !tbaa !5
  %24007 = call ptr @s2n_strerror(i32 noundef %24006, ptr noundef @.str.25)
  %24008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24009 = load i32, ptr %24008, align 4, !tbaa !5
  %24010 = call ptr @s2n_strerror_debug(i32 noundef %24009, ptr noundef @.str.25)
  %24011 = call ptr @__errno_location() #12
  %24012 = load i32, ptr %24011, align 4, !tbaa !5
  %24013 = call ptr @strerror(i32 noundef %24012) #11
  %24014 = call ptr @__errno_location() #12
  %24015 = load i32, ptr %24014, align 4, !tbaa !5
  %24016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24003, ptr noundef @.str.23, i32 noundef %24004, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1153, ptr noundef %24007, ptr noundef %24010, ptr noundef %24013, i32 noundef %24015) #11
  br label %24034

24017:                                            ; preds = %23995, %23988
  %24018 = load i32, ptr %593, align 4, !tbaa !5
  %24019 = call ptr @__errno_location() #12
  store i32 %24018, ptr %24019, align 4, !tbaa !5
  %24020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24021 = load i32, ptr @test_count, align 4, !tbaa !5
  %24022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24023 = load i32, ptr %24022, align 4, !tbaa !5
  %24024 = call ptr @s2n_strerror(i32 noundef %24023, ptr noundef @.str.25)
  %24025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24026 = load i32, ptr %24025, align 4, !tbaa !5
  %24027 = call ptr @s2n_strerror_debug(i32 noundef %24026, ptr noundef @.str.25)
  %24028 = call ptr @__errno_location() #12
  %24029 = load i32, ptr %24028, align 4, !tbaa !5
  %24030 = call ptr @strerror(i32 noundef %24029) #11
  %24031 = call ptr @__errno_location() #12
  %24032 = load i32, ptr %24031, align 4, !tbaa !5
  %24033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24020, ptr noundef @.str.26, i32 noundef %24021, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1153, ptr noundef %24024, ptr noundef %24027, ptr noundef %24030, i32 noundef %24032) #11
  br label %24034

24034:                                            ; preds = %24017, %24000
  call void @llvm.lifetime.end.p0(i64 4, ptr %593) #11
  br label %24035

24035:                                            ; preds = %24034
  br label %24036

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

24037:                                            ; No predecessors!
  br label %24038

24038:                                            ; preds = %24037
  br label %24039

24039:                                            ; preds = %24038, %23979
  br label %24040

24040:                                            ; preds = %24039
  br label %24041

24041:                                            ; preds = %24040
  %24042 = load ptr, ptr %588, align 8, !tbaa !9
  %24043 = getelementptr inbounds %struct.s2n_connection, ptr %24042, i32 0, i32 23
  store i8 34, ptr %24043, align 4, !tbaa !17
  %24044 = load ptr, ptr %588, align 8, !tbaa !9
  %24045 = getelementptr inbounds %struct.s2n_connection, ptr %24044, i32 0, i32 27
  %24046 = load ptr, ptr %24045, align 8, !tbaa !43
  %24047 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %24046, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %24047, align 8, !tbaa !44
  %24048 = load ptr, ptr %588, align 8, !tbaa !9
  %24049 = getelementptr inbounds %struct.s2n_connection, ptr %24048, i32 0, i32 87
  store i16 1, ptr %24049, align 4, !tbaa !81
  br label %24050

24050:                                            ; preds = %24041
  %24051 = load i32, ptr @test_count, align 4, !tbaa !5
  %24052 = add nsw i32 %24051, 1
  store i32 %24052, ptr @test_count, align 4, !tbaa !5
  %24053 = load ptr, ptr %588, align 8, !tbaa !9
  %24054 = getelementptr inbounds %struct.s2n_connection, ptr %24053, i32 0, i32 52
  %24055 = getelementptr inbounds %struct.s2n_handshake, ptr %24054, i32 0, i32 0
  %24056 = getelementptr inbounds %struct.s2n_stuffer, ptr %24055, i32 0, i32 0
  %24057 = getelementptr inbounds %struct.s2n_blob, ptr %24056, i32 0, i32 1
  %24058 = load i32, ptr %24057, align 8, !tbaa !82
  %24059 = load ptr, ptr %588, align 8, !tbaa !9
  %24060 = getelementptr inbounds %struct.s2n_connection, ptr %24059, i32 0, i32 52
  %24061 = getelementptr inbounds %struct.s2n_handshake, ptr %24060, i32 0, i32 0
  %24062 = getelementptr inbounds %struct.s2n_stuffer, ptr %24061, i32 0, i32 2
  %24063 = load i32, ptr %24062, align 4, !tbaa !78
  %24064 = sub i32 %24058, %24063
  %24065 = icmp eq i32 %24064, 0
  br i1 %24065, label %24066, label %24119

24066:                                            ; preds = %24050
  br label %24067

24067:                                            ; preds = %24066
  br label %24068

24068:                                            ; preds = %24067
  call void @llvm.lifetime.start.p0(i64 4, ptr %594) #11
  %24069 = call ptr @__errno_location() #12
  %24070 = load i32, ptr %24069, align 4, !tbaa !5
  store i32 %24070, ptr %594, align 4, !tbaa !5
  %24071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24072 = call i32 @s2n_print_stacktrace(ptr noundef %24071)
  %24073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24074 = trunc i8 %24073 to i1
  br i1 %24074, label %24075, label %24097

24075:                                            ; preds = %24068
  %24076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24077 = call i32 @fileno(ptr noundef %24076) #11
  %24078 = call i32 @isatty(i32 noundef %24077) #11
  %24079 = icmp ne i32 %24078, 0
  br i1 %24079, label %24080, label %24097

24080:                                            ; preds = %24075
  %24081 = load i32, ptr %594, align 4, !tbaa !5
  %24082 = call ptr @__errno_location() #12
  store i32 %24081, ptr %24082, align 4, !tbaa !5
  %24083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24084 = load i32, ptr @test_count, align 4, !tbaa !5
  %24085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24086 = load i32, ptr %24085, align 4, !tbaa !5
  %24087 = call ptr @s2n_strerror(i32 noundef %24086, ptr noundef @.str.25)
  %24088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24089 = load i32, ptr %24088, align 4, !tbaa !5
  %24090 = call ptr @s2n_strerror_debug(i32 noundef %24089, ptr noundef @.str.25)
  %24091 = call ptr @__errno_location() #12
  %24092 = load i32, ptr %24091, align 4, !tbaa !5
  %24093 = call ptr @strerror(i32 noundef %24092) #11
  %24094 = call ptr @__errno_location() #12
  %24095 = load i32, ptr %24094, align 4, !tbaa !5
  %24096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24083, ptr noundef @.str.23, i32 noundef %24084, ptr noundef @.str.178, ptr noundef @.str.22, i32 noundef 1158, ptr noundef %24087, ptr noundef %24090, ptr noundef %24093, i32 noundef %24095) #11
  br label %24114

24097:                                            ; preds = %24075, %24068
  %24098 = load i32, ptr %594, align 4, !tbaa !5
  %24099 = call ptr @__errno_location() #12
  store i32 %24098, ptr %24099, align 4, !tbaa !5
  %24100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24101 = load i32, ptr @test_count, align 4, !tbaa !5
  %24102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24103 = load i32, ptr %24102, align 4, !tbaa !5
  %24104 = call ptr @s2n_strerror(i32 noundef %24103, ptr noundef @.str.25)
  %24105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24106 = load i32, ptr %24105, align 4, !tbaa !5
  %24107 = call ptr @s2n_strerror_debug(i32 noundef %24106, ptr noundef @.str.25)
  %24108 = call ptr @__errno_location() #12
  %24109 = load i32, ptr %24108, align 4, !tbaa !5
  %24110 = call ptr @strerror(i32 noundef %24109) #11
  %24111 = call ptr @__errno_location() #12
  %24112 = load i32, ptr %24111, align 4, !tbaa !5
  %24113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24100, ptr noundef @.str.26, i32 noundef %24101, ptr noundef @.str.178, ptr noundef @.str.22, i32 noundef 1158, ptr noundef %24104, ptr noundef %24107, ptr noundef %24110, i32 noundef %24112) #11
  br label %24114

24114:                                            ; preds = %24097, %24080
  call void @llvm.lifetime.end.p0(i64 4, ptr %594) #11
  br label %24115

24115:                                            ; preds = %24114
  br label %24116

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

24117:                                            ; No predecessors!
  br label %24118

24118:                                            ; preds = %24117
  br label %24119

24119:                                            ; preds = %24118, %24050
  br label %24120

24120:                                            ; preds = %24119
  br label %24121

24121:                                            ; preds = %24120
  call void @llvm.lifetime.start.p0(i64 40, ptr %595) #11
  call void @llvm.memset.p0.i64(ptr align 8 %595, i8 0, i64 40, i1 false)
  br label %24122

24122:                                            ; preds = %24121
  %24123 = load i32, ptr @test_count, align 4, !tbaa !5
  %24124 = add nsw i32 %24123, 1
  store i32 %24124, ptr @test_count, align 4, !tbaa !5
  %24125 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %595, i32 noundef 0)
  %24126 = icmp eq i32 %24125, -1
  br i1 %24126, label %24127, label %24180

24127:                                            ; preds = %24122
  br label %24128

24128:                                            ; preds = %24127
  br label %24129

24129:                                            ; preds = %24128
  call void @llvm.lifetime.start.p0(i64 4, ptr %596) #11
  %24130 = call ptr @__errno_location() #12
  %24131 = load i32, ptr %24130, align 4, !tbaa !5
  store i32 %24131, ptr %596, align 4, !tbaa !5
  %24132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24133 = call i32 @s2n_print_stacktrace(ptr noundef %24132)
  %24134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24135 = trunc i8 %24134 to i1
  br i1 %24135, label %24136, label %24158

24136:                                            ; preds = %24129
  %24137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24138 = call i32 @fileno(ptr noundef %24137) #11
  %24139 = call i32 @isatty(i32 noundef %24138) #11
  %24140 = icmp ne i32 %24139, 0
  br i1 %24140, label %24141, label %24158

24141:                                            ; preds = %24136
  %24142 = load i32, ptr %596, align 4, !tbaa !5
  %24143 = call ptr @__errno_location() #12
  store i32 %24142, ptr %24143, align 4, !tbaa !5
  %24144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24145 = load i32, ptr @test_count, align 4, !tbaa !5
  %24146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24147 = load i32, ptr %24146, align 4, !tbaa !5
  %24148 = call ptr @s2n_strerror(i32 noundef %24147, ptr noundef @.str.25)
  %24149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24150 = load i32, ptr %24149, align 4, !tbaa !5
  %24151 = call ptr @s2n_strerror_debug(i32 noundef %24150, ptr noundef @.str.25)
  %24152 = call ptr @__errno_location() #12
  %24153 = load i32, ptr %24152, align 4, !tbaa !5
  %24154 = call ptr @strerror(i32 noundef %24153) #11
  %24155 = call ptr @__errno_location() #12
  %24156 = load i32, ptr %24155, align 4, !tbaa !5
  %24157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24144, ptr noundef @.str.23, i32 noundef %24145, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1162, ptr noundef %24148, ptr noundef %24151, ptr noundef %24154, i32 noundef %24156) #11
  br label %24175

24158:                                            ; preds = %24136, %24129
  %24159 = load i32, ptr %596, align 4, !tbaa !5
  %24160 = call ptr @__errno_location() #12
  store i32 %24159, ptr %24160, align 4, !tbaa !5
  %24161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24162 = load i32, ptr @test_count, align 4, !tbaa !5
  %24163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24164 = load i32, ptr %24163, align 4, !tbaa !5
  %24165 = call ptr @s2n_strerror(i32 noundef %24164, ptr noundef @.str.25)
  %24166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24167 = load i32, ptr %24166, align 4, !tbaa !5
  %24168 = call ptr @s2n_strerror_debug(i32 noundef %24167, ptr noundef @.str.25)
  %24169 = call ptr @__errno_location() #12
  %24170 = load i32, ptr %24169, align 4, !tbaa !5
  %24171 = call ptr @strerror(i32 noundef %24170) #11
  %24172 = call ptr @__errno_location() #12
  %24173 = load i32, ptr %24172, align 4, !tbaa !5
  %24174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24161, ptr noundef @.str.26, i32 noundef %24162, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1162, ptr noundef %24165, ptr noundef %24168, ptr noundef %24171, i32 noundef %24173) #11
  br label %24175

24175:                                            ; preds = %24158, %24141
  call void @llvm.lifetime.end.p0(i64 4, ptr %596) #11
  br label %24176

24176:                                            ; preds = %24175
  br label %24177

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

24178:                                            ; No predecessors!
  br label %24179

24179:                                            ; preds = %24178
  br label %24180

24180:                                            ; preds = %24179, %24122
  br label %24181

24181:                                            ; preds = %24180
  br label %24182

24182:                                            ; preds = %24181
  br label %24183

24183:                                            ; preds = %24182
  %24184 = load i32, ptr @test_count, align 4, !tbaa !5
  %24185 = add nsw i32 %24184, 1
  store i32 %24185, ptr @test_count, align 4, !tbaa !5
  %24186 = load ptr, ptr %588, align 8, !tbaa !9
  %24187 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %595, ptr noundef %595, ptr noundef %24186)
  %24188 = icmp eq i32 %24187, -1
  br i1 %24188, label %24189, label %24242

24189:                                            ; preds = %24183
  br label %24190

24190:                                            ; preds = %24189
  br label %24191

24191:                                            ; preds = %24190
  call void @llvm.lifetime.start.p0(i64 4, ptr %597) #11
  %24192 = call ptr @__errno_location() #12
  %24193 = load i32, ptr %24192, align 4, !tbaa !5
  store i32 %24193, ptr %597, align 4, !tbaa !5
  %24194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24195 = call i32 @s2n_print_stacktrace(ptr noundef %24194)
  %24196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24197 = trunc i8 %24196 to i1
  br i1 %24197, label %24198, label %24220

24198:                                            ; preds = %24191
  %24199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24200 = call i32 @fileno(ptr noundef %24199) #11
  %24201 = call i32 @isatty(i32 noundef %24200) #11
  %24202 = icmp ne i32 %24201, 0
  br i1 %24202, label %24203, label %24220

24203:                                            ; preds = %24198
  %24204 = load i32, ptr %597, align 4, !tbaa !5
  %24205 = call ptr @__errno_location() #12
  store i32 %24204, ptr %24205, align 4, !tbaa !5
  %24206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24207 = load i32, ptr @test_count, align 4, !tbaa !5
  %24208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24209 = load i32, ptr %24208, align 4, !tbaa !5
  %24210 = call ptr @s2n_strerror(i32 noundef %24209, ptr noundef @.str.25)
  %24211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24212 = load i32, ptr %24211, align 4, !tbaa !5
  %24213 = call ptr @s2n_strerror_debug(i32 noundef %24212, ptr noundef @.str.25)
  %24214 = call ptr @__errno_location() #12
  %24215 = load i32, ptr %24214, align 4, !tbaa !5
  %24216 = call ptr @strerror(i32 noundef %24215) #11
  %24217 = call ptr @__errno_location() #12
  %24218 = load i32, ptr %24217, align 4, !tbaa !5
  %24219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24206, ptr noundef @.str.23, i32 noundef %24207, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1163, ptr noundef %24210, ptr noundef %24213, ptr noundef %24216, i32 noundef %24218) #11
  br label %24237

24220:                                            ; preds = %24198, %24191
  %24221 = load i32, ptr %597, align 4, !tbaa !5
  %24222 = call ptr @__errno_location() #12
  store i32 %24221, ptr %24222, align 4, !tbaa !5
  %24223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24224 = load i32, ptr @test_count, align 4, !tbaa !5
  %24225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24226 = load i32, ptr %24225, align 4, !tbaa !5
  %24227 = call ptr @s2n_strerror(i32 noundef %24226, ptr noundef @.str.25)
  %24228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24229 = load i32, ptr %24228, align 4, !tbaa !5
  %24230 = call ptr @s2n_strerror_debug(i32 noundef %24229, ptr noundef @.str.25)
  %24231 = call ptr @__errno_location() #12
  %24232 = load i32, ptr %24231, align 4, !tbaa !5
  %24233 = call ptr @strerror(i32 noundef %24232) #11
  %24234 = call ptr @__errno_location() #12
  %24235 = load i32, ptr %24234, align 4, !tbaa !5
  %24236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24223, ptr noundef @.str.26, i32 noundef %24224, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1163, ptr noundef %24227, ptr noundef %24230, ptr noundef %24233, i32 noundef %24235) #11
  br label %24237

24237:                                            ; preds = %24220, %24203
  call void @llvm.lifetime.end.p0(i64 4, ptr %597) #11
  br label %24238

24238:                                            ; preds = %24237
  br label %24239

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

24240:                                            ; No predecessors!
  br label %24241

24241:                                            ; preds = %24240
  br label %24242

24242:                                            ; preds = %24241, %24183
  br label %24243

24243:                                            ; preds = %24242
  br label %24244

24244:                                            ; preds = %24243
  call void @llvm.lifetime.start.p0(i64 4, ptr %598) #11
  store i32 0, ptr %598, align 4, !tbaa !5
  br label %24245

24245:                                            ; preds = %24244
  %24246 = load i32, ptr @test_count, align 4, !tbaa !5
  %24247 = add nsw i32 %24246, 1
  store i32 %24247, ptr @test_count, align 4, !tbaa !5
  %24248 = load ptr, ptr %588, align 8, !tbaa !9
  %24249 = call i32 @s2n_tls13_server_nst_send(ptr noundef %24248, ptr noundef %598)
  %24250 = getelementptr inbounds %struct.s2n_result, ptr %599, i32 0, i32 0
  store i32 %24249, ptr %24250, align 4
  %24251 = getelementptr inbounds %struct.s2n_result, ptr %599, i32 0, i32 0
  %24252 = load i32, ptr %24251, align 4
  %24253 = call zeroext i1 @s2n_result_is_ok(i32 %24252)
  br i1 %24253, label %24307, label %24254

24254:                                            ; preds = %24245
  br label %24255

24255:                                            ; preds = %24254
  br label %24256

24256:                                            ; preds = %24255
  call void @llvm.lifetime.start.p0(i64 4, ptr %600) #11
  %24257 = call ptr @__errno_location() #12
  %24258 = load i32, ptr %24257, align 4, !tbaa !5
  store i32 %24258, ptr %600, align 4, !tbaa !5
  %24259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24260 = call i32 @s2n_print_stacktrace(ptr noundef %24259)
  %24261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24262 = trunc i8 %24261 to i1
  br i1 %24262, label %24263, label %24285

24263:                                            ; preds = %24256
  %24264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24265 = call i32 @fileno(ptr noundef %24264) #11
  %24266 = call i32 @isatty(i32 noundef %24265) #11
  %24267 = icmp ne i32 %24266, 0
  br i1 %24267, label %24268, label %24285

24268:                                            ; preds = %24263
  %24269 = load i32, ptr %600, align 4, !tbaa !5
  %24270 = call ptr @__errno_location() #12
  store i32 %24269, ptr %24270, align 4, !tbaa !5
  %24271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24272 = load i32, ptr @test_count, align 4, !tbaa !5
  %24273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24274 = load i32, ptr %24273, align 4, !tbaa !5
  %24275 = call ptr @s2n_strerror(i32 noundef %24274, ptr noundef @.str.25)
  %24276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24277 = load i32, ptr %24276, align 4, !tbaa !5
  %24278 = call ptr @s2n_strerror_debug(i32 noundef %24277, ptr noundef @.str.25)
  %24279 = call ptr @__errno_location() #12
  %24280 = load i32, ptr %24279, align 4, !tbaa !5
  %24281 = call ptr @strerror(i32 noundef %24280) #11
  %24282 = call ptr @__errno_location() #12
  %24283 = load i32, ptr %24282, align 4, !tbaa !5
  %24284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24271, ptr noundef @.str.23, i32 noundef %24272, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1166, ptr noundef %24275, ptr noundef %24278, ptr noundef %24281, i32 noundef %24283) #11
  br label %24302

24285:                                            ; preds = %24263, %24256
  %24286 = load i32, ptr %600, align 4, !tbaa !5
  %24287 = call ptr @__errno_location() #12
  store i32 %24286, ptr %24287, align 4, !tbaa !5
  %24288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24289 = load i32, ptr @test_count, align 4, !tbaa !5
  %24290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24291 = load i32, ptr %24290, align 4, !tbaa !5
  %24292 = call ptr @s2n_strerror(i32 noundef %24291, ptr noundef @.str.25)
  %24293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24294 = load i32, ptr %24293, align 4, !tbaa !5
  %24295 = call ptr @s2n_strerror_debug(i32 noundef %24294, ptr noundef @.str.25)
  %24296 = call ptr @__errno_location() #12
  %24297 = load i32, ptr %24296, align 4, !tbaa !5
  %24298 = call ptr @strerror(i32 noundef %24297) #11
  %24299 = call ptr @__errno_location() #12
  %24300 = load i32, ptr %24299, align 4, !tbaa !5
  %24301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24288, ptr noundef @.str.26, i32 noundef %24289, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1166, ptr noundef %24292, ptr noundef %24295, ptr noundef %24298, i32 noundef %24300) #11
  br label %24302

24302:                                            ; preds = %24285, %24268
  call void @llvm.lifetime.end.p0(i64 4, ptr %600) #11
  br label %24303

24303:                                            ; preds = %24302
  br label %24304

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

24305:                                            ; No predecessors!
  br label %24306

24306:                                            ; preds = %24305
  br label %24307

24307:                                            ; preds = %24306, %24245
  br label %24308

24308:                                            ; preds = %24307
  br label %24309

24309:                                            ; preds = %24308
  br label %24310

24310:                                            ; preds = %24309
  %24311 = load i32, ptr @test_count, align 4, !tbaa !5
  %24312 = add nsw i32 %24311, 1
  store i32 %24312, ptr @test_count, align 4, !tbaa !5
  %24313 = load ptr, ptr %588, align 8, !tbaa !9
  %24314 = call i32 @s2n_assert_tickets_sent(ptr noundef %24313, i16 noundef zeroext 1)
  %24315 = getelementptr inbounds %struct.s2n_result, ptr %601, i32 0, i32 0
  store i32 %24314, ptr %24315, align 4
  %24316 = getelementptr inbounds %struct.s2n_result, ptr %601, i32 0, i32 0
  %24317 = load i32, ptr %24316, align 4
  %24318 = call zeroext i1 @s2n_result_is_ok(i32 %24317)
  br i1 %24318, label %24372, label %24319

24319:                                            ; preds = %24310
  br label %24320

24320:                                            ; preds = %24319
  br label %24321

24321:                                            ; preds = %24320
  call void @llvm.lifetime.start.p0(i64 4, ptr %602) #11
  %24322 = call ptr @__errno_location() #12
  %24323 = load i32, ptr %24322, align 4, !tbaa !5
  store i32 %24323, ptr %602, align 4, !tbaa !5
  %24324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24325 = call i32 @s2n_print_stacktrace(ptr noundef %24324)
  %24326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24327 = trunc i8 %24326 to i1
  br i1 %24327, label %24328, label %24350

24328:                                            ; preds = %24321
  %24329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24330 = call i32 @fileno(ptr noundef %24329) #11
  %24331 = call i32 @isatty(i32 noundef %24330) #11
  %24332 = icmp ne i32 %24331, 0
  br i1 %24332, label %24333, label %24350

24333:                                            ; preds = %24328
  %24334 = load i32, ptr %602, align 4, !tbaa !5
  %24335 = call ptr @__errno_location() #12
  store i32 %24334, ptr %24335, align 4, !tbaa !5
  %24336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24337 = load i32, ptr @test_count, align 4, !tbaa !5
  %24338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24339 = load i32, ptr %24338, align 4, !tbaa !5
  %24340 = call ptr @s2n_strerror(i32 noundef %24339, ptr noundef @.str.25)
  %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_debug(i32 noundef %24342, ptr noundef @.str.25)
  %24344 = call ptr @__errno_location() #12
  %24345 = load i32, ptr %24344, align 4, !tbaa !5
  %24346 = call ptr @strerror(i32 noundef %24345) #11
  %24347 = call ptr @__errno_location() #12
  %24348 = load i32, ptr %24347, align 4, !tbaa !5
  %24349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24336, ptr noundef @.str.23, i32 noundef %24337, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 1167, ptr noundef %24340, ptr noundef %24343, ptr noundef %24346, i32 noundef %24348) #11
  br label %24367

24350:                                            ; preds = %24328, %24321
  %24351 = load i32, ptr %602, align 4, !tbaa !5
  %24352 = call ptr @__errno_location() #12
  store i32 %24351, ptr %24352, align 4, !tbaa !5
  %24353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24354 = load i32, ptr @test_count, align 4, !tbaa !5
  %24355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24356 = load i32, ptr %24355, align 4, !tbaa !5
  %24357 = call ptr @s2n_strerror(i32 noundef %24356, ptr noundef @.str.25)
  %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_debug(i32 noundef %24359, ptr noundef @.str.25)
  %24361 = call ptr @__errno_location() #12
  %24362 = load i32, ptr %24361, align 4, !tbaa !5
  %24363 = call ptr @strerror(i32 noundef %24362) #11
  %24364 = call ptr @__errno_location() #12
  %24365 = load i32, ptr %24364, align 4, !tbaa !5
  %24366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24353, ptr noundef @.str.26, i32 noundef %24354, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 1167, ptr noundef %24357, ptr noundef %24360, ptr noundef %24363, i32 noundef %24365) #11
  br label %24367

24367:                                            ; preds = %24350, %24333
  call void @llvm.lifetime.end.p0(i64 4, ptr %602) #11
  br label %24368

24368:                                            ; preds = %24367
  br label %24369

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

24370:                                            ; No predecessors!
  br label %24371

24371:                                            ; preds = %24370
  br label %24372

24372:                                            ; preds = %24371, %24310
  br label %24373

24373:                                            ; preds = %24372
  br label %24374

24374:                                            ; preds = %24373
  call void @llvm.lifetime.start.p0(i64 2, ptr %603) #11
  store i16 0, ptr %603, align 2, !tbaa !49
  br label %24375

24375:                                            ; preds = %24374
  %24376 = load i32, ptr @test_count, align 4, !tbaa !5
  %24377 = add nsw i32 %24376, 1
  store i32 %24377, ptr @test_count, align 4, !tbaa !5
  %24378 = call i32 @s2n_stuffer_skip_read(ptr noundef %595, i32 noundef 3)
  %24379 = icmp eq i32 %24378, -1
  br i1 %24379, label %24380, label %24433

24380:                                            ; preds = %24375
  br label %24381

24381:                                            ; preds = %24380
  br label %24382

24382:                                            ; preds = %24381
  call void @llvm.lifetime.start.p0(i64 4, ptr %604) #11
  %24383 = call ptr @__errno_location() #12
  %24384 = load i32, ptr %24383, align 4, !tbaa !5
  store i32 %24384, ptr %604, align 4, !tbaa !5
  %24385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24386 = call i32 @s2n_print_stacktrace(ptr noundef %24385)
  %24387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24388 = trunc i8 %24387 to i1
  br i1 %24388, label %24389, label %24411

24389:                                            ; preds = %24382
  %24390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24391 = call i32 @fileno(ptr noundef %24390) #11
  %24392 = call i32 @isatty(i32 noundef %24391) #11
  %24393 = icmp ne i32 %24392, 0
  br i1 %24393, label %24394, label %24411

24394:                                            ; preds = %24389
  %24395 = load i32, ptr %604, align 4, !tbaa !5
  %24396 = call ptr @__errno_location() #12
  store i32 %24395, ptr %24396, align 4, !tbaa !5
  %24397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24398 = load i32, ptr @test_count, align 4, !tbaa !5
  %24399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24400 = load i32, ptr %24399, align 4, !tbaa !5
  %24401 = call ptr @s2n_strerror(i32 noundef %24400, ptr noundef @.str.25)
  %24402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24403 = load i32, ptr %24402, align 4, !tbaa !5
  %24404 = call ptr @s2n_strerror_debug(i32 noundef %24403, ptr noundef @.str.25)
  %24405 = call ptr @__errno_location() #12
  %24406 = load i32, ptr %24405, align 4, !tbaa !5
  %24407 = call ptr @strerror(i32 noundef %24406) #11
  %24408 = call ptr @__errno_location() #12
  %24409 = load i32, ptr %24408, align 4, !tbaa !5
  %24410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24397, ptr noundef @.str.23, i32 noundef %24398, ptr noundef @.str.179, ptr noundef @.str.22, i32 noundef 1171, ptr noundef %24401, ptr noundef %24404, ptr noundef %24407, i32 noundef %24409) #11
  br label %24428

24411:                                            ; preds = %24389, %24382
  %24412 = load i32, ptr %604, align 4, !tbaa !5
  %24413 = call ptr @__errno_location() #12
  store i32 %24412, ptr %24413, align 4, !tbaa !5
  %24414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24415 = load i32, ptr @test_count, align 4, !tbaa !5
  %24416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24417 = load i32, ptr %24416, align 4, !tbaa !5
  %24418 = call ptr @s2n_strerror(i32 noundef %24417, ptr noundef @.str.25)
  %24419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24420 = load i32, ptr %24419, align 4, !tbaa !5
  %24421 = call ptr @s2n_strerror_debug(i32 noundef %24420, ptr noundef @.str.25)
  %24422 = call ptr @__errno_location() #12
  %24423 = load i32, ptr %24422, align 4, !tbaa !5
  %24424 = call ptr @strerror(i32 noundef %24423) #11
  %24425 = call ptr @__errno_location() #12
  %24426 = load i32, ptr %24425, align 4, !tbaa !5
  %24427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24414, ptr noundef @.str.26, i32 noundef %24415, ptr noundef @.str.179, ptr noundef @.str.22, i32 noundef 1171, ptr noundef %24418, ptr noundef %24421, ptr noundef %24424, i32 noundef %24426) #11
  br label %24428

24428:                                            ; preds = %24411, %24394
  call void @llvm.lifetime.end.p0(i64 4, ptr %604) #11
  br label %24429

24429:                                            ; preds = %24428
  br label %24430

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

24431:                                            ; No predecessors!
  br label %24432

24432:                                            ; preds = %24431
  br label %24433

24433:                                            ; preds = %24432, %24375
  br label %24434

24434:                                            ; preds = %24433
  br label %24435

24435:                                            ; preds = %24434
  br label %24436

24436:                                            ; preds = %24435
  %24437 = load i32, ptr @test_count, align 4, !tbaa !5
  %24438 = add nsw i32 %24437, 1
  store i32 %24438, ptr @test_count, align 4, !tbaa !5
  %24439 = call i32 @s2n_stuffer_read_uint16(ptr noundef %595, ptr noundef %603)
  %24440 = icmp eq i32 %24439, -1
  br i1 %24440, label %24441, label %24494

24441:                                            ; preds = %24436
  br label %24442

24442:                                            ; preds = %24441
  br label %24443

24443:                                            ; preds = %24442
  call void @llvm.lifetime.start.p0(i64 4, ptr %605) #11
  %24444 = call ptr @__errno_location() #12
  %24445 = load i32, ptr %24444, align 4, !tbaa !5
  store i32 %24445, ptr %605, align 4, !tbaa !5
  %24446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24447 = call i32 @s2n_print_stacktrace(ptr noundef %24446)
  %24448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24449 = trunc i8 %24448 to i1
  br i1 %24449, label %24450, label %24472

24450:                                            ; preds = %24443
  %24451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24452 = call i32 @fileno(ptr noundef %24451) #11
  %24453 = call i32 @isatty(i32 noundef %24452) #11
  %24454 = icmp ne i32 %24453, 0
  br i1 %24454, label %24455, label %24472

24455:                                            ; preds = %24450
  %24456 = load i32, ptr %605, align 4, !tbaa !5
  %24457 = call ptr @__errno_location() #12
  store i32 %24456, ptr %24457, align 4, !tbaa !5
  %24458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24459 = load i32, ptr @test_count, align 4, !tbaa !5
  %24460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24461 = load i32, ptr %24460, align 4, !tbaa !5
  %24462 = call ptr @s2n_strerror(i32 noundef %24461, ptr noundef @.str.25)
  %24463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24464 = load i32, ptr %24463, align 4, !tbaa !5
  %24465 = call ptr @s2n_strerror_debug(i32 noundef %24464, ptr noundef @.str.25)
  %24466 = call ptr @__errno_location() #12
  %24467 = load i32, ptr %24466, align 4, !tbaa !5
  %24468 = call ptr @strerror(i32 noundef %24467) #11
  %24469 = call ptr @__errno_location() #12
  %24470 = load i32, ptr %24469, align 4, !tbaa !5
  %24471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24458, ptr noundef @.str.23, i32 noundef %24459, ptr noundef @.str.180, ptr noundef @.str.22, i32 noundef 1172, ptr noundef %24462, ptr noundef %24465, ptr noundef %24468, i32 noundef %24470) #11
  br label %24489

24472:                                            ; preds = %24450, %24443
  %24473 = load i32, ptr %605, align 4, !tbaa !5
  %24474 = call ptr @__errno_location() #12
  store i32 %24473, ptr %24474, align 4, !tbaa !5
  %24475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24476 = load i32, ptr @test_count, align 4, !tbaa !5
  %24477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24478 = load i32, ptr %24477, align 4, !tbaa !5
  %24479 = call ptr @s2n_strerror(i32 noundef %24478, ptr noundef @.str.25)
  %24480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24481 = load i32, ptr %24480, align 4, !tbaa !5
  %24482 = call ptr @s2n_strerror_debug(i32 noundef %24481, ptr noundef @.str.25)
  %24483 = call ptr @__errno_location() #12
  %24484 = load i32, ptr %24483, align 4, !tbaa !5
  %24485 = call ptr @strerror(i32 noundef %24484) #11
  %24486 = call ptr @__errno_location() #12
  %24487 = load i32, ptr %24486, align 4, !tbaa !5
  %24488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24475, ptr noundef @.str.26, i32 noundef %24476, ptr noundef @.str.180, ptr noundef @.str.22, i32 noundef 1172, ptr noundef %24479, ptr noundef %24482, ptr noundef %24485, i32 noundef %24487) #11
  br label %24489

24489:                                            ; preds = %24472, %24455
  call void @llvm.lifetime.end.p0(i64 4, ptr %605) #11
  br label %24490

24490:                                            ; preds = %24489
  br label %24491

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

24492:                                            ; No predecessors!
  br label %24493

24493:                                            ; preds = %24492
  br label %24494

24494:                                            ; preds = %24493, %24436
  br label %24495

24495:                                            ; preds = %24494
  br label %24496

24496:                                            ; preds = %24495
  br label %24497

24497:                                            ; preds = %24496
  %24498 = load i32, ptr @test_count, align 4, !tbaa !5
  %24499 = add nsw i32 %24498, 1
  store i32 %24499, ptr @test_count, align 4, !tbaa !5
  %24500 = load i16, ptr %603, align 2, !tbaa !49
  %24501 = zext i16 %24500 to i32
  %24502 = icmp sgt i32 %24501, 0
  br i1 %24502, label %24556, label %24503

24503:                                            ; preds = %24497
  br label %24504

24504:                                            ; preds = %24503
  br label %24505

24505:                                            ; preds = %24504
  call void @llvm.lifetime.start.p0(i64 4, ptr %606) #11
  %24506 = call ptr @__errno_location() #12
  %24507 = load i32, ptr %24506, align 4, !tbaa !5
  store i32 %24507, ptr %606, align 4, !tbaa !5
  %24508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24509 = call i32 @s2n_print_stacktrace(ptr noundef %24508)
  %24510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24511 = trunc i8 %24510 to i1
  br i1 %24511, label %24512, label %24534

24512:                                            ; preds = %24505
  %24513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24514 = call i32 @fileno(ptr noundef %24513) #11
  %24515 = call i32 @isatty(i32 noundef %24514) #11
  %24516 = icmp ne i32 %24515, 0
  br i1 %24516, label %24517, label %24534

24517:                                            ; preds = %24512
  %24518 = load i32, ptr %606, align 4, !tbaa !5
  %24519 = call ptr @__errno_location() #12
  store i32 %24518, ptr %24519, align 4, !tbaa !5
  %24520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24521 = load i32, ptr @test_count, align 4, !tbaa !5
  %24522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24523 = load i32, ptr %24522, align 4, !tbaa !5
  %24524 = call ptr @s2n_strerror(i32 noundef %24523, ptr noundef @.str.25)
  %24525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24526 = load i32, ptr %24525, align 4, !tbaa !5
  %24527 = call ptr @s2n_strerror_debug(i32 noundef %24526, ptr noundef @.str.25)
  %24528 = call ptr @__errno_location() #12
  %24529 = load i32, ptr %24528, align 4, !tbaa !5
  %24530 = call ptr @strerror(i32 noundef %24529) #11
  %24531 = call ptr @__errno_location() #12
  %24532 = load i32, ptr %24531, align 4, !tbaa !5
  %24533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24520, ptr noundef @.str.23, i32 noundef %24521, ptr noundef @.str.181, ptr noundef @.str.22, i32 noundef 1173, ptr noundef %24524, ptr noundef %24527, ptr noundef %24530, i32 noundef %24532) #11
  br label %24551

24534:                                            ; preds = %24512, %24505
  %24535 = load i32, ptr %606, align 4, !tbaa !5
  %24536 = call ptr @__errno_location() #12
  store i32 %24535, ptr %24536, align 4, !tbaa !5
  %24537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24538 = load i32, ptr @test_count, align 4, !tbaa !5
  %24539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24540 = load i32, ptr %24539, align 4, !tbaa !5
  %24541 = call ptr @s2n_strerror(i32 noundef %24540, ptr noundef @.str.25)
  %24542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24543 = load i32, ptr %24542, align 4, !tbaa !5
  %24544 = call ptr @s2n_strerror_debug(i32 noundef %24543, ptr noundef @.str.25)
  %24545 = call ptr @__errno_location() #12
  %24546 = load i32, ptr %24545, align 4, !tbaa !5
  %24547 = call ptr @strerror(i32 noundef %24546) #11
  %24548 = call ptr @__errno_location() #12
  %24549 = load i32, ptr %24548, align 4, !tbaa !5
  %24550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24537, ptr noundef @.str.26, i32 noundef %24538, ptr noundef @.str.181, ptr noundef @.str.22, i32 noundef 1173, ptr noundef %24541, ptr noundef %24544, ptr noundef %24547, i32 noundef %24549) #11
  br label %24551

24551:                                            ; preds = %24534, %24517
  call void @llvm.lifetime.end.p0(i64 4, ptr %606) #11
  br label %24552

24552:                                            ; preds = %24551
  br label %24553

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

24554:                                            ; No predecessors!
  br label %24555

24555:                                            ; preds = %24554
  br label %24556

24556:                                            ; preds = %24555, %24497
  br label %24557

24557:                                            ; preds = %24556
  br label %24558

24558:                                            ; preds = %24557
  br label %24559

24559:                                            ; preds = %24558
  %24560 = load i32, ptr @test_count, align 4, !tbaa !5
  %24561 = add nsw i32 %24560, 1
  store i32 %24561, ptr @test_count, align 4, !tbaa !5
  %24562 = load i16, ptr %603, align 2, !tbaa !49
  %24563 = zext i16 %24562 to i32
  %24564 = call i32 @s2n_stuffer_skip_read(ptr noundef %595, i32 noundef %24563)
  %24565 = icmp eq i32 %24564, -1
  br i1 %24565, label %24566, label %24619

24566:                                            ; preds = %24559
  br label %24567

24567:                                            ; preds = %24566
  br label %24568

24568:                                            ; preds = %24567
  call void @llvm.lifetime.start.p0(i64 4, ptr %607) #11
  %24569 = call ptr @__errno_location() #12
  %24570 = load i32, ptr %24569, align 4, !tbaa !5
  store i32 %24570, ptr %607, align 4, !tbaa !5
  %24571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24572 = call i32 @s2n_print_stacktrace(ptr noundef %24571)
  %24573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24574 = trunc i8 %24573 to i1
  br i1 %24574, label %24575, label %24597

24575:                                            ; preds = %24568
  %24576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24577 = call i32 @fileno(ptr noundef %24576) #11
  %24578 = call i32 @isatty(i32 noundef %24577) #11
  %24579 = icmp ne i32 %24578, 0
  br i1 %24579, label %24580, label %24597

24580:                                            ; preds = %24575
  %24581 = load i32, ptr %607, align 4, !tbaa !5
  %24582 = call ptr @__errno_location() #12
  store i32 %24581, ptr %24582, align 4, !tbaa !5
  %24583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24584 = load i32, ptr @test_count, align 4, !tbaa !5
  %24585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24586 = load i32, ptr %24585, align 4, !tbaa !5
  %24587 = call ptr @s2n_strerror(i32 noundef %24586, ptr noundef @.str.25)
  %24588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24589 = load i32, ptr %24588, align 4, !tbaa !5
  %24590 = call ptr @s2n_strerror_debug(i32 noundef %24589, ptr noundef @.str.25)
  %24591 = call ptr @__errno_location() #12
  %24592 = load i32, ptr %24591, align 4, !tbaa !5
  %24593 = call ptr @strerror(i32 noundef %24592) #11
  %24594 = call ptr @__errno_location() #12
  %24595 = load i32, ptr %24594, align 4, !tbaa !5
  %24596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24583, ptr noundef @.str.23, i32 noundef %24584, ptr noundef @.str.182, ptr noundef @.str.22, i32 noundef 1174, ptr noundef %24587, ptr noundef %24590, ptr noundef %24593, i32 noundef %24595) #11
  br label %24614

24597:                                            ; preds = %24575, %24568
  %24598 = load i32, ptr %607, align 4, !tbaa !5
  %24599 = call ptr @__errno_location() #12
  store i32 %24598, ptr %24599, align 4, !tbaa !5
  %24600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24601 = load i32, ptr @test_count, align 4, !tbaa !5
  %24602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24603 = load i32, ptr %24602, align 4, !tbaa !5
  %24604 = call ptr @s2n_strerror(i32 noundef %24603, ptr noundef @.str.25)
  %24605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24606 = load i32, ptr %24605, align 4, !tbaa !5
  %24607 = call ptr @s2n_strerror_debug(i32 noundef %24606, ptr noundef @.str.25)
  %24608 = call ptr @__errno_location() #12
  %24609 = load i32, ptr %24608, align 4, !tbaa !5
  %24610 = call ptr @strerror(i32 noundef %24609) #11
  %24611 = call ptr @__errno_location() #12
  %24612 = load i32, ptr %24611, align 4, !tbaa !5
  %24613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24600, ptr noundef @.str.26, i32 noundef %24601, ptr noundef @.str.182, ptr noundef @.str.22, i32 noundef 1174, ptr noundef %24604, ptr noundef %24607, ptr noundef %24610, i32 noundef %24612) #11
  br label %24614

24614:                                            ; preds = %24597, %24580
  call void @llvm.lifetime.end.p0(i64 4, ptr %607) #11
  br label %24615

24615:                                            ; preds = %24614
  br label %24616

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

24617:                                            ; No predecessors!
  br label %24618

24618:                                            ; preds = %24617
  br label %24619

24619:                                            ; preds = %24618, %24559
  br label %24620

24620:                                            ; preds = %24619
  br label %24621

24621:                                            ; preds = %24620
  br label %24622

24622:                                            ; preds = %24621
  %24623 = load i32, ptr @test_count, align 4, !tbaa !5
  %24624 = add nsw i32 %24623, 1
  store i32 %24624, ptr @test_count, align 4, !tbaa !5
  %24625 = getelementptr inbounds %struct.s2n_stuffer, ptr %595, i32 0, i32 2
  %24626 = load i32, ptr %24625, align 4, !tbaa !52
  %24627 = getelementptr inbounds %struct.s2n_stuffer, ptr %595, i32 0, i32 1
  %24628 = load i32, ptr %24627, align 8, !tbaa !53
  %24629 = sub i32 %24626, %24628
  %24630 = icmp eq i32 %24629, 0
  br i1 %24630, label %24684, label %24631

24631:                                            ; preds = %24622
  br label %24632

24632:                                            ; preds = %24631
  br label %24633

24633:                                            ; preds = %24632
  call void @llvm.lifetime.start.p0(i64 4, ptr %608) #11
  %24634 = call ptr @__errno_location() #12
  %24635 = load i32, ptr %24634, align 4, !tbaa !5
  store i32 %24635, ptr %608, align 4, !tbaa !5
  %24636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24637 = call i32 @s2n_print_stacktrace(ptr noundef %24636)
  %24638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24639 = trunc i8 %24638 to i1
  br i1 %24639, label %24640, label %24662

24640:                                            ; preds = %24633
  %24641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24642 = call i32 @fileno(ptr noundef %24641) #11
  %24643 = call i32 @isatty(i32 noundef %24642) #11
  %24644 = icmp ne i32 %24643, 0
  br i1 %24644, label %24645, label %24662

24645:                                            ; preds = %24640
  %24646 = load i32, ptr %608, align 4, !tbaa !5
  %24647 = call ptr @__errno_location() #12
  store i32 %24646, ptr %24647, align 4, !tbaa !5
  %24648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24649 = load i32, ptr @test_count, align 4, !tbaa !5
  %24650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24651 = load i32, ptr %24650, align 4, !tbaa !5
  %24652 = call ptr @s2n_strerror(i32 noundef %24651, ptr noundef @.str.25)
  %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_debug(i32 noundef %24654, ptr noundef @.str.25)
  %24656 = call ptr @__errno_location() #12
  %24657 = load i32, ptr %24656, align 4, !tbaa !5
  %24658 = call ptr @strerror(i32 noundef %24657) #11
  %24659 = call ptr @__errno_location() #12
  %24660 = load i32, ptr %24659, align 4, !tbaa !5
  %24661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24648, ptr noundef @.str.23, i32 noundef %24649, ptr noundef @.str.183, ptr noundef @.str.22, i32 noundef 1175, ptr noundef %24652, ptr noundef %24655, ptr noundef %24658, i32 noundef %24660) #11
  br label %24679

24662:                                            ; preds = %24640, %24633
  %24663 = load i32, ptr %608, align 4, !tbaa !5
  %24664 = call ptr @__errno_location() #12
  store i32 %24663, ptr %24664, align 4, !tbaa !5
  %24665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24666 = load i32, ptr @test_count, align 4, !tbaa !5
  %24667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24668 = load i32, ptr %24667, align 4, !tbaa !5
  %24669 = call ptr @s2n_strerror(i32 noundef %24668, ptr noundef @.str.25)
  %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_debug(i32 noundef %24671, ptr noundef @.str.25)
  %24673 = call ptr @__errno_location() #12
  %24674 = load i32, ptr %24673, align 4, !tbaa !5
  %24675 = call ptr @strerror(i32 noundef %24674) #11
  %24676 = call ptr @__errno_location() #12
  %24677 = load i32, ptr %24676, align 4, !tbaa !5
  %24678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24665, ptr noundef @.str.26, i32 noundef %24666, ptr noundef @.str.183, ptr noundef @.str.22, i32 noundef 1175, ptr noundef %24669, ptr noundef %24672, ptr noundef %24675, i32 noundef %24677) #11
  br label %24679

24679:                                            ; preds = %24662, %24645
  call void @llvm.lifetime.end.p0(i64 4, ptr %608) #11
  br label %24680

24680:                                            ; preds = %24679
  br label %24681

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

24682:                                            ; No predecessors!
  br label %24683

24683:                                            ; preds = %24682
  br label %24684

24684:                                            ; preds = %24683, %24622
  br label %24685

24685:                                            ; preds = %24684
  br label %24686

24686:                                            ; preds = %24685
  br label %24687

24687:                                            ; preds = %24686
  %24688 = load i32, ptr @test_count, align 4, !tbaa !5
  %24689 = add nsw i32 %24688, 1
  store i32 %24689, ptr @test_count, align 4, !tbaa !5
  %24690 = call i32 @s2n_stuffer_free(ptr noundef %595)
  %24691 = icmp eq i32 %24690, -1
  br i1 %24691, label %24692, label %24745

24692:                                            ; preds = %24687
  br label %24693

24693:                                            ; preds = %24692
  br label %24694

24694:                                            ; preds = %24693
  call void @llvm.lifetime.start.p0(i64 4, ptr %609) #11
  %24695 = call ptr @__errno_location() #12
  %24696 = load i32, ptr %24695, align 4, !tbaa !5
  store i32 %24696, ptr %609, align 4, !tbaa !5
  %24697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24698 = call i32 @s2n_print_stacktrace(ptr noundef %24697)
  %24699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24700 = trunc i8 %24699 to i1
  br i1 %24700, label %24701, label %24723

24701:                                            ; preds = %24694
  %24702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24703 = call i32 @fileno(ptr noundef %24702) #11
  %24704 = call i32 @isatty(i32 noundef %24703) #11
  %24705 = icmp ne i32 %24704, 0
  br i1 %24705, label %24706, label %24723

24706:                                            ; preds = %24701
  %24707 = load i32, ptr %609, align 4, !tbaa !5
  %24708 = call ptr @__errno_location() #12
  store i32 %24707, ptr %24708, align 4, !tbaa !5
  %24709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24710 = load i32, ptr @test_count, align 4, !tbaa !5
  %24711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24712 = load i32, ptr %24711, align 4, !tbaa !5
  %24713 = call ptr @s2n_strerror(i32 noundef %24712, ptr noundef @.str.25)
  %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_debug(i32 noundef %24715, ptr noundef @.str.25)
  %24717 = call ptr @__errno_location() #12
  %24718 = load i32, ptr %24717, align 4, !tbaa !5
  %24719 = call ptr @strerror(i32 noundef %24718) #11
  %24720 = call ptr @__errno_location() #12
  %24721 = load i32, ptr %24720, align 4, !tbaa !5
  %24722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24709, ptr noundef @.str.23, i32 noundef %24710, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1177, ptr noundef %24713, ptr noundef %24716, ptr noundef %24719, i32 noundef %24721) #11
  br label %24740

24723:                                            ; preds = %24701, %24694
  %24724 = load i32, ptr %609, align 4, !tbaa !5
  %24725 = call ptr @__errno_location() #12
  store i32 %24724, ptr %24725, align 4, !tbaa !5
  %24726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24727 = load i32, ptr @test_count, align 4, !tbaa !5
  %24728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24729 = load i32, ptr %24728, align 4, !tbaa !5
  %24730 = call ptr @s2n_strerror(i32 noundef %24729, ptr noundef @.str.25)
  %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_debug(i32 noundef %24732, ptr noundef @.str.25)
  %24734 = call ptr @__errno_location() #12
  %24735 = load i32, ptr %24734, align 4, !tbaa !5
  %24736 = call ptr @strerror(i32 noundef %24735) #11
  %24737 = call ptr @__errno_location() #12
  %24738 = load i32, ptr %24737, align 4, !tbaa !5
  %24739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24726, ptr noundef @.str.26, i32 noundef %24727, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1177, ptr noundef %24730, ptr noundef %24733, ptr noundef %24736, i32 noundef %24738) #11
  br label %24740

24740:                                            ; preds = %24723, %24706
  call void @llvm.lifetime.end.p0(i64 4, ptr %609) #11
  br label %24741

24741:                                            ; preds = %24740
  br label %24742

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

24743:                                            ; No predecessors!
  br label %24744

24744:                                            ; preds = %24743
  br label %24745

24745:                                            ; preds = %24744, %24687
  br label %24746

24746:                                            ; preds = %24745
  br label %24747

24747:                                            ; preds = %24746
  br label %24748

24748:                                            ; preds = %24747
  %24749 = load i32, ptr @test_count, align 4, !tbaa !5
  %24750 = add nsw i32 %24749, 1
  store i32 %24750, ptr @test_count, align 4, !tbaa !5
  %24751 = load ptr, ptr %588, align 8, !tbaa !9
  %24752 = call i32 @s2n_connection_free(ptr noundef %24751)
  %24753 = icmp eq i32 %24752, -1
  br i1 %24753, label %24754, label %24807

24754:                                            ; preds = %24748
  br label %24755

24755:                                            ; preds = %24754
  br label %24756

24756:                                            ; preds = %24755
  call void @llvm.lifetime.start.p0(i64 4, ptr %610) #11
  %24757 = call ptr @__errno_location() #12
  %24758 = load i32, ptr %24757, align 4, !tbaa !5
  store i32 %24758, ptr %610, align 4, !tbaa !5
  %24759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24760 = call i32 @s2n_print_stacktrace(ptr noundef %24759)
  %24761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24762 = trunc i8 %24761 to i1
  br i1 %24762, label %24763, label %24785

24763:                                            ; preds = %24756
  %24764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24765 = call i32 @fileno(ptr noundef %24764) #11
  %24766 = call i32 @isatty(i32 noundef %24765) #11
  %24767 = icmp ne i32 %24766, 0
  br i1 %24767, label %24768, label %24785

24768:                                            ; preds = %24763
  %24769 = load i32, ptr %610, align 4, !tbaa !5
  %24770 = call ptr @__errno_location() #12
  store i32 %24769, ptr %24770, align 4, !tbaa !5
  %24771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24772 = load i32, ptr @test_count, align 4, !tbaa !5
  %24773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24774 = load i32, ptr %24773, align 4, !tbaa !5
  %24775 = call ptr @s2n_strerror(i32 noundef %24774, ptr noundef @.str.25)
  %24776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24777 = load i32, ptr %24776, align 4, !tbaa !5
  %24778 = call ptr @s2n_strerror_debug(i32 noundef %24777, ptr noundef @.str.25)
  %24779 = call ptr @__errno_location() #12
  %24780 = load i32, ptr %24779, align 4, !tbaa !5
  %24781 = call ptr @strerror(i32 noundef %24780) #11
  %24782 = call ptr @__errno_location() #12
  %24783 = load i32, ptr %24782, align 4, !tbaa !5
  %24784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24771, ptr noundef @.str.23, i32 noundef %24772, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1178, ptr noundef %24775, ptr noundef %24778, ptr noundef %24781, i32 noundef %24783) #11
  br label %24802

24785:                                            ; preds = %24763, %24756
  %24786 = load i32, ptr %610, align 4, !tbaa !5
  %24787 = call ptr @__errno_location() #12
  store i32 %24786, ptr %24787, align 4, !tbaa !5
  %24788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24789 = load i32, ptr @test_count, align 4, !tbaa !5
  %24790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24791 = load i32, ptr %24790, align 4, !tbaa !5
  %24792 = call ptr @s2n_strerror(i32 noundef %24791, ptr noundef @.str.25)
  %24793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24794 = load i32, ptr %24793, align 4, !tbaa !5
  %24795 = call ptr @s2n_strerror_debug(i32 noundef %24794, ptr noundef @.str.25)
  %24796 = call ptr @__errno_location() #12
  %24797 = load i32, ptr %24796, align 4, !tbaa !5
  %24798 = call ptr @strerror(i32 noundef %24797) #11
  %24799 = call ptr @__errno_location() #12
  %24800 = load i32, ptr %24799, align 4, !tbaa !5
  %24801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24788, ptr noundef @.str.26, i32 noundef %24789, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1178, ptr noundef %24792, ptr noundef %24795, ptr noundef %24798, i32 noundef %24800) #11
  br label %24802

24802:                                            ; preds = %24785, %24768
  call void @llvm.lifetime.end.p0(i64 4, ptr %610) #11
  br label %24803

24803:                                            ; preds = %24802
  br label %24804

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

24805:                                            ; No predecessors!
  br label %24806

24806:                                            ; preds = %24805
  br label %24807

24807:                                            ; preds = %24806, %24748
  br label %24808

24808:                                            ; preds = %24807
  br label %24809

24809:                                            ; preds = %24808
  br label %24810

24810:                                            ; preds = %24809
  %24811 = load i32, ptr @test_count, align 4, !tbaa !5
  %24812 = add nsw i32 %24811, 1
  store i32 %24812, ptr @test_count, align 4, !tbaa !5
  %24813 = load ptr, ptr %587, align 8, !tbaa !9
  %24814 = call i32 @s2n_config_free(ptr noundef %24813)
  %24815 = icmp eq i32 %24814, -1
  br i1 %24815, label %24816, label %24869

24816:                                            ; preds = %24810
  br label %24817

24817:                                            ; preds = %24816
  br label %24818

24818:                                            ; preds = %24817
  call void @llvm.lifetime.start.p0(i64 4, ptr %611) #11
  %24819 = call ptr @__errno_location() #12
  %24820 = load i32, ptr %24819, align 4, !tbaa !5
  store i32 %24820, ptr %611, align 4, !tbaa !5
  %24821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24822 = call i32 @s2n_print_stacktrace(ptr noundef %24821)
  %24823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24824 = trunc i8 %24823 to i1
  br i1 %24824, label %24825, label %24847

24825:                                            ; preds = %24818
  %24826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24827 = call i32 @fileno(ptr noundef %24826) #11
  %24828 = call i32 @isatty(i32 noundef %24827) #11
  %24829 = icmp ne i32 %24828, 0
  br i1 %24829, label %24830, label %24847

24830:                                            ; preds = %24825
  %24831 = load i32, ptr %611, align 4, !tbaa !5
  %24832 = call ptr @__errno_location() #12
  store i32 %24831, ptr %24832, align 4, !tbaa !5
  %24833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24834 = load i32, ptr @test_count, align 4, !tbaa !5
  %24835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24836 = load i32, ptr %24835, align 4, !tbaa !5
  %24837 = call ptr @s2n_strerror(i32 noundef %24836, ptr noundef @.str.25)
  %24838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24839 = load i32, ptr %24838, align 4, !tbaa !5
  %24840 = call ptr @s2n_strerror_debug(i32 noundef %24839, ptr noundef @.str.25)
  %24841 = call ptr @__errno_location() #12
  %24842 = load i32, ptr %24841, align 4, !tbaa !5
  %24843 = call ptr @strerror(i32 noundef %24842) #11
  %24844 = call ptr @__errno_location() #12
  %24845 = load i32, ptr %24844, align 4, !tbaa !5
  %24846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24833, ptr noundef @.str.23, i32 noundef %24834, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1179, ptr noundef %24837, ptr noundef %24840, ptr noundef %24843, i32 noundef %24845) #11
  br label %24864

24847:                                            ; preds = %24825, %24818
  %24848 = load i32, ptr %611, align 4, !tbaa !5
  %24849 = call ptr @__errno_location() #12
  store i32 %24848, ptr %24849, align 4, !tbaa !5
  %24850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24851 = load i32, ptr @test_count, align 4, !tbaa !5
  %24852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24853 = load i32, ptr %24852, align 4, !tbaa !5
  %24854 = call ptr @s2n_strerror(i32 noundef %24853, ptr noundef @.str.25)
  %24855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24856 = load i32, ptr %24855, align 4, !tbaa !5
  %24857 = call ptr @s2n_strerror_debug(i32 noundef %24856, ptr noundef @.str.25)
  %24858 = call ptr @__errno_location() #12
  %24859 = load i32, ptr %24858, align 4, !tbaa !5
  %24860 = call ptr @strerror(i32 noundef %24859) #11
  %24861 = call ptr @__errno_location() #12
  %24862 = load i32, ptr %24861, align 4, !tbaa !5
  %24863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24850, ptr noundef @.str.26, i32 noundef %24851, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1179, ptr noundef %24854, ptr noundef %24857, ptr noundef %24860, i32 noundef %24862) #11
  br label %24864

24864:                                            ; preds = %24847, %24830
  call void @llvm.lifetime.end.p0(i64 4, ptr %611) #11
  br label %24865

24865:                                            ; preds = %24864
  br label %24866

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

24867:                                            ; No predecessors!
  br label %24868

24868:                                            ; preds = %24867
  br label %24869

24869:                                            ; preds = %24868, %24810
  br label %24870

24870:                                            ; preds = %24869
  br label %24871

24871:                                            ; preds = %24870
  call void @llvm.lifetime.end.p0(i64 2, ptr %603) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %598) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %595) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %588) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %587) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %612) #11
  store i8 10, ptr %612, align 1, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 1, ptr %613) #11
  store i8 5, ptr %613, align 1, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 8, ptr %614) #11
  %24872 = call ptr @s2n_config_new()
  store ptr %24872, ptr %614, align 8, !tbaa !9
  br label %24873

24873:                                            ; preds = %24871
  %24874 = load i32, ptr @test_count, align 4, !tbaa !5
  %24875 = add nsw i32 %24874, 1
  store i32 %24875, ptr @test_count, align 4, !tbaa !5
  %24876 = load ptr, ptr %614, align 8, !tbaa !9
  %24877 = icmp eq ptr %24876, null
  br i1 %24877, label %24878, label %24931

24878:                                            ; preds = %24873
  br label %24879

24879:                                            ; preds = %24878
  br label %24880

24880:                                            ; preds = %24879
  call void @llvm.lifetime.start.p0(i64 4, ptr %615) #11
  %24881 = call ptr @__errno_location() #12
  %24882 = load i32, ptr %24881, align 4, !tbaa !5
  store i32 %24882, ptr %615, align 4, !tbaa !5
  %24883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24884 = call i32 @s2n_print_stacktrace(ptr noundef %24883)
  %24885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24886 = trunc i8 %24885 to i1
  br i1 %24886, label %24887, label %24909

24887:                                            ; preds = %24880
  %24888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24889 = call i32 @fileno(ptr noundef %24888) #11
  %24890 = call i32 @isatty(i32 noundef %24889) #11
  %24891 = icmp ne i32 %24890, 0
  br i1 %24891, label %24892, label %24909

24892:                                            ; preds = %24887
  %24893 = load i32, ptr %615, align 4, !tbaa !5
  %24894 = call ptr @__errno_location() #12
  store i32 %24893, ptr %24894, align 4, !tbaa !5
  %24895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24896 = load i32, ptr @test_count, align 4, !tbaa !5
  %24897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24898 = load i32, ptr %24897, align 4, !tbaa !5
  %24899 = call ptr @s2n_strerror(i32 noundef %24898, ptr noundef @.str.25)
  %24900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24901 = load i32, ptr %24900, align 4, !tbaa !5
  %24902 = call ptr @s2n_strerror_debug(i32 noundef %24901, ptr noundef @.str.25)
  %24903 = call ptr @__errno_location() #12
  %24904 = load i32, ptr %24903, align 4, !tbaa !5
  %24905 = call ptr @strerror(i32 noundef %24904) #11
  %24906 = call ptr @__errno_location() #12
  %24907 = load i32, ptr %24906, align 4, !tbaa !5
  %24908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24895, ptr noundef @.str.23, i32 noundef %24896, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1200, ptr noundef %24899, ptr noundef %24902, ptr noundef %24905, i32 noundef %24907) #11
  br label %24926

24909:                                            ; preds = %24887, %24880
  %24910 = load i32, ptr %615, align 4, !tbaa !5
  %24911 = call ptr @__errno_location() #12
  store i32 %24910, ptr %24911, align 4, !tbaa !5
  %24912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24913 = load i32, ptr @test_count, align 4, !tbaa !5
  %24914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24915 = load i32, ptr %24914, align 4, !tbaa !5
  %24916 = call ptr @s2n_strerror(i32 noundef %24915, ptr noundef @.str.25)
  %24917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24918 = load i32, ptr %24917, align 4, !tbaa !5
  %24919 = call ptr @s2n_strerror_debug(i32 noundef %24918, ptr noundef @.str.25)
  %24920 = call ptr @__errno_location() #12
  %24921 = load i32, ptr %24920, align 4, !tbaa !5
  %24922 = call ptr @strerror(i32 noundef %24921) #11
  %24923 = call ptr @__errno_location() #12
  %24924 = load i32, ptr %24923, align 4, !tbaa !5
  %24925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24912, ptr noundef @.str.26, i32 noundef %24913, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1200, ptr noundef %24916, ptr noundef %24919, ptr noundef %24922, i32 noundef %24924) #11
  br label %24926

24926:                                            ; preds = %24909, %24892
  call void @llvm.lifetime.end.p0(i64 4, ptr %615) #11
  br label %24927

24927:                                            ; preds = %24926
  br label %24928

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

24929:                                            ; No predecessors!
  br label %24930

24930:                                            ; preds = %24929
  br label %24931

24931:                                            ; preds = %24930, %24873
  br label %24932

24932:                                            ; preds = %24931
  br label %24933

24933:                                            ; preds = %24932
  br label %24934

24934:                                            ; preds = %24933
  %24935 = load i32, ptr @test_count, align 4, !tbaa !5
  %24936 = add nsw i32 %24935, 1
  store i32 %24936, ptr @test_count, align 4, !tbaa !5
  %24937 = load ptr, ptr %614, align 8, !tbaa !9
  %24938 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %24937)
  %24939 = getelementptr inbounds %struct.s2n_result, ptr %616, i32 0, i32 0
  store i32 %24938, ptr %24939, align 4
  %24940 = getelementptr inbounds %struct.s2n_result, ptr %616, i32 0, i32 0
  %24941 = load i32, ptr %24940, align 4
  %24942 = call zeroext i1 @s2n_result_is_ok(i32 %24941)
  br i1 %24942, label %24996, label %24943

24943:                                            ; preds = %24934
  br label %24944

24944:                                            ; preds = %24943
  br label %24945

24945:                                            ; preds = %24944
  call void @llvm.lifetime.start.p0(i64 4, ptr %617) #11
  %24946 = call ptr @__errno_location() #12
  %24947 = load i32, ptr %24946, align 4, !tbaa !5
  store i32 %24947, ptr %617, align 4, !tbaa !5
  %24948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24949 = call i32 @s2n_print_stacktrace(ptr noundef %24948)
  %24950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24951 = trunc i8 %24950 to i1
  br i1 %24951, label %24952, label %24974

24952:                                            ; preds = %24945
  %24953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24954 = call i32 @fileno(ptr noundef %24953) #11
  %24955 = call i32 @isatty(i32 noundef %24954) #11
  %24956 = icmp ne i32 %24955, 0
  br i1 %24956, label %24957, label %24974

24957:                                            ; preds = %24952
  %24958 = load i32, ptr %617, align 4, !tbaa !5
  %24959 = call ptr @__errno_location() #12
  store i32 %24958, ptr %24959, align 4, !tbaa !5
  %24960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24961 = load i32, ptr @test_count, align 4, !tbaa !5
  %24962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24963 = load i32, ptr %24962, align 4, !tbaa !5
  %24964 = call ptr @s2n_strerror(i32 noundef %24963, ptr noundef @.str.25)
  %24965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24966 = load i32, ptr %24965, align 4, !tbaa !5
  %24967 = call ptr @s2n_strerror_debug(i32 noundef %24966, ptr noundef @.str.25)
  %24968 = call ptr @__errno_location() #12
  %24969 = load i32, ptr %24968, align 4, !tbaa !5
  %24970 = call ptr @strerror(i32 noundef %24969) #11
  %24971 = call ptr @__errno_location() #12
  %24972 = load i32, ptr %24971, align 4, !tbaa !5
  %24973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24960, ptr noundef @.str.23, i32 noundef %24961, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1201, ptr noundef %24964, ptr noundef %24967, ptr noundef %24970, i32 noundef %24972) #11
  br label %24991

24974:                                            ; preds = %24952, %24945
  %24975 = load i32, ptr %617, align 4, !tbaa !5
  %24976 = call ptr @__errno_location() #12
  store i32 %24975, ptr %24976, align 4, !tbaa !5
  %24977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24978 = load i32, ptr @test_count, align 4, !tbaa !5
  %24979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24980 = load i32, ptr %24979, align 4, !tbaa !5
  %24981 = call ptr @s2n_strerror(i32 noundef %24980, ptr noundef @.str.25)
  %24982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24983 = load i32, ptr %24982, align 4, !tbaa !5
  %24984 = call ptr @s2n_strerror_debug(i32 noundef %24983, ptr noundef @.str.25)
  %24985 = call ptr @__errno_location() #12
  %24986 = load i32, ptr %24985, align 4, !tbaa !5
  %24987 = call ptr @strerror(i32 noundef %24986) #11
  %24988 = call ptr @__errno_location() #12
  %24989 = load i32, ptr %24988, align 4, !tbaa !5
  %24990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24977, ptr noundef @.str.26, i32 noundef %24978, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1201, ptr noundef %24981, ptr noundef %24984, ptr noundef %24987, i32 noundef %24989) #11
  br label %24991

24991:                                            ; preds = %24974, %24957
  call void @llvm.lifetime.end.p0(i64 4, ptr %617) #11
  br label %24992

24992:                                            ; preds = %24991
  br label %24993

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

24994:                                            ; No predecessors!
  br label %24995

24995:                                            ; preds = %24994
  br label %24996

24996:                                            ; preds = %24995, %24934
  br label %24997

24997:                                            ; preds = %24996
  br label %24998

24998:                                            ; preds = %24997
  call void @llvm.lifetime.start.p0(i64 8, ptr %618) #11
  %24999 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %24999, ptr %618, align 8, !tbaa !9
  br label %25000

25000:                                            ; preds = %24998
  %25001 = load i32, ptr @test_count, align 4, !tbaa !5
  %25002 = add nsw i32 %25001, 1
  store i32 %25002, ptr @test_count, align 4, !tbaa !5
  %25003 = load ptr, ptr %618, align 8, !tbaa !9
  %25004 = icmp eq ptr %25003, null
  br i1 %25004, label %25005, label %25058

25005:                                            ; preds = %25000
  br label %25006

25006:                                            ; preds = %25005
  br label %25007

25007:                                            ; preds = %25006
  call void @llvm.lifetime.start.p0(i64 4, ptr %619) #11
  %25008 = call ptr @__errno_location() #12
  %25009 = load i32, ptr %25008, align 4, !tbaa !5
  store i32 %25009, ptr %619, align 4, !tbaa !5
  %25010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25011 = call i32 @s2n_print_stacktrace(ptr noundef %25010)
  %25012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25013 = trunc i8 %25012 to i1
  br i1 %25013, label %25014, label %25036

25014:                                            ; preds = %25007
  %25015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25016 = call i32 @fileno(ptr noundef %25015) #11
  %25017 = call i32 @isatty(i32 noundef %25016) #11
  %25018 = icmp ne i32 %25017, 0
  br i1 %25018, label %25019, label %25036

25019:                                            ; preds = %25014
  %25020 = load i32, ptr %619, align 4, !tbaa !5
  %25021 = call ptr @__errno_location() #12
  store i32 %25020, ptr %25021, align 4, !tbaa !5
  %25022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25023 = load i32, ptr @test_count, align 4, !tbaa !5
  %25024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25025 = load i32, ptr %25024, align 4, !tbaa !5
  %25026 = call ptr @s2n_strerror(i32 noundef %25025, ptr noundef @.str.25)
  %25027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25028 = load i32, ptr %25027, align 4, !tbaa !5
  %25029 = call ptr @s2n_strerror_debug(i32 noundef %25028, ptr noundef @.str.25)
  %25030 = call ptr @__errno_location() #12
  %25031 = load i32, ptr %25030, align 4, !tbaa !5
  %25032 = call ptr @strerror(i32 noundef %25031) #11
  %25033 = call ptr @__errno_location() #12
  %25034 = load i32, ptr %25033, align 4, !tbaa !5
  %25035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25022, ptr noundef @.str.23, i32 noundef %25023, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1204, ptr noundef %25026, ptr noundef %25029, ptr noundef %25032, i32 noundef %25034) #11
  br label %25053

25036:                                            ; preds = %25014, %25007
  %25037 = load i32, ptr %619, align 4, !tbaa !5
  %25038 = call ptr @__errno_location() #12
  store i32 %25037, ptr %25038, align 4, !tbaa !5
  %25039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25040 = load i32, ptr @test_count, align 4, !tbaa !5
  %25041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25042 = load i32, ptr %25041, align 4, !tbaa !5
  %25043 = call ptr @s2n_strerror(i32 noundef %25042, ptr noundef @.str.25)
  %25044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25045 = load i32, ptr %25044, align 4, !tbaa !5
  %25046 = call ptr @s2n_strerror_debug(i32 noundef %25045, ptr noundef @.str.25)
  %25047 = call ptr @__errno_location() #12
  %25048 = load i32, ptr %25047, align 4, !tbaa !5
  %25049 = call ptr @strerror(i32 noundef %25048) #11
  %25050 = call ptr @__errno_location() #12
  %25051 = load i32, ptr %25050, align 4, !tbaa !5
  %25052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25039, ptr noundef @.str.26, i32 noundef %25040, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1204, ptr noundef %25043, ptr noundef %25046, ptr noundef %25049, i32 noundef %25051) #11
  br label %25053

25053:                                            ; preds = %25036, %25019
  call void @llvm.lifetime.end.p0(i64 4, ptr %619) #11
  br label %25054

25054:                                            ; preds = %25053
  br label %25055

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

25056:                                            ; No predecessors!
  br label %25057

25057:                                            ; preds = %25056
  br label %25058

25058:                                            ; preds = %25057, %25000
  br label %25059

25059:                                            ; preds = %25058
  br label %25060

25060:                                            ; preds = %25059
  br label %25061

25061:                                            ; preds = %25060
  %25062 = load i32, ptr @test_count, align 4, !tbaa !5
  %25063 = add nsw i32 %25062, 1
  store i32 %25063, ptr @test_count, align 4, !tbaa !5
  %25064 = load ptr, ptr %618, align 8, !tbaa !9
  %25065 = load ptr, ptr %614, align 8, !tbaa !9
  %25066 = call i32 @s2n_connection_set_config(ptr noundef %25064, ptr noundef %25065)
  %25067 = icmp eq i32 %25066, -1
  br i1 %25067, label %25068, label %25121

25068:                                            ; preds = %25061
  br label %25069

25069:                                            ; preds = %25068
  br label %25070

25070:                                            ; preds = %25069
  call void @llvm.lifetime.start.p0(i64 4, ptr %620) #11
  %25071 = call ptr @__errno_location() #12
  %25072 = load i32, ptr %25071, align 4, !tbaa !5
  store i32 %25072, ptr %620, align 4, !tbaa !5
  %25073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25074 = call i32 @s2n_print_stacktrace(ptr noundef %25073)
  %25075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25076 = trunc i8 %25075 to i1
  br i1 %25076, label %25077, label %25099

25077:                                            ; preds = %25070
  %25078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25079 = call i32 @fileno(ptr noundef %25078) #11
  %25080 = call i32 @isatty(i32 noundef %25079) #11
  %25081 = icmp ne i32 %25080, 0
  br i1 %25081, label %25082, label %25099

25082:                                            ; preds = %25077
  %25083 = load i32, ptr %620, align 4, !tbaa !5
  %25084 = call ptr @__errno_location() #12
  store i32 %25083, ptr %25084, align 4, !tbaa !5
  %25085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25086 = load i32, ptr @test_count, align 4, !tbaa !5
  %25087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25088 = load i32, ptr %25087, align 4, !tbaa !5
  %25089 = call ptr @s2n_strerror(i32 noundef %25088, ptr noundef @.str.25)
  %25090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25091 = load i32, ptr %25090, align 4, !tbaa !5
  %25092 = call ptr @s2n_strerror_debug(i32 noundef %25091, ptr noundef @.str.25)
  %25093 = call ptr @__errno_location() #12
  %25094 = load i32, ptr %25093, align 4, !tbaa !5
  %25095 = call ptr @strerror(i32 noundef %25094) #11
  %25096 = call ptr @__errno_location() #12
  %25097 = load i32, ptr %25096, align 4, !tbaa !5
  %25098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25085, ptr noundef @.str.23, i32 noundef %25086, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1205, ptr noundef %25089, ptr noundef %25092, ptr noundef %25095, i32 noundef %25097) #11
  br label %25116

25099:                                            ; preds = %25077, %25070
  %25100 = load i32, ptr %620, align 4, !tbaa !5
  %25101 = call ptr @__errno_location() #12
  store i32 %25100, ptr %25101, align 4, !tbaa !5
  %25102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25103 = load i32, ptr @test_count, align 4, !tbaa !5
  %25104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25105 = load i32, ptr %25104, align 4, !tbaa !5
  %25106 = call ptr @s2n_strerror(i32 noundef %25105, ptr noundef @.str.25)
  %25107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25108 = load i32, ptr %25107, align 4, !tbaa !5
  %25109 = call ptr @s2n_strerror_debug(i32 noundef %25108, ptr noundef @.str.25)
  %25110 = call ptr @__errno_location() #12
  %25111 = load i32, ptr %25110, align 4, !tbaa !5
  %25112 = call ptr @strerror(i32 noundef %25111) #11
  %25113 = call ptr @__errno_location() #12
  %25114 = load i32, ptr %25113, align 4, !tbaa !5
  %25115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25102, ptr noundef @.str.26, i32 noundef %25103, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1205, ptr noundef %25106, ptr noundef %25109, ptr noundef %25112, i32 noundef %25114) #11
  br label %25116

25116:                                            ; preds = %25099, %25082
  call void @llvm.lifetime.end.p0(i64 4, ptr %620) #11
  br label %25117

25117:                                            ; preds = %25116
  br label %25118

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

25119:                                            ; No predecessors!
  br label %25120

25120:                                            ; preds = %25119
  br label %25121

25121:                                            ; preds = %25120, %25061
  br label %25122

25122:                                            ; preds = %25121
  br label %25123

25123:                                            ; preds = %25122
  %25124 = load ptr, ptr %618, align 8, !tbaa !9
  %25125 = getelementptr inbounds %struct.s2n_connection, ptr %25124, i32 0, i32 23
  store i8 34, ptr %25125, align 4, !tbaa !17
  %25126 = load ptr, ptr %618, align 8, !tbaa !9
  %25127 = getelementptr inbounds %struct.s2n_connection, ptr %25126, i32 0, i32 88
  store i16 10, ptr %25127, align 2, !tbaa !50
  %25128 = load ptr, ptr %618, align 8, !tbaa !9
  %25129 = getelementptr inbounds %struct.s2n_connection, ptr %25128, i32 0, i32 87
  store i16 10, ptr %25129, align 4, !tbaa !81
  br label %25130

25130:                                            ; preds = %25123
  %25131 = load i32, ptr @test_count, align 4, !tbaa !5
  %25132 = add nsw i32 %25131, 1
  store i32 %25132, ptr @test_count, align 4, !tbaa !5
  %25133 = load ptr, ptr %618, align 8, !tbaa !9
  %25134 = call i32 @s2n_assert_tickets_sent(ptr noundef %25133, i16 noundef zeroext 10)
  %25135 = getelementptr inbounds %struct.s2n_result, ptr %621, i32 0, i32 0
  store i32 %25134, ptr %25135, align 4
  %25136 = getelementptr inbounds %struct.s2n_result, ptr %621, i32 0, i32 0
  %25137 = load i32, ptr %25136, align 4
  %25138 = call zeroext i1 @s2n_result_is_ok(i32 %25137)
  br i1 %25138, label %25192, label %25139

25139:                                            ; preds = %25130
  br label %25140

25140:                                            ; preds = %25139
  br label %25141

25141:                                            ; preds = %25140
  call void @llvm.lifetime.start.p0(i64 4, ptr %622) #11
  %25142 = call ptr @__errno_location() #12
  %25143 = load i32, ptr %25142, align 4, !tbaa !5
  store i32 %25143, ptr %622, align 4, !tbaa !5
  %25144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25145 = call i32 @s2n_print_stacktrace(ptr noundef %25144)
  %25146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25147 = trunc i8 %25146 to i1
  br i1 %25147, label %25148, label %25170

25148:                                            ; preds = %25141
  %25149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25150 = call i32 @fileno(ptr noundef %25149) #11
  %25151 = call i32 @isatty(i32 noundef %25150) #11
  %25152 = icmp ne i32 %25151, 0
  br i1 %25152, label %25153, label %25170

25153:                                            ; preds = %25148
  %25154 = load i32, ptr %622, align 4, !tbaa !5
  %25155 = call ptr @__errno_location() #12
  store i32 %25154, ptr %25155, align 4, !tbaa !5
  %25156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25157 = load i32, ptr @test_count, align 4, !tbaa !5
  %25158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25159 = load i32, ptr %25158, align 4, !tbaa !5
  %25160 = call ptr @s2n_strerror(i32 noundef %25159, ptr noundef @.str.25)
  %25161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25162 = load i32, ptr %25161, align 4, !tbaa !5
  %25163 = call ptr @s2n_strerror_debug(i32 noundef %25162, ptr noundef @.str.25)
  %25164 = call ptr @__errno_location() #12
  %25165 = load i32, ptr %25164, align 4, !tbaa !5
  %25166 = call ptr @strerror(i32 noundef %25165) #11
  %25167 = call ptr @__errno_location() #12
  %25168 = load i32, ptr %25167, align 4, !tbaa !5
  %25169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25156, ptr noundef @.str.23, i32 noundef %25157, ptr noundef @.str.184, ptr noundef @.str.22, i32 noundef 1209, ptr noundef %25160, ptr noundef %25163, ptr noundef %25166, i32 noundef %25168) #11
  br label %25187

25170:                                            ; preds = %25148, %25141
  %25171 = load i32, ptr %622, align 4, !tbaa !5
  %25172 = call ptr @__errno_location() #12
  store i32 %25171, ptr %25172, align 4, !tbaa !5
  %25173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25174 = load i32, ptr @test_count, align 4, !tbaa !5
  %25175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25176 = load i32, ptr %25175, align 4, !tbaa !5
  %25177 = call ptr @s2n_strerror(i32 noundef %25176, ptr noundef @.str.25)
  %25178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25179 = load i32, ptr %25178, align 4, !tbaa !5
  %25180 = call ptr @s2n_strerror_debug(i32 noundef %25179, ptr noundef @.str.25)
  %25181 = call ptr @__errno_location() #12
  %25182 = load i32, ptr %25181, align 4, !tbaa !5
  %25183 = call ptr @strerror(i32 noundef %25182) #11
  %25184 = call ptr @__errno_location() #12
  %25185 = load i32, ptr %25184, align 4, !tbaa !5
  %25186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25173, ptr noundef @.str.26, i32 noundef %25174, ptr noundef @.str.184, ptr noundef @.str.22, i32 noundef 1209, ptr noundef %25177, ptr noundef %25180, ptr noundef %25183, i32 noundef %25185) #11
  br label %25187

25187:                                            ; preds = %25170, %25153
  call void @llvm.lifetime.end.p0(i64 4, ptr %622) #11
  br label %25188

25188:                                            ; preds = %25187
  br label %25189

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

25190:                                            ; No predecessors!
  br label %25191

25191:                                            ; preds = %25190
  br label %25192

25192:                                            ; preds = %25191, %25130
  br label %25193

25193:                                            ; preds = %25192
  br label %25194

25194:                                            ; preds = %25193
  call void @llvm.lifetime.start.p0(i64 40, ptr %623) #11
  call void @llvm.memset.p0.i64(ptr align 8 %623, i8 0, i64 40, i1 false)
  br label %25195

25195:                                            ; preds = %25194
  %25196 = load i32, ptr @test_count, align 4, !tbaa !5
  %25197 = add nsw i32 %25196, 1
  store i32 %25197, ptr @test_count, align 4, !tbaa !5
  %25198 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %623, i32 noundef 0)
  %25199 = icmp eq i32 %25198, -1
  br i1 %25199, label %25200, label %25253

25200:                                            ; preds = %25195
  br label %25201

25201:                                            ; preds = %25200
  br label %25202

25202:                                            ; preds = %25201
  call void @llvm.lifetime.start.p0(i64 4, ptr %624) #11
  %25203 = call ptr @__errno_location() #12
  %25204 = load i32, ptr %25203, align 4, !tbaa !5
  store i32 %25204, ptr %624, align 4, !tbaa !5
  %25205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25206 = call i32 @s2n_print_stacktrace(ptr noundef %25205)
  %25207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25208 = trunc i8 %25207 to i1
  br i1 %25208, label %25209, label %25231

25209:                                            ; preds = %25202
  %25210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25211 = call i32 @fileno(ptr noundef %25210) #11
  %25212 = call i32 @isatty(i32 noundef %25211) #11
  %25213 = icmp ne i32 %25212, 0
  br i1 %25213, label %25214, label %25231

25214:                                            ; preds = %25209
  %25215 = load i32, ptr %624, align 4, !tbaa !5
  %25216 = call ptr @__errno_location() #12
  store i32 %25215, ptr %25216, align 4, !tbaa !5
  %25217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25218 = load i32, ptr @test_count, align 4, !tbaa !5
  %25219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25220 = load i32, ptr %25219, align 4, !tbaa !5
  %25221 = call ptr @s2n_strerror(i32 noundef %25220, ptr noundef @.str.25)
  %25222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25223 = load i32, ptr %25222, align 4, !tbaa !5
  %25224 = call ptr @s2n_strerror_debug(i32 noundef %25223, ptr noundef @.str.25)
  %25225 = call ptr @__errno_location() #12
  %25226 = load i32, ptr %25225, align 4, !tbaa !5
  %25227 = call ptr @strerror(i32 noundef %25226) #11
  %25228 = call ptr @__errno_location() #12
  %25229 = load i32, ptr %25228, align 4, !tbaa !5
  %25230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25217, ptr noundef @.str.23, i32 noundef %25218, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1212, ptr noundef %25221, ptr noundef %25224, ptr noundef %25227, i32 noundef %25229) #11
  br label %25248

25231:                                            ; preds = %25209, %25202
  %25232 = load i32, ptr %624, align 4, !tbaa !5
  %25233 = call ptr @__errno_location() #12
  store i32 %25232, ptr %25233, align 4, !tbaa !5
  %25234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25235 = load i32, ptr @test_count, align 4, !tbaa !5
  %25236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25237 = load i32, ptr %25236, align 4, !tbaa !5
  %25238 = call ptr @s2n_strerror(i32 noundef %25237, ptr noundef @.str.25)
  %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_debug(i32 noundef %25240, ptr noundef @.str.25)
  %25242 = call ptr @__errno_location() #12
  %25243 = load i32, ptr %25242, align 4, !tbaa !5
  %25244 = call ptr @strerror(i32 noundef %25243) #11
  %25245 = call ptr @__errno_location() #12
  %25246 = load i32, ptr %25245, align 4, !tbaa !5
  %25247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25234, ptr noundef @.str.26, i32 noundef %25235, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1212, ptr noundef %25238, ptr noundef %25241, ptr noundef %25244, i32 noundef %25246) #11
  br label %25248

25248:                                            ; preds = %25231, %25214
  call void @llvm.lifetime.end.p0(i64 4, ptr %624) #11
  br label %25249

25249:                                            ; preds = %25248
  br label %25250

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

25251:                                            ; No predecessors!
  br label %25252

25252:                                            ; preds = %25251
  br label %25253

25253:                                            ; preds = %25252, %25195
  br label %25254

25254:                                            ; preds = %25253
  br label %25255

25255:                                            ; preds = %25254
  br label %25256

25256:                                            ; preds = %25255
  %25257 = load i32, ptr @test_count, align 4, !tbaa !5
  %25258 = add nsw i32 %25257, 1
  store i32 %25258, ptr @test_count, align 4, !tbaa !5
  %25259 = load ptr, ptr %618, align 8, !tbaa !9
  %25260 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %623, ptr noundef %623, ptr noundef %25259)
  %25261 = icmp eq i32 %25260, -1
  br i1 %25261, label %25262, label %25315

25262:                                            ; preds = %25256
  br label %25263

25263:                                            ; preds = %25262
  br label %25264

25264:                                            ; preds = %25263
  call void @llvm.lifetime.start.p0(i64 4, ptr %625) #11
  %25265 = call ptr @__errno_location() #12
  %25266 = load i32, ptr %25265, align 4, !tbaa !5
  store i32 %25266, ptr %625, align 4, !tbaa !5
  %25267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25268 = call i32 @s2n_print_stacktrace(ptr noundef %25267)
  %25269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25270 = trunc i8 %25269 to i1
  br i1 %25270, label %25271, label %25293

25271:                                            ; preds = %25264
  %25272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25273 = call i32 @fileno(ptr noundef %25272) #11
  %25274 = call i32 @isatty(i32 noundef %25273) #11
  %25275 = icmp ne i32 %25274, 0
  br i1 %25275, label %25276, label %25293

25276:                                            ; preds = %25271
  %25277 = load i32, ptr %625, align 4, !tbaa !5
  %25278 = call ptr @__errno_location() #12
  store i32 %25277, ptr %25278, align 4, !tbaa !5
  %25279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25280 = load i32, ptr @test_count, align 4, !tbaa !5
  %25281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25282 = load i32, ptr %25281, align 4, !tbaa !5
  %25283 = call ptr @s2n_strerror(i32 noundef %25282, ptr noundef @.str.25)
  %25284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25285 = load i32, ptr %25284, align 4, !tbaa !5
  %25286 = call ptr @s2n_strerror_debug(i32 noundef %25285, ptr noundef @.str.25)
  %25287 = call ptr @__errno_location() #12
  %25288 = load i32, ptr %25287, align 4, !tbaa !5
  %25289 = call ptr @strerror(i32 noundef %25288) #11
  %25290 = call ptr @__errno_location() #12
  %25291 = load i32, ptr %25290, align 4, !tbaa !5
  %25292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25279, ptr noundef @.str.23, i32 noundef %25280, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1213, ptr noundef %25283, ptr noundef %25286, ptr noundef %25289, i32 noundef %25291) #11
  br label %25310

25293:                                            ; preds = %25271, %25264
  %25294 = load i32, ptr %625, align 4, !tbaa !5
  %25295 = call ptr @__errno_location() #12
  store i32 %25294, ptr %25295, align 4, !tbaa !5
  %25296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25297 = load i32, ptr @test_count, align 4, !tbaa !5
  %25298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25299 = load i32, ptr %25298, align 4, !tbaa !5
  %25300 = call ptr @s2n_strerror(i32 noundef %25299, ptr noundef @.str.25)
  %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_debug(i32 noundef %25302, ptr noundef @.str.25)
  %25304 = call ptr @__errno_location() #12
  %25305 = load i32, ptr %25304, align 4, !tbaa !5
  %25306 = call ptr @strerror(i32 noundef %25305) #11
  %25307 = call ptr @__errno_location() #12
  %25308 = load i32, ptr %25307, align 4, !tbaa !5
  %25309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25296, ptr noundef @.str.26, i32 noundef %25297, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1213, ptr noundef %25300, ptr noundef %25303, ptr noundef %25306, i32 noundef %25308) #11
  br label %25310

25310:                                            ; preds = %25293, %25276
  call void @llvm.lifetime.end.p0(i64 4, ptr %625) #11
  br label %25311

25311:                                            ; preds = %25310
  br label %25312

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

25313:                                            ; No predecessors!
  br label %25314

25314:                                            ; preds = %25313
  br label %25315

25315:                                            ; preds = %25314, %25256
  br label %25316

25316:                                            ; preds = %25315
  br label %25317

25317:                                            ; preds = %25316
  br label %25318

25318:                                            ; preds = %25317
  %25319 = load i32, ptr @test_count, align 4, !tbaa !5
  %25320 = add nsw i32 %25319, 1
  store i32 %25320, ptr @test_count, align 4, !tbaa !5
  %25321 = load ptr, ptr %618, align 8, !tbaa !9
  %25322 = call i32 @s2n_connection_add_new_tickets_to_send(ptr noundef %25321, i8 noundef zeroext 5)
  %25323 = icmp eq i32 %25322, -1
  br i1 %25323, label %25324, label %25377

25324:                                            ; preds = %25318
  br label %25325

25325:                                            ; preds = %25324
  br label %25326

25326:                                            ; preds = %25325
  call void @llvm.lifetime.start.p0(i64 4, ptr %626) #11
  %25327 = call ptr @__errno_location() #12
  %25328 = load i32, ptr %25327, align 4, !tbaa !5
  store i32 %25328, ptr %626, align 4, !tbaa !5
  %25329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25330 = call i32 @s2n_print_stacktrace(ptr noundef %25329)
  %25331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25332 = trunc i8 %25331 to i1
  br i1 %25332, label %25333, label %25355

25333:                                            ; preds = %25326
  %25334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25335 = call i32 @fileno(ptr noundef %25334) #11
  %25336 = call i32 @isatty(i32 noundef %25335) #11
  %25337 = icmp ne i32 %25336, 0
  br i1 %25337, label %25338, label %25355

25338:                                            ; preds = %25333
  %25339 = load i32, ptr %626, align 4, !tbaa !5
  %25340 = call ptr @__errno_location() #12
  store i32 %25339, ptr %25340, align 4, !tbaa !5
  %25341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25342 = load i32, ptr @test_count, align 4, !tbaa !5
  %25343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25344 = load i32, ptr %25343, align 4, !tbaa !5
  %25345 = call ptr @s2n_strerror(i32 noundef %25344, ptr noundef @.str.25)
  %25346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25347 = load i32, ptr %25346, align 4, !tbaa !5
  %25348 = call ptr @s2n_strerror_debug(i32 noundef %25347, ptr noundef @.str.25)
  %25349 = call ptr @__errno_location() #12
  %25350 = load i32, ptr %25349, align 4, !tbaa !5
  %25351 = call ptr @strerror(i32 noundef %25350) #11
  %25352 = call ptr @__errno_location() #12
  %25353 = load i32, ptr %25352, align 4, !tbaa !5
  %25354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25341, ptr noundef @.str.23, i32 noundef %25342, ptr noundef @.str.185, ptr noundef @.str.22, i32 noundef 1216, ptr noundef %25345, ptr noundef %25348, ptr noundef %25351, i32 noundef %25353) #11
  br label %25372

25355:                                            ; preds = %25333, %25326
  %25356 = load i32, ptr %626, align 4, !tbaa !5
  %25357 = call ptr @__errno_location() #12
  store i32 %25356, ptr %25357, align 4, !tbaa !5
  %25358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25359 = load i32, ptr @test_count, align 4, !tbaa !5
  %25360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25361 = load i32, ptr %25360, align 4, !tbaa !5
  %25362 = call ptr @s2n_strerror(i32 noundef %25361, ptr noundef @.str.25)
  %25363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25364 = load i32, ptr %25363, align 4, !tbaa !5
  %25365 = call ptr @s2n_strerror_debug(i32 noundef %25364, ptr noundef @.str.25)
  %25366 = call ptr @__errno_location() #12
  %25367 = load i32, ptr %25366, align 4, !tbaa !5
  %25368 = call ptr @strerror(i32 noundef %25367) #11
  %25369 = call ptr @__errno_location() #12
  %25370 = load i32, ptr %25369, align 4, !tbaa !5
  %25371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25358, ptr noundef @.str.26, i32 noundef %25359, ptr noundef @.str.185, ptr noundef @.str.22, i32 noundef 1216, ptr noundef %25362, ptr noundef %25365, ptr noundef %25368, i32 noundef %25370) #11
  br label %25372

25372:                                            ; preds = %25355, %25338
  call void @llvm.lifetime.end.p0(i64 4, ptr %626) #11
  br label %25373

25373:                                            ; preds = %25372
  br label %25374

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

25375:                                            ; No predecessors!
  br label %25376

25376:                                            ; preds = %25375
  br label %25377

25377:                                            ; preds = %25376, %25318
  br label %25378

25378:                                            ; preds = %25377
  br label %25379

25379:                                            ; preds = %25378
  br label %25380

25380:                                            ; preds = %25379
  %25381 = load i32, ptr @test_count, align 4, !tbaa !5
  %25382 = add nsw i32 %25381, 1
  store i32 %25382, ptr @test_count, align 4, !tbaa !5
  %25383 = load ptr, ptr %618, align 8, !tbaa !9
  %25384 = getelementptr inbounds %struct.s2n_connection, ptr %25383, i32 0, i32 88
  %25385 = load i16, ptr %25384, align 2, !tbaa !50
  %25386 = zext i16 %25385 to i32
  %25387 = icmp eq i32 %25386, 10
  br i1 %25387, label %25441, label %25388

25388:                                            ; preds = %25380
  br label %25389

25389:                                            ; preds = %25388
  br label %25390

25390:                                            ; preds = %25389
  call void @llvm.lifetime.start.p0(i64 4, ptr %627) #11
  %25391 = call ptr @__errno_location() #12
  %25392 = load i32, ptr %25391, align 4, !tbaa !5
  store i32 %25392, ptr %627, align 4, !tbaa !5
  %25393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25394 = call i32 @s2n_print_stacktrace(ptr noundef %25393)
  %25395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25396 = trunc i8 %25395 to i1
  br i1 %25396, label %25397, label %25419

25397:                                            ; preds = %25390
  %25398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25399 = call i32 @fileno(ptr noundef %25398) #11
  %25400 = call i32 @isatty(i32 noundef %25399) #11
  %25401 = icmp ne i32 %25400, 0
  br i1 %25401, label %25402, label %25419

25402:                                            ; preds = %25397
  %25403 = load i32, ptr %627, align 4, !tbaa !5
  %25404 = call ptr @__errno_location() #12
  store i32 %25403, ptr %25404, align 4, !tbaa !5
  %25405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25406 = load i32, ptr @test_count, align 4, !tbaa !5
  %25407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25408 = load i32, ptr %25407, align 4, !tbaa !5
  %25409 = call ptr @s2n_strerror(i32 noundef %25408, ptr noundef @.str.25)
  %25410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25411 = load i32, ptr %25410, align 4, !tbaa !5
  %25412 = call ptr @s2n_strerror_debug(i32 noundef %25411, ptr noundef @.str.25)
  %25413 = call ptr @__errno_location() #12
  %25414 = load i32, ptr %25413, align 4, !tbaa !5
  %25415 = call ptr @strerror(i32 noundef %25414) #11
  %25416 = call ptr @__errno_location() #12
  %25417 = load i32, ptr %25416, align 4, !tbaa !5
  %25418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25405, ptr noundef @.str.23, i32 noundef %25406, ptr noundef @.str.186, ptr noundef @.str.22, i32 noundef 1217, ptr noundef %25409, ptr noundef %25412, ptr noundef %25415, i32 noundef %25417) #11
  br label %25436

25419:                                            ; preds = %25397, %25390
  %25420 = load i32, ptr %627, align 4, !tbaa !5
  %25421 = call ptr @__errno_location() #12
  store i32 %25420, ptr %25421, align 4, !tbaa !5
  %25422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25423 = load i32, ptr @test_count, align 4, !tbaa !5
  %25424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25425 = load i32, ptr %25424, align 4, !tbaa !5
  %25426 = call ptr @s2n_strerror(i32 noundef %25425, ptr noundef @.str.25)
  %25427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25428 = load i32, ptr %25427, align 4, !tbaa !5
  %25429 = call ptr @s2n_strerror_debug(i32 noundef %25428, ptr noundef @.str.25)
  %25430 = call ptr @__errno_location() #12
  %25431 = load i32, ptr %25430, align 4, !tbaa !5
  %25432 = call ptr @strerror(i32 noundef %25431) #11
  %25433 = call ptr @__errno_location() #12
  %25434 = load i32, ptr %25433, align 4, !tbaa !5
  %25435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25422, ptr noundef @.str.26, i32 noundef %25423, ptr noundef @.str.186, ptr noundef @.str.22, i32 noundef 1217, ptr noundef %25426, ptr noundef %25429, ptr noundef %25432, i32 noundef %25434) #11
  br label %25436

25436:                                            ; preds = %25419, %25402
  call void @llvm.lifetime.end.p0(i64 4, ptr %627) #11
  br label %25437

25437:                                            ; preds = %25436
  br label %25438

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

25439:                                            ; No predecessors!
  br label %25440

25440:                                            ; preds = %25439
  br label %25441

25441:                                            ; preds = %25440, %25380
  br label %25442

25442:                                            ; preds = %25441
  br label %25443

25443:                                            ; preds = %25442
  br label %25444

25444:                                            ; preds = %25443
  %25445 = load i32, ptr @test_count, align 4, !tbaa !5
  %25446 = add nsw i32 %25445, 1
  store i32 %25446, ptr @test_count, align 4, !tbaa !5
  %25447 = load ptr, ptr %618, align 8, !tbaa !9
  %25448 = getelementptr inbounds %struct.s2n_connection, ptr %25447, i32 0, i32 87
  %25449 = load i16, ptr %25448, align 4, !tbaa !81
  %25450 = zext i16 %25449 to i32
  %25451 = icmp eq i32 %25450, 15
  br i1 %25451, label %25505, label %25452

25452:                                            ; preds = %25444
  br label %25453

25453:                                            ; preds = %25452
  br label %25454

25454:                                            ; preds = %25453
  call void @llvm.lifetime.start.p0(i64 4, ptr %628) #11
  %25455 = call ptr @__errno_location() #12
  %25456 = load i32, ptr %25455, align 4, !tbaa !5
  store i32 %25456, ptr %628, align 4, !tbaa !5
  %25457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25458 = call i32 @s2n_print_stacktrace(ptr noundef %25457)
  %25459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25460 = trunc i8 %25459 to i1
  br i1 %25460, label %25461, label %25483

25461:                                            ; preds = %25454
  %25462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25463 = call i32 @fileno(ptr noundef %25462) #11
  %25464 = call i32 @isatty(i32 noundef %25463) #11
  %25465 = icmp ne i32 %25464, 0
  br i1 %25465, label %25466, label %25483

25466:                                            ; preds = %25461
  %25467 = load i32, ptr %628, align 4, !tbaa !5
  %25468 = call ptr @__errno_location() #12
  store i32 %25467, ptr %25468, align 4, !tbaa !5
  %25469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25470 = load i32, ptr @test_count, align 4, !tbaa !5
  %25471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25472 = load i32, ptr %25471, align 4, !tbaa !5
  %25473 = call ptr @s2n_strerror(i32 noundef %25472, ptr noundef @.str.25)
  %25474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25475 = load i32, ptr %25474, align 4, !tbaa !5
  %25476 = call ptr @s2n_strerror_debug(i32 noundef %25475, ptr noundef @.str.25)
  %25477 = call ptr @__errno_location() #12
  %25478 = load i32, ptr %25477, align 4, !tbaa !5
  %25479 = call ptr @strerror(i32 noundef %25478) #11
  %25480 = call ptr @__errno_location() #12
  %25481 = load i32, ptr %25480, align 4, !tbaa !5
  %25482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25469, ptr noundef @.str.23, i32 noundef %25470, ptr noundef @.str.187, ptr noundef @.str.22, i32 noundef 1218, ptr noundef %25473, ptr noundef %25476, ptr noundef %25479, i32 noundef %25481) #11
  br label %25500

25483:                                            ; preds = %25461, %25454
  %25484 = load i32, ptr %628, align 4, !tbaa !5
  %25485 = call ptr @__errno_location() #12
  store i32 %25484, ptr %25485, align 4, !tbaa !5
  %25486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25487 = load i32, ptr @test_count, align 4, !tbaa !5
  %25488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25489 = load i32, ptr %25488, align 4, !tbaa !5
  %25490 = call ptr @s2n_strerror(i32 noundef %25489, ptr noundef @.str.25)
  %25491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25492 = load i32, ptr %25491, align 4, !tbaa !5
  %25493 = call ptr @s2n_strerror_debug(i32 noundef %25492, ptr noundef @.str.25)
  %25494 = call ptr @__errno_location() #12
  %25495 = load i32, ptr %25494, align 4, !tbaa !5
  %25496 = call ptr @strerror(i32 noundef %25495) #11
  %25497 = call ptr @__errno_location() #12
  %25498 = load i32, ptr %25497, align 4, !tbaa !5
  %25499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25486, ptr noundef @.str.26, i32 noundef %25487, ptr noundef @.str.187, ptr noundef @.str.22, i32 noundef 1218, ptr noundef %25490, ptr noundef %25493, ptr noundef %25496, i32 noundef %25498) #11
  br label %25500

25500:                                            ; preds = %25483, %25466
  call void @llvm.lifetime.end.p0(i64 4, ptr %628) #11
  br label %25501

25501:                                            ; preds = %25500
  br label %25502

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

25503:                                            ; No predecessors!
  br label %25504

25504:                                            ; preds = %25503
  br label %25505

25505:                                            ; preds = %25504, %25444
  br label %25506

25506:                                            ; preds = %25505
  br label %25507

25507:                                            ; preds = %25506
  br label %25508

25508:                                            ; preds = %25507
  %25509 = load i32, ptr @test_count, align 4, !tbaa !5
  %25510 = add nsw i32 %25509, 1
  store i32 %25510, ptr @test_count, align 4, !tbaa !5
  %25511 = load ptr, ptr %618, align 8, !tbaa !9
  %25512 = call i32 @s2n_assert_tickets_sent(ptr noundef %25511, i16 noundef zeroext 10)
  %25513 = getelementptr inbounds %struct.s2n_result, ptr %629, i32 0, i32 0
  store i32 %25512, ptr %25513, align 4
  %25514 = getelementptr inbounds %struct.s2n_result, ptr %629, i32 0, i32 0
  %25515 = load i32, ptr %25514, align 4
  %25516 = call zeroext i1 @s2n_result_is_ok(i32 %25515)
  br i1 %25516, label %25570, label %25517

25517:                                            ; preds = %25508
  br label %25518

25518:                                            ; preds = %25517
  br label %25519

25519:                                            ; preds = %25518
  call void @llvm.lifetime.start.p0(i64 4, ptr %630) #11
  %25520 = call ptr @__errno_location() #12
  %25521 = load i32, ptr %25520, align 4, !tbaa !5
  store i32 %25521, ptr %630, align 4, !tbaa !5
  %25522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25523 = call i32 @s2n_print_stacktrace(ptr noundef %25522)
  %25524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25525 = trunc i8 %25524 to i1
  br i1 %25525, label %25526, label %25548

25526:                                            ; preds = %25519
  %25527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25528 = call i32 @fileno(ptr noundef %25527) #11
  %25529 = call i32 @isatty(i32 noundef %25528) #11
  %25530 = icmp ne i32 %25529, 0
  br i1 %25530, label %25531, label %25548

25531:                                            ; preds = %25526
  %25532 = load i32, ptr %630, align 4, !tbaa !5
  %25533 = call ptr @__errno_location() #12
  store i32 %25532, ptr %25533, align 4, !tbaa !5
  %25534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25535 = load i32, ptr @test_count, align 4, !tbaa !5
  %25536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25537 = load i32, ptr %25536, align 4, !tbaa !5
  %25538 = call ptr @s2n_strerror(i32 noundef %25537, ptr noundef @.str.25)
  %25539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25540 = load i32, ptr %25539, align 4, !tbaa !5
  %25541 = call ptr @s2n_strerror_debug(i32 noundef %25540, ptr noundef @.str.25)
  %25542 = call ptr @__errno_location() #12
  %25543 = load i32, ptr %25542, align 4, !tbaa !5
  %25544 = call ptr @strerror(i32 noundef %25543) #11
  %25545 = call ptr @__errno_location() #12
  %25546 = load i32, ptr %25545, align 4, !tbaa !5
  %25547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25534, ptr noundef @.str.23, i32 noundef %25535, ptr noundef @.str.184, ptr noundef @.str.22, i32 noundef 1219, ptr noundef %25538, ptr noundef %25541, ptr noundef %25544, i32 noundef %25546) #11
  br label %25565

25548:                                            ; preds = %25526, %25519
  %25549 = load i32, ptr %630, align 4, !tbaa !5
  %25550 = call ptr @__errno_location() #12
  store i32 %25549, ptr %25550, align 4, !tbaa !5
  %25551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25552 = load i32, ptr @test_count, align 4, !tbaa !5
  %25553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25554 = load i32, ptr %25553, align 4, !tbaa !5
  %25555 = call ptr @s2n_strerror(i32 noundef %25554, ptr noundef @.str.25)
  %25556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25557 = load i32, ptr %25556, align 4, !tbaa !5
  %25558 = call ptr @s2n_strerror_debug(i32 noundef %25557, ptr noundef @.str.25)
  %25559 = call ptr @__errno_location() #12
  %25560 = load i32, ptr %25559, align 4, !tbaa !5
  %25561 = call ptr @strerror(i32 noundef %25560) #11
  %25562 = call ptr @__errno_location() #12
  %25563 = load i32, ptr %25562, align 4, !tbaa !5
  %25564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25551, ptr noundef @.str.26, i32 noundef %25552, ptr noundef @.str.184, ptr noundef @.str.22, i32 noundef 1219, ptr noundef %25555, ptr noundef %25558, ptr noundef %25561, i32 noundef %25563) #11
  br label %25565

25565:                                            ; preds = %25548, %25531
  call void @llvm.lifetime.end.p0(i64 4, ptr %630) #11
  br label %25566

25566:                                            ; preds = %25565
  br label %25567

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

25568:                                            ; No predecessors!
  br label %25569

25569:                                            ; preds = %25568
  br label %25570

25570:                                            ; preds = %25569, %25508
  br label %25571

25571:                                            ; preds = %25570
  br label %25572

25572:                                            ; preds = %25571
  call void @llvm.lifetime.start.p0(i64 8, ptr %631) #11
  %25573 = load ptr, ptr %618, align 8, !tbaa !9
  %25574 = call ptr @s2n_test_psk_new(ptr noundef %25573)
  store ptr %25574, ptr %631, align 8, !tbaa !9
  br label %25575

25575:                                            ; preds = %25572
  %25576 = load i32, ptr @test_count, align 4, !tbaa !5
  %25577 = add nsw i32 %25576, 1
  store i32 %25577, ptr @test_count, align 4, !tbaa !5
  %25578 = load ptr, ptr %631, align 8, !tbaa !9
  %25579 = icmp eq ptr %25578, null
  br i1 %25579, label %25580, label %25633

25580:                                            ; preds = %25575
  br label %25581

25581:                                            ; preds = %25580
  br label %25582

25582:                                            ; preds = %25581
  call void @llvm.lifetime.start.p0(i64 4, ptr %632) #11
  %25583 = call ptr @__errno_location() #12
  %25584 = load i32, ptr %25583, align 4, !tbaa !5
  store i32 %25584, ptr %632, align 4, !tbaa !5
  %25585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25586 = call i32 @s2n_print_stacktrace(ptr noundef %25585)
  %25587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25588 = trunc i8 %25587 to i1
  br i1 %25588, label %25589, label %25611

25589:                                            ; preds = %25582
  %25590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25591 = call i32 @fileno(ptr noundef %25590) #11
  %25592 = call i32 @isatty(i32 noundef %25591) #11
  %25593 = icmp ne i32 %25592, 0
  br i1 %25593, label %25594, label %25611

25594:                                            ; preds = %25589
  %25595 = load i32, ptr %632, align 4, !tbaa !5
  %25596 = call ptr @__errno_location() #12
  store i32 %25595, ptr %25596, align 4, !tbaa !5
  %25597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25598 = load i32, ptr @test_count, align 4, !tbaa !5
  %25599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25600 = load i32, ptr %25599, align 4, !tbaa !5
  %25601 = call ptr @s2n_strerror(i32 noundef %25600, ptr noundef @.str.25)
  %25602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25603 = load i32, ptr %25602, align 4, !tbaa !5
  %25604 = call ptr @s2n_strerror_debug(i32 noundef %25603, ptr noundef @.str.25)
  %25605 = call ptr @__errno_location() #12
  %25606 = load i32, ptr %25605, align 4, !tbaa !5
  %25607 = call ptr @strerror(i32 noundef %25606) #11
  %25608 = call ptr @__errno_location() #12
  %25609 = load i32, ptr %25608, align 4, !tbaa !5
  %25610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25597, ptr noundef @.str.23, i32 noundef %25598, ptr noundef @.str.188, ptr noundef @.str.22, i32 noundef 1223, ptr noundef %25601, ptr noundef %25604, ptr noundef %25607, i32 noundef %25609) #11
  br label %25628

25611:                                            ; preds = %25589, %25582
  %25612 = load i32, ptr %632, align 4, !tbaa !5
  %25613 = call ptr @__errno_location() #12
  store i32 %25612, ptr %25613, align 4, !tbaa !5
  %25614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25615 = load i32, ptr @test_count, align 4, !tbaa !5
  %25616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25617 = load i32, ptr %25616, align 4, !tbaa !5
  %25618 = call ptr @s2n_strerror(i32 noundef %25617, ptr noundef @.str.25)
  %25619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25620 = load i32, ptr %25619, align 4, !tbaa !5
  %25621 = call ptr @s2n_strerror_debug(i32 noundef %25620, ptr noundef @.str.25)
  %25622 = call ptr @__errno_location() #12
  %25623 = load i32, ptr %25622, align 4, !tbaa !5
  %25624 = call ptr @strerror(i32 noundef %25623) #11
  %25625 = call ptr @__errno_location() #12
  %25626 = load i32, ptr %25625, align 4, !tbaa !5
  %25627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25614, ptr noundef @.str.26, i32 noundef %25615, ptr noundef @.str.188, ptr noundef @.str.22, i32 noundef 1223, ptr noundef %25618, ptr noundef %25621, ptr noundef %25624, i32 noundef %25626) #11
  br label %25628

25628:                                            ; preds = %25611, %25594
  call void @llvm.lifetime.end.p0(i64 4, ptr %632) #11
  br label %25629

25629:                                            ; preds = %25628
  br label %25630

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

25631:                                            ; No predecessors!
  br label %25632

25632:                                            ; preds = %25631
  br label %25633

25633:                                            ; preds = %25632, %25575
  br label %25634

25634:                                            ; preds = %25633
  br label %25635

25635:                                            ; preds = %25634
  %25636 = load ptr, ptr %631, align 8, !tbaa !9
  %25637 = getelementptr inbounds %struct.s2n_psk, ptr %25636, i32 0, i32 0
  store i32 0, ptr %25637, align 8, !tbaa !84
  %25638 = load ptr, ptr %631, align 8, !tbaa !9
  %25639 = getelementptr inbounds %struct.s2n_psk, ptr %25638, i32 0, i32 8
  store i64 0, ptr %25639, align 8, !tbaa !62
  %25640 = load ptr, ptr %631, align 8, !tbaa !9
  %25641 = load ptr, ptr %618, align 8, !tbaa !9
  %25642 = getelementptr inbounds %struct.s2n_connection, ptr %25641, i32 0, i32 33
  %25643 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %25642, i32 0, i32 4
  store ptr %25640, ptr %25643, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 4, ptr %633) #11
  store i32 0, ptr %633, align 4, !tbaa !5
  br label %25644

25644:                                            ; preds = %25635
  %25645 = load i32, ptr @test_count, align 4, !tbaa !5
  %25646 = add nsw i32 %25645, 1
  store i32 %25646, ptr @test_count, align 4, !tbaa !5
  %25647 = load ptr, ptr %618, align 8, !tbaa !9
  %25648 = call i32 @s2n_tls13_server_nst_send(ptr noundef %25647, ptr noundef %633)
  %25649 = getelementptr inbounds %struct.s2n_result, ptr %634, i32 0, i32 0
  store i32 %25648, ptr %25649, align 4
  %25650 = getelementptr inbounds %struct.s2n_result, ptr %634, i32 0, i32 0
  %25651 = load i32, ptr %25650, align 4
  %25652 = call zeroext i1 @s2n_result_is_ok(i32 %25651)
  br i1 %25652, label %25706, label %25653

25653:                                            ; preds = %25644
  br label %25654

25654:                                            ; preds = %25653
  br label %25655

25655:                                            ; preds = %25654
  call void @llvm.lifetime.start.p0(i64 4, ptr %635) #11
  %25656 = call ptr @__errno_location() #12
  %25657 = load i32, ptr %25656, align 4, !tbaa !5
  store i32 %25657, ptr %635, align 4, !tbaa !5
  %25658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25659 = call i32 @s2n_print_stacktrace(ptr noundef %25658)
  %25660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25661 = trunc i8 %25660 to i1
  br i1 %25661, label %25662, label %25684

25662:                                            ; preds = %25655
  %25663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25664 = call i32 @fileno(ptr noundef %25663) #11
  %25665 = call i32 @isatty(i32 noundef %25664) #11
  %25666 = icmp ne i32 %25665, 0
  br i1 %25666, label %25667, label %25684

25667:                                            ; preds = %25662
  %25668 = load i32, ptr %635, align 4, !tbaa !5
  %25669 = call ptr @__errno_location() #12
  store i32 %25668, ptr %25669, align 4, !tbaa !5
  %25670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25671 = load i32, ptr @test_count, align 4, !tbaa !5
  %25672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25673 = load i32, ptr %25672, align 4, !tbaa !5
  %25674 = call ptr @s2n_strerror(i32 noundef %25673, ptr noundef @.str.25)
  %25675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25676 = load i32, ptr %25675, align 4, !tbaa !5
  %25677 = call ptr @s2n_strerror_debug(i32 noundef %25676, ptr noundef @.str.25)
  %25678 = call ptr @__errno_location() #12
  %25679 = load i32, ptr %25678, align 4, !tbaa !5
  %25680 = call ptr @strerror(i32 noundef %25679) #11
  %25681 = call ptr @__errno_location() #12
  %25682 = load i32, ptr %25681, align 4, !tbaa !5
  %25683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25670, ptr noundef @.str.23, i32 noundef %25671, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1230, ptr noundef %25674, ptr noundef %25677, ptr noundef %25680, i32 noundef %25682) #11
  br label %25701

25684:                                            ; preds = %25662, %25655
  %25685 = load i32, ptr %635, align 4, !tbaa !5
  %25686 = call ptr @__errno_location() #12
  store i32 %25685, ptr %25686, align 4, !tbaa !5
  %25687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25688 = load i32, ptr @test_count, align 4, !tbaa !5
  %25689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25690 = load i32, ptr %25689, align 4, !tbaa !5
  %25691 = call ptr @s2n_strerror(i32 noundef %25690, ptr noundef @.str.25)
  %25692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25693 = load i32, ptr %25692, align 4, !tbaa !5
  %25694 = call ptr @s2n_strerror_debug(i32 noundef %25693, ptr noundef @.str.25)
  %25695 = call ptr @__errno_location() #12
  %25696 = load i32, ptr %25695, align 4, !tbaa !5
  %25697 = call ptr @strerror(i32 noundef %25696) #11
  %25698 = call ptr @__errno_location() #12
  %25699 = load i32, ptr %25698, align 4, !tbaa !5
  %25700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25687, ptr noundef @.str.26, i32 noundef %25688, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1230, ptr noundef %25691, ptr noundef %25694, ptr noundef %25697, i32 noundef %25699) #11
  br label %25701

25701:                                            ; preds = %25684, %25667
  call void @llvm.lifetime.end.p0(i64 4, ptr %635) #11
  br label %25702

25702:                                            ; preds = %25701
  br label %25703

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

25704:                                            ; No predecessors!
  br label %25705

25705:                                            ; preds = %25704
  br label %25706

25706:                                            ; preds = %25705, %25644
  br label %25707

25707:                                            ; preds = %25706
  br label %25708

25708:                                            ; preds = %25707
  br label %25709

25709:                                            ; preds = %25708
  %25710 = load i32, ptr @test_count, align 4, !tbaa !5
  %25711 = add nsw i32 %25710, 1
  store i32 %25711, ptr @test_count, align 4, !tbaa !5
  %25712 = getelementptr inbounds %struct.s2n_stuffer, ptr %623, i32 0, i32 2
  %25713 = load i32, ptr %25712, align 4, !tbaa !52
  %25714 = getelementptr inbounds %struct.s2n_stuffer, ptr %623, i32 0, i32 1
  %25715 = load i32, ptr %25714, align 8, !tbaa !53
  %25716 = sub i32 %25713, %25715
  %25717 = icmp eq i32 %25716, 0
  br i1 %25717, label %25771, label %25718

25718:                                            ; preds = %25709
  br label %25719

25719:                                            ; preds = %25718
  br label %25720

25720:                                            ; preds = %25719
  call void @llvm.lifetime.start.p0(i64 4, ptr %636) #11
  %25721 = call ptr @__errno_location() #12
  %25722 = load i32, ptr %25721, align 4, !tbaa !5
  store i32 %25722, ptr %636, align 4, !tbaa !5
  %25723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25724 = call i32 @s2n_print_stacktrace(ptr noundef %25723)
  %25725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25726 = trunc i8 %25725 to i1
  br i1 %25726, label %25727, label %25749

25727:                                            ; preds = %25720
  %25728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25729 = call i32 @fileno(ptr noundef %25728) #11
  %25730 = call i32 @isatty(i32 noundef %25729) #11
  %25731 = icmp ne i32 %25730, 0
  br i1 %25731, label %25732, label %25749

25732:                                            ; preds = %25727
  %25733 = load i32, ptr %636, align 4, !tbaa !5
  %25734 = call ptr @__errno_location() #12
  store i32 %25733, ptr %25734, align 4, !tbaa !5
  %25735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25736 = load i32, ptr @test_count, align 4, !tbaa !5
  %25737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25738 = load i32, ptr %25737, align 4, !tbaa !5
  %25739 = call ptr @s2n_strerror(i32 noundef %25738, ptr noundef @.str.25)
  %25740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25741 = load i32, ptr %25740, align 4, !tbaa !5
  %25742 = call ptr @s2n_strerror_debug(i32 noundef %25741, ptr noundef @.str.25)
  %25743 = call ptr @__errno_location() #12
  %25744 = load i32, ptr %25743, align 4, !tbaa !5
  %25745 = call ptr @strerror(i32 noundef %25744) #11
  %25746 = call ptr @__errno_location() #12
  %25747 = load i32, ptr %25746, align 4, !tbaa !5
  %25748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25735, ptr noundef @.str.23, i32 noundef %25736, ptr noundef @.str.183, ptr noundef @.str.22, i32 noundef 1231, ptr noundef %25739, ptr noundef %25742, ptr noundef %25745, i32 noundef %25747) #11
  br label %25766

25749:                                            ; preds = %25727, %25720
  %25750 = load i32, ptr %636, align 4, !tbaa !5
  %25751 = call ptr @__errno_location() #12
  store i32 %25750, ptr %25751, align 4, !tbaa !5
  %25752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25753 = load i32, ptr @test_count, align 4, !tbaa !5
  %25754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25755 = load i32, ptr %25754, align 4, !tbaa !5
  %25756 = call ptr @s2n_strerror(i32 noundef %25755, ptr noundef @.str.25)
  %25757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25758 = load i32, ptr %25757, align 4, !tbaa !5
  %25759 = call ptr @s2n_strerror_debug(i32 noundef %25758, ptr noundef @.str.25)
  %25760 = call ptr @__errno_location() #12
  %25761 = load i32, ptr %25760, align 4, !tbaa !5
  %25762 = call ptr @strerror(i32 noundef %25761) #11
  %25763 = call ptr @__errno_location() #12
  %25764 = load i32, ptr %25763, align 4, !tbaa !5
  %25765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25752, ptr noundef @.str.26, i32 noundef %25753, ptr noundef @.str.183, ptr noundef @.str.22, i32 noundef 1231, ptr noundef %25756, ptr noundef %25759, ptr noundef %25762, i32 noundef %25764) #11
  br label %25766

25766:                                            ; preds = %25749, %25732
  call void @llvm.lifetime.end.p0(i64 4, ptr %636) #11
  br label %25767

25767:                                            ; preds = %25766
  br label %25768

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

25769:                                            ; No predecessors!
  br label %25770

25770:                                            ; preds = %25769
  br label %25771

25771:                                            ; preds = %25770, %25709
  br label %25772

25772:                                            ; preds = %25771
  br label %25773

25773:                                            ; preds = %25772
  br label %25774

25774:                                            ; preds = %25773
  %25775 = load i32, ptr @test_count, align 4, !tbaa !5
  %25776 = add nsw i32 %25775, 1
  store i32 %25776, ptr @test_count, align 4, !tbaa !5
  %25777 = load ptr, ptr %618, align 8, !tbaa !9
  %25778 = getelementptr inbounds %struct.s2n_connection, ptr %25777, i32 0, i32 88
  %25779 = load i16, ptr %25778, align 2, !tbaa !50
  %25780 = zext i16 %25779 to i32
  %25781 = icmp eq i32 %25780, 10
  br i1 %25781, label %25835, label %25782

25782:                                            ; preds = %25774
  br label %25783

25783:                                            ; preds = %25782
  br label %25784

25784:                                            ; preds = %25783
  call void @llvm.lifetime.start.p0(i64 4, ptr %637) #11
  %25785 = call ptr @__errno_location() #12
  %25786 = load i32, ptr %25785, align 4, !tbaa !5
  store i32 %25786, ptr %637, align 4, !tbaa !5
  %25787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25788 = call i32 @s2n_print_stacktrace(ptr noundef %25787)
  %25789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25790 = trunc i8 %25789 to i1
  br i1 %25790, label %25791, label %25813

25791:                                            ; preds = %25784
  %25792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25793 = call i32 @fileno(ptr noundef %25792) #11
  %25794 = call i32 @isatty(i32 noundef %25793) #11
  %25795 = icmp ne i32 %25794, 0
  br i1 %25795, label %25796, label %25813

25796:                                            ; preds = %25791
  %25797 = load i32, ptr %637, align 4, !tbaa !5
  %25798 = call ptr @__errno_location() #12
  store i32 %25797, ptr %25798, align 4, !tbaa !5
  %25799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25800 = load i32, ptr @test_count, align 4, !tbaa !5
  %25801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25802 = load i32, ptr %25801, align 4, !tbaa !5
  %25803 = call ptr @s2n_strerror(i32 noundef %25802, ptr noundef @.str.25)
  %25804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25805 = load i32, ptr %25804, align 4, !tbaa !5
  %25806 = call ptr @s2n_strerror_debug(i32 noundef %25805, ptr noundef @.str.25)
  %25807 = call ptr @__errno_location() #12
  %25808 = load i32, ptr %25807, align 4, !tbaa !5
  %25809 = call ptr @strerror(i32 noundef %25808) #11
  %25810 = call ptr @__errno_location() #12
  %25811 = load i32, ptr %25810, align 4, !tbaa !5
  %25812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25799, ptr noundef @.str.23, i32 noundef %25800, ptr noundef @.str.186, ptr noundef @.str.22, i32 noundef 1232, ptr noundef %25803, ptr noundef %25806, ptr noundef %25809, i32 noundef %25811) #11
  br label %25830

25813:                                            ; preds = %25791, %25784
  %25814 = load i32, ptr %637, align 4, !tbaa !5
  %25815 = call ptr @__errno_location() #12
  store i32 %25814, ptr %25815, align 4, !tbaa !5
  %25816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25817 = load i32, ptr @test_count, align 4, !tbaa !5
  %25818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25819 = load i32, ptr %25818, align 4, !tbaa !5
  %25820 = call ptr @s2n_strerror(i32 noundef %25819, ptr noundef @.str.25)
  %25821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25822 = load i32, ptr %25821, align 4, !tbaa !5
  %25823 = call ptr @s2n_strerror_debug(i32 noundef %25822, ptr noundef @.str.25)
  %25824 = call ptr @__errno_location() #12
  %25825 = load i32, ptr %25824, align 4, !tbaa !5
  %25826 = call ptr @strerror(i32 noundef %25825) #11
  %25827 = call ptr @__errno_location() #12
  %25828 = load i32, ptr %25827, align 4, !tbaa !5
  %25829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25816, ptr noundef @.str.26, i32 noundef %25817, ptr noundef @.str.186, ptr noundef @.str.22, i32 noundef 1232, ptr noundef %25820, ptr noundef %25823, ptr noundef %25826, i32 noundef %25828) #11
  br label %25830

25830:                                            ; preds = %25813, %25796
  call void @llvm.lifetime.end.p0(i64 4, ptr %637) #11
  br label %25831

25831:                                            ; preds = %25830
  br label %25832

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

25833:                                            ; No predecessors!
  br label %25834

25834:                                            ; preds = %25833
  br label %25835

25835:                                            ; preds = %25834, %25774
  br label %25836

25836:                                            ; preds = %25835
  br label %25837

25837:                                            ; preds = %25836
  br label %25838

25838:                                            ; preds = %25837
  %25839 = load i32, ptr @test_count, align 4, !tbaa !5
  %25840 = add nsw i32 %25839, 1
  store i32 %25840, ptr @test_count, align 4, !tbaa !5
  %25841 = load ptr, ptr %618, align 8, !tbaa !9
  %25842 = getelementptr inbounds %struct.s2n_connection, ptr %25841, i32 0, i32 87
  %25843 = load i16, ptr %25842, align 4, !tbaa !81
  %25844 = zext i16 %25843 to i32
  %25845 = icmp eq i32 %25844, 10
  br i1 %25845, label %25899, label %25846

25846:                                            ; preds = %25838
  br label %25847

25847:                                            ; preds = %25846
  br label %25848

25848:                                            ; preds = %25847
  call void @llvm.lifetime.start.p0(i64 4, ptr %638) #11
  %25849 = call ptr @__errno_location() #12
  %25850 = load i32, ptr %25849, align 4, !tbaa !5
  store i32 %25850, ptr %638, align 4, !tbaa !5
  %25851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25852 = call i32 @s2n_print_stacktrace(ptr noundef %25851)
  %25853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25854 = trunc i8 %25853 to i1
  br i1 %25854, label %25855, label %25877

25855:                                            ; preds = %25848
  %25856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25857 = call i32 @fileno(ptr noundef %25856) #11
  %25858 = call i32 @isatty(i32 noundef %25857) #11
  %25859 = icmp ne i32 %25858, 0
  br i1 %25859, label %25860, label %25877

25860:                                            ; preds = %25855
  %25861 = load i32, ptr %638, align 4, !tbaa !5
  %25862 = call ptr @__errno_location() #12
  store i32 %25861, ptr %25862, align 4, !tbaa !5
  %25863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25864 = load i32, ptr @test_count, align 4, !tbaa !5
  %25865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25866 = load i32, ptr %25865, align 4, !tbaa !5
  %25867 = call ptr @s2n_strerror(i32 noundef %25866, ptr noundef @.str.25)
  %25868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25869 = load i32, ptr %25868, align 4, !tbaa !5
  %25870 = call ptr @s2n_strerror_debug(i32 noundef %25869, ptr noundef @.str.25)
  %25871 = call ptr @__errno_location() #12
  %25872 = load i32, ptr %25871, align 4, !tbaa !5
  %25873 = call ptr @strerror(i32 noundef %25872) #11
  %25874 = call ptr @__errno_location() #12
  %25875 = load i32, ptr %25874, align 4, !tbaa !5
  %25876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25863, ptr noundef @.str.23, i32 noundef %25864, ptr noundef @.str.189, ptr noundef @.str.22, i32 noundef 1233, ptr noundef %25867, ptr noundef %25870, ptr noundef %25873, i32 noundef %25875) #11
  br label %25894

25877:                                            ; preds = %25855, %25848
  %25878 = load i32, ptr %638, align 4, !tbaa !5
  %25879 = call ptr @__errno_location() #12
  store i32 %25878, ptr %25879, align 4, !tbaa !5
  %25880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25881 = load i32, ptr @test_count, align 4, !tbaa !5
  %25882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25883 = load i32, ptr %25882, align 4, !tbaa !5
  %25884 = call ptr @s2n_strerror(i32 noundef %25883, ptr noundef @.str.25)
  %25885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25886 = load i32, ptr %25885, align 4, !tbaa !5
  %25887 = call ptr @s2n_strerror_debug(i32 noundef %25886, ptr noundef @.str.25)
  %25888 = call ptr @__errno_location() #12
  %25889 = load i32, ptr %25888, align 4, !tbaa !5
  %25890 = call ptr @strerror(i32 noundef %25889) #11
  %25891 = call ptr @__errno_location() #12
  %25892 = load i32, ptr %25891, align 4, !tbaa !5
  %25893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25880, ptr noundef @.str.26, i32 noundef %25881, ptr noundef @.str.189, ptr noundef @.str.22, i32 noundef 1233, ptr noundef %25884, ptr noundef %25887, ptr noundef %25890, i32 noundef %25892) #11
  br label %25894

25894:                                            ; preds = %25877, %25860
  call void @llvm.lifetime.end.p0(i64 4, ptr %638) #11
  br label %25895

25895:                                            ; preds = %25894
  br label %25896

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

25897:                                            ; No predecessors!
  br label %25898

25898:                                            ; preds = %25897
  br label %25899

25899:                                            ; preds = %25898, %25838
  br label %25900

25900:                                            ; preds = %25899
  br label %25901

25901:                                            ; preds = %25900
  br label %25902

25902:                                            ; preds = %25901
  %25903 = load i32, ptr @test_count, align 4, !tbaa !5
  %25904 = add nsw i32 %25903, 1
  store i32 %25904, ptr @test_count, align 4, !tbaa !5
  %25905 = load ptr, ptr %618, align 8, !tbaa !9
  %25906 = call i32 @s2n_assert_tickets_sent(ptr noundef %25905, i16 noundef zeroext 10)
  %25907 = getelementptr inbounds %struct.s2n_result, ptr %639, i32 0, i32 0
  store i32 %25906, ptr %25907, align 4
  %25908 = getelementptr inbounds %struct.s2n_result, ptr %639, i32 0, i32 0
  %25909 = load i32, ptr %25908, align 4
  %25910 = call zeroext i1 @s2n_result_is_ok(i32 %25909)
  br i1 %25910, label %25964, label %25911

25911:                                            ; preds = %25902
  br label %25912

25912:                                            ; preds = %25911
  br label %25913

25913:                                            ; preds = %25912
  call void @llvm.lifetime.start.p0(i64 4, ptr %640) #11
  %25914 = call ptr @__errno_location() #12
  %25915 = load i32, ptr %25914, align 4, !tbaa !5
  store i32 %25915, ptr %640, align 4, !tbaa !5
  %25916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25917 = call i32 @s2n_print_stacktrace(ptr noundef %25916)
  %25918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25919 = trunc i8 %25918 to i1
  br i1 %25919, label %25920, label %25942

25920:                                            ; preds = %25913
  %25921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25922 = call i32 @fileno(ptr noundef %25921) #11
  %25923 = call i32 @isatty(i32 noundef %25922) #11
  %25924 = icmp ne i32 %25923, 0
  br i1 %25924, label %25925, label %25942

25925:                                            ; preds = %25920
  %25926 = load i32, ptr %640, align 4, !tbaa !5
  %25927 = call ptr @__errno_location() #12
  store i32 %25926, ptr %25927, align 4, !tbaa !5
  %25928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25929 = load i32, ptr @test_count, align 4, !tbaa !5
  %25930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25931 = load i32, ptr %25930, align 4, !tbaa !5
  %25932 = call ptr @s2n_strerror(i32 noundef %25931, ptr noundef @.str.25)
  %25933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25934 = load i32, ptr %25933, align 4, !tbaa !5
  %25935 = call ptr @s2n_strerror_debug(i32 noundef %25934, ptr noundef @.str.25)
  %25936 = call ptr @__errno_location() #12
  %25937 = load i32, ptr %25936, align 4, !tbaa !5
  %25938 = call ptr @strerror(i32 noundef %25937) #11
  %25939 = call ptr @__errno_location() #12
  %25940 = load i32, ptr %25939, align 4, !tbaa !5
  %25941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25928, ptr noundef @.str.23, i32 noundef %25929, ptr noundef @.str.184, ptr noundef @.str.22, i32 noundef 1234, ptr noundef %25932, ptr noundef %25935, ptr noundef %25938, i32 noundef %25940) #11
  br label %25959

25942:                                            ; preds = %25920, %25913
  %25943 = load i32, ptr %640, align 4, !tbaa !5
  %25944 = call ptr @__errno_location() #12
  store i32 %25943, ptr %25944, align 4, !tbaa !5
  %25945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25946 = load i32, ptr @test_count, align 4, !tbaa !5
  %25947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25948 = load i32, ptr %25947, align 4, !tbaa !5
  %25949 = call ptr @s2n_strerror(i32 noundef %25948, ptr noundef @.str.25)
  %25950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25951 = load i32, ptr %25950, align 4, !tbaa !5
  %25952 = call ptr @s2n_strerror_debug(i32 noundef %25951, ptr noundef @.str.25)
  %25953 = call ptr @__errno_location() #12
  %25954 = load i32, ptr %25953, align 4, !tbaa !5
  %25955 = call ptr @strerror(i32 noundef %25954) #11
  %25956 = call ptr @__errno_location() #12
  %25957 = load i32, ptr %25956, align 4, !tbaa !5
  %25958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25945, ptr noundef @.str.26, i32 noundef %25946, ptr noundef @.str.184, ptr noundef @.str.22, i32 noundef 1234, ptr noundef %25949, ptr noundef %25952, ptr noundef %25955, i32 noundef %25957) #11
  br label %25959

25959:                                            ; preds = %25942, %25925
  call void @llvm.lifetime.end.p0(i64 4, ptr %640) #11
  br label %25960

25960:                                            ; preds = %25959
  br label %25961

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

25962:                                            ; No predecessors!
  br label %25963

25963:                                            ; preds = %25962
  br label %25964

25964:                                            ; preds = %25963, %25902
  br label %25965

25965:                                            ; preds = %25964
  br label %25966

25966:                                            ; preds = %25965
  br label %25967

25967:                                            ; preds = %25966
  br label %25968

25968:                                            ; preds = %25967
  br label %25969

25969:                                            ; preds = %25968
  %25970 = load i32, ptr @test_count, align 4, !tbaa !5
  %25971 = add nsw i32 %25970, 1
  store i32 %25971, ptr @test_count, align 4, !tbaa !5
  %25972 = load ptr, ptr %618, align 8, !tbaa !9
  %25973 = call i32 @s2n_connection_add_new_tickets_to_send(ptr noundef %25972, i8 noundef zeroext 5)
  %25974 = icmp eq i32 %25973, -1
  br i1 %25974, label %26028, label %25975

25975:                                            ; preds = %25969
  br label %25976

25976:                                            ; preds = %25975
  br label %25977

25977:                                            ; preds = %25976
  call void @llvm.lifetime.start.p0(i64 4, ptr %641) #11
  %25978 = call ptr @__errno_location() #12
  %25979 = load i32, ptr %25978, align 4, !tbaa !5
  store i32 %25979, ptr %641, align 4, !tbaa !5
  %25980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25981 = call i32 @s2n_print_stacktrace(ptr noundef %25980)
  %25982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25983 = trunc i8 %25982 to i1
  br i1 %25983, label %25984, label %26006

25984:                                            ; preds = %25977
  %25985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25986 = call i32 @fileno(ptr noundef %25985) #11
  %25987 = call i32 @isatty(i32 noundef %25986) #11
  %25988 = icmp ne i32 %25987, 0
  br i1 %25988, label %25989, label %26006

25989:                                            ; preds = %25984
  %25990 = load i32, ptr %641, align 4, !tbaa !5
  %25991 = call ptr @__errno_location() #12
  store i32 %25990, ptr %25991, align 4, !tbaa !5
  %25992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25993 = load i32, ptr @test_count, align 4, !tbaa !5
  %25994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25995 = load i32, ptr %25994, align 4, !tbaa !5
  %25996 = call ptr @s2n_strerror(i32 noundef %25995, ptr noundef @.str.25)
  %25997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25998 = load i32, ptr %25997, align 4, !tbaa !5
  %25999 = call ptr @s2n_strerror_debug(i32 noundef %25998, ptr noundef @.str.25)
  %26000 = call ptr @__errno_location() #12
  %26001 = load i32, ptr %26000, align 4, !tbaa !5
  %26002 = call ptr @strerror(i32 noundef %26001) #11
  %26003 = call ptr @__errno_location() #12
  %26004 = load i32, ptr %26003, align 4, !tbaa !5
  %26005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25992, ptr noundef @.str.23, i32 noundef %25993, ptr noundef @.str.190, ptr noundef @.str.22, i32 noundef 1238, ptr noundef %25996, ptr noundef %25999, ptr noundef %26002, i32 noundef %26004) #11
  br label %26023

26006:                                            ; preds = %25984, %25977
  %26007 = load i32, ptr %641, align 4, !tbaa !5
  %26008 = call ptr @__errno_location() #12
  store i32 %26007, ptr %26008, align 4, !tbaa !5
  %26009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26010 = load i32, ptr @test_count, align 4, !tbaa !5
  %26011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26012 = load i32, ptr %26011, align 4, !tbaa !5
  %26013 = call ptr @s2n_strerror(i32 noundef %26012, ptr noundef @.str.25)
  %26014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26015 = load i32, ptr %26014, align 4, !tbaa !5
  %26016 = call ptr @s2n_strerror_debug(i32 noundef %26015, ptr noundef @.str.25)
  %26017 = call ptr @__errno_location() #12
  %26018 = load i32, ptr %26017, align 4, !tbaa !5
  %26019 = call ptr @strerror(i32 noundef %26018) #11
  %26020 = call ptr @__errno_location() #12
  %26021 = load i32, ptr %26020, align 4, !tbaa !5
  %26022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26009, ptr noundef @.str.26, i32 noundef %26010, ptr noundef @.str.190, ptr noundef @.str.22, i32 noundef 1238, ptr noundef %26013, ptr noundef %26016, ptr noundef %26019, i32 noundef %26021) #11
  br label %26023

26023:                                            ; preds = %26006, %25989
  call void @llvm.lifetime.end.p0(i64 4, ptr %641) #11
  br label %26024

26024:                                            ; preds = %26023
  br label %26025

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

26026:                                            ; No predecessors!
  br label %26027

26027:                                            ; preds = %26026
  br label %26028

26028:                                            ; preds = %26027, %25969
  br label %26029

26029:                                            ; preds = %26028
  br label %26030

26030:                                            ; preds = %26029
  br label %26031

26031:                                            ; preds = %26030
  %26032 = load i32, ptr @test_count, align 4, !tbaa !5
  %26033 = add nsw i32 %26032, 1
  store i32 %26033, ptr @test_count, align 4, !tbaa !5
  %26034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26035 = load i32, ptr %26034, align 4, !tbaa !5
  %26036 = icmp eq i32 %26035, 469762121
  br i1 %26036, label %26090, label %26037

26037:                                            ; preds = %26031
  br label %26038

26038:                                            ; preds = %26037
  br label %26039

26039:                                            ; preds = %26038
  call void @llvm.lifetime.start.p0(i64 4, ptr %642) #11
  %26040 = call ptr @__errno_location() #12
  %26041 = load i32, ptr %26040, align 4, !tbaa !5
  store i32 %26041, ptr %642, align 4, !tbaa !5
  %26042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26043 = call i32 @s2n_print_stacktrace(ptr noundef %26042)
  %26044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26045 = trunc i8 %26044 to i1
  br i1 %26045, label %26046, label %26068

26046:                                            ; preds = %26039
  %26047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26048 = call i32 @fileno(ptr noundef %26047) #11
  %26049 = call i32 @isatty(i32 noundef %26048) #11
  %26050 = icmp ne i32 %26049, 0
  br i1 %26050, label %26051, label %26068

26051:                                            ; preds = %26046
  %26052 = load i32, ptr %642, align 4, !tbaa !5
  %26053 = call ptr @__errno_location() #12
  store i32 %26052, ptr %26053, align 4, !tbaa !5
  %26054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26055 = load i32, ptr @test_count, align 4, !tbaa !5
  %26056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26057 = load i32, ptr %26056, align 4, !tbaa !5
  %26058 = call ptr @s2n_strerror(i32 noundef %26057, ptr noundef @.str.25)
  %26059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26060 = load i32, ptr %26059, align 4, !tbaa !5
  %26061 = call ptr @s2n_strerror_debug(i32 noundef %26060, ptr noundef @.str.25)
  %26062 = call ptr @__errno_location() #12
  %26063 = load i32, ptr %26062, align 4, !tbaa !5
  %26064 = call ptr @strerror(i32 noundef %26063) #11
  %26065 = call ptr @__errno_location() #12
  %26066 = load i32, ptr %26065, align 4, !tbaa !5
  %26067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26054, ptr noundef @.str.23, i32 noundef %26055, ptr noundef @.str.191, ptr noundef @.str.22, i32 noundef 1238, ptr noundef %26058, ptr noundef %26061, ptr noundef %26064, i32 noundef %26066) #11
  br label %26085

26068:                                            ; preds = %26046, %26039
  %26069 = load i32, ptr %642, align 4, !tbaa !5
  %26070 = call ptr @__errno_location() #12
  store i32 %26069, ptr %26070, align 4, !tbaa !5
  %26071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26072 = load i32, ptr @test_count, align 4, !tbaa !5
  %26073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26074 = load i32, ptr %26073, align 4, !tbaa !5
  %26075 = call ptr @s2n_strerror(i32 noundef %26074, ptr noundef @.str.25)
  %26076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26077 = load i32, ptr %26076, align 4, !tbaa !5
  %26078 = call ptr @s2n_strerror_debug(i32 noundef %26077, ptr noundef @.str.25)
  %26079 = call ptr @__errno_location() #12
  %26080 = load i32, ptr %26079, align 4, !tbaa !5
  %26081 = call ptr @strerror(i32 noundef %26080) #11
  %26082 = call ptr @__errno_location() #12
  %26083 = load i32, ptr %26082, align 4, !tbaa !5
  %26084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26071, ptr noundef @.str.26, i32 noundef %26072, ptr noundef @.str.191, ptr noundef @.str.22, i32 noundef 1238, ptr noundef %26075, ptr noundef %26078, ptr noundef %26081, i32 noundef %26083) #11
  br label %26085

26085:                                            ; preds = %26068, %26051
  call void @llvm.lifetime.end.p0(i64 4, ptr %642) #11
  br label %26086

26086:                                            ; preds = %26085
  br label %26087

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

26088:                                            ; No predecessors!
  br label %26089

26089:                                            ; preds = %26088
  br label %26090

26090:                                            ; preds = %26089, %26031
  br label %26091

26091:                                            ; preds = %26090
  br label %26092

26092:                                            ; preds = %26091
  br label %26093

26093:                                            ; preds = %26092
  %26094 = load i32, ptr @test_count, align 4, !tbaa !5
  %26095 = add nsw i32 %26094, 1
  store i32 %26095, ptr @test_count, align 4, !tbaa !5
  %26096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26097 = load i32, ptr %26096, align 4, !tbaa !5
  %26098 = call ptr @s2n_strerror_debug(i32 noundef %26097, ptr noundef @.str.25)
  %26099 = icmp eq ptr %26098, null
  br i1 %26099, label %26100, label %26153

26100:                                            ; preds = %26093
  br label %26101

26101:                                            ; preds = %26100
  br label %26102

26102:                                            ; preds = %26101
  call void @llvm.lifetime.start.p0(i64 4, ptr %643) #11
  %26103 = call ptr @__errno_location() #12
  %26104 = load i32, ptr %26103, align 4, !tbaa !5
  store i32 %26104, ptr %643, align 4, !tbaa !5
  %26105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26106 = call i32 @s2n_print_stacktrace(ptr noundef %26105)
  %26107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26108 = trunc i8 %26107 to i1
  br i1 %26108, label %26109, label %26131

26109:                                            ; preds = %26102
  %26110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26111 = call i32 @fileno(ptr noundef %26110) #11
  %26112 = call i32 @isatty(i32 noundef %26111) #11
  %26113 = icmp ne i32 %26112, 0
  br i1 %26113, label %26114, label %26131

26114:                                            ; preds = %26109
  %26115 = load i32, ptr %643, align 4, !tbaa !5
  %26116 = call ptr @__errno_location() #12
  store i32 %26115, ptr %26116, align 4, !tbaa !5
  %26117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26118 = load i32, ptr @test_count, align 4, !tbaa !5
  %26119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26120 = load i32, ptr %26119, align 4, !tbaa !5
  %26121 = call ptr @s2n_strerror(i32 noundef %26120, ptr noundef @.str.25)
  %26122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26123 = load i32, ptr %26122, align 4, !tbaa !5
  %26124 = call ptr @s2n_strerror_debug(i32 noundef %26123, ptr noundef @.str.25)
  %26125 = call ptr @__errno_location() #12
  %26126 = load i32, ptr %26125, align 4, !tbaa !5
  %26127 = call ptr @strerror(i32 noundef %26126) #11
  %26128 = call ptr @__errno_location() #12
  %26129 = load i32, ptr %26128, align 4, !tbaa !5
  %26130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26117, ptr noundef @.str.23, i32 noundef %26118, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 1238, ptr noundef %26121, ptr noundef %26124, ptr noundef %26127, i32 noundef %26129) #11
  br label %26148

26131:                                            ; preds = %26109, %26102
  %26132 = load i32, ptr %643, align 4, !tbaa !5
  %26133 = call ptr @__errno_location() #12
  store i32 %26132, ptr %26133, align 4, !tbaa !5
  %26134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26135 = load i32, ptr @test_count, align 4, !tbaa !5
  %26136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26137 = load i32, ptr %26136, align 4, !tbaa !5
  %26138 = call ptr @s2n_strerror(i32 noundef %26137, ptr noundef @.str.25)
  %26139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26140 = load i32, ptr %26139, align 4, !tbaa !5
  %26141 = call ptr @s2n_strerror_debug(i32 noundef %26140, ptr noundef @.str.25)
  %26142 = call ptr @__errno_location() #12
  %26143 = load i32, ptr %26142, align 4, !tbaa !5
  %26144 = call ptr @strerror(i32 noundef %26143) #11
  %26145 = call ptr @__errno_location() #12
  %26146 = load i32, ptr %26145, align 4, !tbaa !5
  %26147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26134, ptr noundef @.str.26, i32 noundef %26135, ptr noundef @.str.61, ptr noundef @.str.22, i32 noundef 1238, ptr noundef %26138, ptr noundef %26141, ptr noundef %26144, i32 noundef %26146) #11
  br label %26148

26148:                                            ; preds = %26131, %26114
  call void @llvm.lifetime.end.p0(i64 4, ptr %643) #11
  br label %26149

26149:                                            ; preds = %26148
  br label %26150

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

26151:                                            ; No predecessors!
  br label %26152

26152:                                            ; preds = %26151
  br label %26153

26153:                                            ; preds = %26152, %26093
  br label %26154

26154:                                            ; preds = %26153
  br label %26155

26155:                                            ; preds = %26154
  br label %26156

26156:                                            ; preds = %26155
  br label %26157

26157:                                            ; preds = %26156
  br label %26158

26158:                                            ; preds = %26157
  %26159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26159, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26160 = call ptr @__errno_location() #12
  store i32 0, ptr %26160, align 4, !tbaa !5
  br label %26161

26161:                                            ; preds = %26158
  br label %26162

26162:                                            ; preds = %26161
  br label %26163

26163:                                            ; preds = %26162
  br label %26164

26164:                                            ; preds = %26163
  br label %26165

26165:                                            ; preds = %26164
  %26166 = load i32, ptr @test_count, align 4, !tbaa !5
  %26167 = add nsw i32 %26166, 1
  store i32 %26167, ptr @test_count, align 4, !tbaa !5
  %26168 = load ptr, ptr %618, align 8, !tbaa !9
  %26169 = getelementptr inbounds %struct.s2n_connection, ptr %26168, i32 0, i32 88
  %26170 = load i16, ptr %26169, align 2, !tbaa !50
  %26171 = zext i16 %26170 to i32
  %26172 = icmp eq i32 %26171, 10
  br i1 %26172, label %26226, label %26173

26173:                                            ; preds = %26165
  br label %26174

26174:                                            ; preds = %26173
  br label %26175

26175:                                            ; preds = %26174
  call void @llvm.lifetime.start.p0(i64 4, ptr %644) #11
  %26176 = call ptr @__errno_location() #12
  %26177 = load i32, ptr %26176, align 4, !tbaa !5
  store i32 %26177, ptr %644, align 4, !tbaa !5
  %26178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26179 = call i32 @s2n_print_stacktrace(ptr noundef %26178)
  %26180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26181 = trunc i8 %26180 to i1
  br i1 %26181, label %26182, label %26204

26182:                                            ; preds = %26175
  %26183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26184 = call i32 @fileno(ptr noundef %26183) #11
  %26185 = call i32 @isatty(i32 noundef %26184) #11
  %26186 = icmp ne i32 %26185, 0
  br i1 %26186, label %26187, label %26204

26187:                                            ; preds = %26182
  %26188 = load i32, ptr %644, align 4, !tbaa !5
  %26189 = call ptr @__errno_location() #12
  store i32 %26188, ptr %26189, align 4, !tbaa !5
  %26190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26191 = load i32, ptr @test_count, align 4, !tbaa !5
  %26192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26193 = load i32, ptr %26192, align 4, !tbaa !5
  %26194 = call ptr @s2n_strerror(i32 noundef %26193, ptr noundef @.str.25)
  %26195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26196 = load i32, ptr %26195, align 4, !tbaa !5
  %26197 = call ptr @s2n_strerror_debug(i32 noundef %26196, ptr noundef @.str.25)
  %26198 = call ptr @__errno_location() #12
  %26199 = load i32, ptr %26198, align 4, !tbaa !5
  %26200 = call ptr @strerror(i32 noundef %26199) #11
  %26201 = call ptr @__errno_location() #12
  %26202 = load i32, ptr %26201, align 4, !tbaa !5
  %26203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26190, ptr noundef @.str.23, i32 noundef %26191, ptr noundef @.str.186, ptr noundef @.str.22, i32 noundef 1239, ptr noundef %26194, ptr noundef %26197, ptr noundef %26200, i32 noundef %26202) #11
  br label %26221

26204:                                            ; preds = %26182, %26175
  %26205 = load i32, ptr %644, align 4, !tbaa !5
  %26206 = call ptr @__errno_location() #12
  store i32 %26205, ptr %26206, align 4, !tbaa !5
  %26207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26208 = load i32, ptr @test_count, align 4, !tbaa !5
  %26209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26210 = load i32, ptr %26209, align 4, !tbaa !5
  %26211 = call ptr @s2n_strerror(i32 noundef %26210, ptr noundef @.str.25)
  %26212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26213 = load i32, ptr %26212, align 4, !tbaa !5
  %26214 = call ptr @s2n_strerror_debug(i32 noundef %26213, ptr noundef @.str.25)
  %26215 = call ptr @__errno_location() #12
  %26216 = load i32, ptr %26215, align 4, !tbaa !5
  %26217 = call ptr @strerror(i32 noundef %26216) #11
  %26218 = call ptr @__errno_location() #12
  %26219 = load i32, ptr %26218, align 4, !tbaa !5
  %26220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26207, ptr noundef @.str.26, i32 noundef %26208, ptr noundef @.str.186, ptr noundef @.str.22, i32 noundef 1239, ptr noundef %26211, ptr noundef %26214, ptr noundef %26217, i32 noundef %26219) #11
  br label %26221

26221:                                            ; preds = %26204, %26187
  call void @llvm.lifetime.end.p0(i64 4, ptr %644) #11
  br label %26222

26222:                                            ; preds = %26221
  br label %26223

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

26224:                                            ; No predecessors!
  br label %26225

26225:                                            ; preds = %26224
  br label %26226

26226:                                            ; preds = %26225, %26165
  br label %26227

26227:                                            ; preds = %26226
  br label %26228

26228:                                            ; preds = %26227
  br label %26229

26229:                                            ; preds = %26228
  %26230 = load i32, ptr @test_count, align 4, !tbaa !5
  %26231 = add nsw i32 %26230, 1
  store i32 %26231, ptr @test_count, align 4, !tbaa !5
  %26232 = load ptr, ptr %618, align 8, !tbaa !9
  %26233 = getelementptr inbounds %struct.s2n_connection, ptr %26232, i32 0, i32 87
  %26234 = load i16, ptr %26233, align 4, !tbaa !81
  %26235 = zext i16 %26234 to i32
  %26236 = icmp eq i32 %26235, 10
  br i1 %26236, label %26290, label %26237

26237:                                            ; preds = %26229
  br label %26238

26238:                                            ; preds = %26237
  br label %26239

26239:                                            ; preds = %26238
  call void @llvm.lifetime.start.p0(i64 4, ptr %645) #11
  %26240 = call ptr @__errno_location() #12
  %26241 = load i32, ptr %26240, align 4, !tbaa !5
  store i32 %26241, ptr %645, align 4, !tbaa !5
  %26242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26243 = call i32 @s2n_print_stacktrace(ptr noundef %26242)
  %26244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26245 = trunc i8 %26244 to i1
  br i1 %26245, label %26246, label %26268

26246:                                            ; preds = %26239
  %26247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26248 = call i32 @fileno(ptr noundef %26247) #11
  %26249 = call i32 @isatty(i32 noundef %26248) #11
  %26250 = icmp ne i32 %26249, 0
  br i1 %26250, label %26251, label %26268

26251:                                            ; preds = %26246
  %26252 = load i32, ptr %645, 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.25)
  %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.25)
  %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.23, i32 noundef %26255, ptr noundef @.str.189, ptr noundef @.str.22, i32 noundef 1240, ptr noundef %26258, ptr noundef %26261, ptr noundef %26264, i32 noundef %26266) #11
  br label %26285

26268:                                            ; preds = %26246, %26239
  %26269 = load i32, ptr %645, align 4, !tbaa !5
  %26270 = call ptr @__errno_location() #12
  store i32 %26269, ptr %26270, align 4, !tbaa !5
  %26271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26272 = load i32, ptr @test_count, align 4, !tbaa !5
  %26273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26274 = load i32, ptr %26273, align 4, !tbaa !5
  %26275 = call ptr @s2n_strerror(i32 noundef %26274, ptr noundef @.str.25)
  %26276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26277 = load i32, ptr %26276, align 4, !tbaa !5
  %26278 = call ptr @s2n_strerror_debug(i32 noundef %26277, ptr noundef @.str.25)
  %26279 = call ptr @__errno_location() #12
  %26280 = load i32, ptr %26279, align 4, !tbaa !5
  %26281 = call ptr @strerror(i32 noundef %26280) #11
  %26282 = call ptr @__errno_location() #12
  %26283 = load i32, ptr %26282, align 4, !tbaa !5
  %26284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26271, ptr noundef @.str.26, i32 noundef %26272, ptr noundef @.str.189, ptr noundef @.str.22, i32 noundef 1240, ptr noundef %26275, ptr noundef %26278, ptr noundef %26281, i32 noundef %26283) #11
  br label %26285

26285:                                            ; preds = %26268, %26251
  call void @llvm.lifetime.end.p0(i64 4, ptr %645) #11
  br label %26286

26286:                                            ; preds = %26285
  br label %26287

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

26288:                                            ; No predecessors!
  br label %26289

26289:                                            ; preds = %26288
  br label %26290

26290:                                            ; preds = %26289, %26229
  br label %26291

26291:                                            ; preds = %26290
  br label %26292

26292:                                            ; preds = %26291
  br label %26293

26293:                                            ; preds = %26292
  %26294 = load i32, ptr @test_count, align 4, !tbaa !5
  %26295 = add nsw i32 %26294, 1
  store i32 %26295, ptr @test_count, align 4, !tbaa !5
  %26296 = load ptr, ptr %618, align 8, !tbaa !9
  %26297 = call i32 @s2n_assert_tickets_sent(ptr noundef %26296, i16 noundef zeroext 10)
  %26298 = getelementptr inbounds %struct.s2n_result, ptr %646, i32 0, i32 0
  store i32 %26297, ptr %26298, align 4
  %26299 = getelementptr inbounds %struct.s2n_result, ptr %646, i32 0, i32 0
  %26300 = load i32, ptr %26299, align 4
  %26301 = call zeroext i1 @s2n_result_is_ok(i32 %26300)
  br i1 %26301, label %26355, label %26302

26302:                                            ; preds = %26293
  br label %26303

26303:                                            ; preds = %26302
  br label %26304

26304:                                            ; preds = %26303
  call void @llvm.lifetime.start.p0(i64 4, ptr %647) #11
  %26305 = call ptr @__errno_location() #12
  %26306 = load i32, ptr %26305, align 4, !tbaa !5
  store i32 %26306, ptr %647, align 4, !tbaa !5
  %26307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26308 = call i32 @s2n_print_stacktrace(ptr noundef %26307)
  %26309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26310 = trunc i8 %26309 to i1
  br i1 %26310, label %26311, label %26333

26311:                                            ; preds = %26304
  %26312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26313 = call i32 @fileno(ptr noundef %26312) #11
  %26314 = call i32 @isatty(i32 noundef %26313) #11
  %26315 = icmp ne i32 %26314, 0
  br i1 %26315, label %26316, label %26333

26316:                                            ; preds = %26311
  %26317 = load i32, ptr %647, align 4, !tbaa !5
  %26318 = call ptr @__errno_location() #12
  store i32 %26317, ptr %26318, align 4, !tbaa !5
  %26319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26320 = load i32, ptr @test_count, align 4, !tbaa !5
  %26321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26322 = load i32, ptr %26321, align 4, !tbaa !5
  %26323 = call ptr @s2n_strerror(i32 noundef %26322, ptr noundef @.str.25)
  %26324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26325 = load i32, ptr %26324, align 4, !tbaa !5
  %26326 = call ptr @s2n_strerror_debug(i32 noundef %26325, ptr noundef @.str.25)
  %26327 = call ptr @__errno_location() #12
  %26328 = load i32, ptr %26327, align 4, !tbaa !5
  %26329 = call ptr @strerror(i32 noundef %26328) #11
  %26330 = call ptr @__errno_location() #12
  %26331 = load i32, ptr %26330, align 4, !tbaa !5
  %26332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26319, ptr noundef @.str.23, i32 noundef %26320, ptr noundef @.str.184, ptr noundef @.str.22, i32 noundef 1241, ptr noundef %26323, ptr noundef %26326, ptr noundef %26329, i32 noundef %26331) #11
  br label %26350

26333:                                            ; preds = %26311, %26304
  %26334 = load i32, ptr %647, align 4, !tbaa !5
  %26335 = call ptr @__errno_location() #12
  store i32 %26334, ptr %26335, align 4, !tbaa !5
  %26336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26337 = load i32, ptr @test_count, align 4, !tbaa !5
  %26338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26339 = load i32, ptr %26338, align 4, !tbaa !5
  %26340 = call ptr @s2n_strerror(i32 noundef %26339, ptr noundef @.str.25)
  %26341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26342 = load i32, ptr %26341, align 4, !tbaa !5
  %26343 = call ptr @s2n_strerror_debug(i32 noundef %26342, ptr noundef @.str.25)
  %26344 = call ptr @__errno_location() #12
  %26345 = load i32, ptr %26344, align 4, !tbaa !5
  %26346 = call ptr @strerror(i32 noundef %26345) #11
  %26347 = call ptr @__errno_location() #12
  %26348 = load i32, ptr %26347, align 4, !tbaa !5
  %26349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26336, ptr noundef @.str.26, i32 noundef %26337, ptr noundef @.str.184, ptr noundef @.str.22, i32 noundef 1241, ptr noundef %26340, ptr noundef %26343, ptr noundef %26346, i32 noundef %26348) #11
  br label %26350

26350:                                            ; preds = %26333, %26316
  call void @llvm.lifetime.end.p0(i64 4, ptr %647) #11
  br label %26351

26351:                                            ; preds = %26350
  br label %26352

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

26353:                                            ; No predecessors!
  br label %26354

26354:                                            ; preds = %26353
  br label %26355

26355:                                            ; preds = %26354, %26293
  br label %26356

26356:                                            ; preds = %26355
  br label %26357

26357:                                            ; preds = %26356
  br label %26358

26358:                                            ; preds = %26357
  %26359 = load i32, ptr @test_count, align 4, !tbaa !5
  %26360 = add nsw i32 %26359, 1
  store i32 %26360, ptr @test_count, align 4, !tbaa !5
  %26361 = call i32 @s2n_stuffer_free(ptr noundef %623)
  %26362 = icmp eq i32 %26361, -1
  br i1 %26362, label %26363, label %26416

26363:                                            ; preds = %26358
  br label %26364

26364:                                            ; preds = %26363
  br label %26365

26365:                                            ; preds = %26364
  call void @llvm.lifetime.start.p0(i64 4, ptr %648) #11
  %26366 = call ptr @__errno_location() #12
  %26367 = load i32, ptr %26366, align 4, !tbaa !5
  store i32 %26367, ptr %648, align 4, !tbaa !5
  %26368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26369 = call i32 @s2n_print_stacktrace(ptr noundef %26368)
  %26370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26371 = trunc i8 %26370 to i1
  br i1 %26371, label %26372, label %26394

26372:                                            ; preds = %26365
  %26373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26374 = call i32 @fileno(ptr noundef %26373) #11
  %26375 = call i32 @isatty(i32 noundef %26374) #11
  %26376 = icmp ne i32 %26375, 0
  br i1 %26376, label %26377, label %26394

26377:                                            ; preds = %26372
  %26378 = load i32, ptr %648, align 4, !tbaa !5
  %26379 = call ptr @__errno_location() #12
  store i32 %26378, ptr %26379, align 4, !tbaa !5
  %26380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26381 = load i32, ptr @test_count, align 4, !tbaa !5
  %26382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26383 = load i32, ptr %26382, align 4, !tbaa !5
  %26384 = call ptr @s2n_strerror(i32 noundef %26383, ptr noundef @.str.25)
  %26385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26386 = load i32, ptr %26385, align 4, !tbaa !5
  %26387 = call ptr @s2n_strerror_debug(i32 noundef %26386, ptr noundef @.str.25)
  %26388 = call ptr @__errno_location() #12
  %26389 = load i32, ptr %26388, align 4, !tbaa !5
  %26390 = call ptr @strerror(i32 noundef %26389) #11
  %26391 = call ptr @__errno_location() #12
  %26392 = load i32, ptr %26391, align 4, !tbaa !5
  %26393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26380, ptr noundef @.str.23, i32 noundef %26381, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1243, ptr noundef %26384, ptr noundef %26387, ptr noundef %26390, i32 noundef %26392) #11
  br label %26411

26394:                                            ; preds = %26372, %26365
  %26395 = load i32, ptr %648, align 4, !tbaa !5
  %26396 = call ptr @__errno_location() #12
  store i32 %26395, ptr %26396, align 4, !tbaa !5
  %26397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26398 = load i32, ptr @test_count, align 4, !tbaa !5
  %26399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26400 = load i32, ptr %26399, align 4, !tbaa !5
  %26401 = call ptr @s2n_strerror(i32 noundef %26400, ptr noundef @.str.25)
  %26402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26403 = load i32, ptr %26402, align 4, !tbaa !5
  %26404 = call ptr @s2n_strerror_debug(i32 noundef %26403, ptr noundef @.str.25)
  %26405 = call ptr @__errno_location() #12
  %26406 = load i32, ptr %26405, align 4, !tbaa !5
  %26407 = call ptr @strerror(i32 noundef %26406) #11
  %26408 = call ptr @__errno_location() #12
  %26409 = load i32, ptr %26408, align 4, !tbaa !5
  %26410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26397, ptr noundef @.str.26, i32 noundef %26398, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1243, ptr noundef %26401, ptr noundef %26404, ptr noundef %26407, i32 noundef %26409) #11
  br label %26411

26411:                                            ; preds = %26394, %26377
  call void @llvm.lifetime.end.p0(i64 4, ptr %648) #11
  br label %26412

26412:                                            ; preds = %26411
  br label %26413

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

26414:                                            ; No predecessors!
  br label %26415

26415:                                            ; preds = %26414
  br label %26416

26416:                                            ; preds = %26415, %26358
  br label %26417

26417:                                            ; preds = %26416
  br label %26418

26418:                                            ; preds = %26417
  br label %26419

26419:                                            ; preds = %26418
  %26420 = load i32, ptr @test_count, align 4, !tbaa !5
  %26421 = add nsw i32 %26420, 1
  store i32 %26421, ptr @test_count, align 4, !tbaa !5
  %26422 = load ptr, ptr %618, align 8, !tbaa !9
  %26423 = call i32 @s2n_connection_free(ptr noundef %26422)
  %26424 = icmp eq i32 %26423, -1
  br i1 %26424, label %26425, label %26478

26425:                                            ; preds = %26419
  br label %26426

26426:                                            ; preds = %26425
  br label %26427

26427:                                            ; preds = %26426
  call void @llvm.lifetime.start.p0(i64 4, ptr %649) #11
  %26428 = call ptr @__errno_location() #12
  %26429 = load i32, ptr %26428, align 4, !tbaa !5
  store i32 %26429, ptr %649, align 4, !tbaa !5
  %26430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26431 = call i32 @s2n_print_stacktrace(ptr noundef %26430)
  %26432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26433 = trunc i8 %26432 to i1
  br i1 %26433, label %26434, label %26456

26434:                                            ; preds = %26427
  %26435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26436 = call i32 @fileno(ptr noundef %26435) #11
  %26437 = call i32 @isatty(i32 noundef %26436) #11
  %26438 = icmp ne i32 %26437, 0
  br i1 %26438, label %26439, label %26456

26439:                                            ; preds = %26434
  %26440 = load i32, ptr %649, align 4, !tbaa !5
  %26441 = call ptr @__errno_location() #12
  store i32 %26440, ptr %26441, align 4, !tbaa !5
  %26442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26443 = load i32, ptr @test_count, align 4, !tbaa !5
  %26444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26445 = load i32, ptr %26444, align 4, !tbaa !5
  %26446 = call ptr @s2n_strerror(i32 noundef %26445, ptr noundef @.str.25)
  %26447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26448 = load i32, ptr %26447, align 4, !tbaa !5
  %26449 = call ptr @s2n_strerror_debug(i32 noundef %26448, ptr noundef @.str.25)
  %26450 = call ptr @__errno_location() #12
  %26451 = load i32, ptr %26450, align 4, !tbaa !5
  %26452 = call ptr @strerror(i32 noundef %26451) #11
  %26453 = call ptr @__errno_location() #12
  %26454 = load i32, ptr %26453, align 4, !tbaa !5
  %26455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26442, ptr noundef @.str.23, i32 noundef %26443, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1244, ptr noundef %26446, ptr noundef %26449, ptr noundef %26452, i32 noundef %26454) #11
  br label %26473

26456:                                            ; preds = %26434, %26427
  %26457 = load i32, ptr %649, align 4, !tbaa !5
  %26458 = call ptr @__errno_location() #12
  store i32 %26457, ptr %26458, align 4, !tbaa !5
  %26459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26460 = load i32, ptr @test_count, align 4, !tbaa !5
  %26461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26462 = load i32, ptr %26461, align 4, !tbaa !5
  %26463 = call ptr @s2n_strerror(i32 noundef %26462, ptr noundef @.str.25)
  %26464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26465 = load i32, ptr %26464, align 4, !tbaa !5
  %26466 = call ptr @s2n_strerror_debug(i32 noundef %26465, ptr noundef @.str.25)
  %26467 = call ptr @__errno_location() #12
  %26468 = load i32, ptr %26467, align 4, !tbaa !5
  %26469 = call ptr @strerror(i32 noundef %26468) #11
  %26470 = call ptr @__errno_location() #12
  %26471 = load i32, ptr %26470, align 4, !tbaa !5
  %26472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26459, ptr noundef @.str.26, i32 noundef %26460, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1244, ptr noundef %26463, ptr noundef %26466, ptr noundef %26469, i32 noundef %26471) #11
  br label %26473

26473:                                            ; preds = %26456, %26439
  call void @llvm.lifetime.end.p0(i64 4, ptr %649) #11
  br label %26474

26474:                                            ; preds = %26473
  br label %26475

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

26476:                                            ; No predecessors!
  br label %26477

26477:                                            ; preds = %26476
  br label %26478

26478:                                            ; preds = %26477, %26419
  br label %26479

26479:                                            ; preds = %26478
  br label %26480

26480:                                            ; preds = %26479
  br label %26481

26481:                                            ; preds = %26480
  %26482 = load i32, ptr @test_count, align 4, !tbaa !5
  %26483 = add nsw i32 %26482, 1
  store i32 %26483, ptr @test_count, align 4, !tbaa !5
  %26484 = load ptr, ptr %614, align 8, !tbaa !9
  %26485 = call i32 @s2n_config_free(ptr noundef %26484)
  %26486 = icmp eq i32 %26485, -1
  br i1 %26486, label %26487, label %26540

26487:                                            ; preds = %26481
  br label %26488

26488:                                            ; preds = %26487
  br label %26489

26489:                                            ; preds = %26488
  call void @llvm.lifetime.start.p0(i64 4, ptr %650) #11
  %26490 = call ptr @__errno_location() #12
  %26491 = load i32, ptr %26490, align 4, !tbaa !5
  store i32 %26491, ptr %650, align 4, !tbaa !5
  %26492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26493 = call i32 @s2n_print_stacktrace(ptr noundef %26492)
  %26494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26495 = trunc i8 %26494 to i1
  br i1 %26495, label %26496, label %26518

26496:                                            ; preds = %26489
  %26497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26498 = call i32 @fileno(ptr noundef %26497) #11
  %26499 = call i32 @isatty(i32 noundef %26498) #11
  %26500 = icmp ne i32 %26499, 0
  br i1 %26500, label %26501, label %26518

26501:                                            ; preds = %26496
  %26502 = load i32, ptr %650, align 4, !tbaa !5
  %26503 = call ptr @__errno_location() #12
  store i32 %26502, ptr %26503, align 4, !tbaa !5
  %26504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26505 = load i32, ptr @test_count, align 4, !tbaa !5
  %26506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26507 = load i32, ptr %26506, align 4, !tbaa !5
  %26508 = call ptr @s2n_strerror(i32 noundef %26507, ptr noundef @.str.25)
  %26509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26510 = load i32, ptr %26509, align 4, !tbaa !5
  %26511 = call ptr @s2n_strerror_debug(i32 noundef %26510, ptr noundef @.str.25)
  %26512 = call ptr @__errno_location() #12
  %26513 = load i32, ptr %26512, align 4, !tbaa !5
  %26514 = call ptr @strerror(i32 noundef %26513) #11
  %26515 = call ptr @__errno_location() #12
  %26516 = load i32, ptr %26515, align 4, !tbaa !5
  %26517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26504, ptr noundef @.str.23, i32 noundef %26505, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1245, ptr noundef %26508, ptr noundef %26511, ptr noundef %26514, i32 noundef %26516) #11
  br label %26535

26518:                                            ; preds = %26496, %26489
  %26519 = load i32, ptr %650, align 4, !tbaa !5
  %26520 = call ptr @__errno_location() #12
  store i32 %26519, ptr %26520, align 4, !tbaa !5
  %26521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26522 = load i32, ptr @test_count, align 4, !tbaa !5
  %26523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26524 = load i32, ptr %26523, align 4, !tbaa !5
  %26525 = call ptr @s2n_strerror(i32 noundef %26524, ptr noundef @.str.25)
  %26526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26527 = load i32, ptr %26526, align 4, !tbaa !5
  %26528 = call ptr @s2n_strerror_debug(i32 noundef %26527, ptr noundef @.str.25)
  %26529 = call ptr @__errno_location() #12
  %26530 = load i32, ptr %26529, align 4, !tbaa !5
  %26531 = call ptr @strerror(i32 noundef %26530) #11
  %26532 = call ptr @__errno_location() #12
  %26533 = load i32, ptr %26532, align 4, !tbaa !5
  %26534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26521, ptr noundef @.str.26, i32 noundef %26522, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1245, ptr noundef %26525, ptr noundef %26528, ptr noundef %26531, i32 noundef %26533) #11
  br label %26535

26535:                                            ; preds = %26518, %26501
  call void @llvm.lifetime.end.p0(i64 4, ptr %650) #11
  br label %26536

26536:                                            ; preds = %26535
  br label %26537

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

26538:                                            ; No predecessors!
  br label %26539

26539:                                            ; preds = %26538
  br label %26540

26540:                                            ; preds = %26539, %26481
  br label %26541

26541:                                            ; preds = %26540
  br label %26542

26542:                                            ; preds = %26541
  call void @llvm.lifetime.end.p0(i64 4, ptr %633) #11
  %26543 = call i32 @s2n_psk_free(ptr noundef %631)
  call void @llvm.lifetime.end.p0(i64 8, ptr %631) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %623) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %618) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %614) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %613) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %612) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr %651) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %651, ptr align 16 @__const.main.test_data, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %652) #11
  store i64 0, ptr %652, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %653) #11
  %26544 = call ptr @s2n_config_new()
  store ptr %26544, ptr %653, align 8, !tbaa !9
  br label %26545

26545:                                            ; preds = %26542
  %26546 = load i32, ptr @test_count, align 4, !tbaa !5
  %26547 = add nsw i32 %26546, 1
  store i32 %26547, ptr @test_count, align 4, !tbaa !5
  %26548 = load ptr, ptr %653, align 8, !tbaa !9
  %26549 = icmp eq ptr %26548, null
  br i1 %26549, label %26550, label %26603

26550:                                            ; preds = %26545
  br label %26551

26551:                                            ; preds = %26550
  br label %26552

26552:                                            ; preds = %26551
  call void @llvm.lifetime.start.p0(i64 4, ptr %654) #11
  %26553 = call ptr @__errno_location() #12
  %26554 = load i32, ptr %26553, align 4, !tbaa !5
  store i32 %26554, ptr %654, align 4, !tbaa !5
  %26555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26556 = call i32 @s2n_print_stacktrace(ptr noundef %26555)
  %26557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26558 = trunc i8 %26557 to i1
  br i1 %26558, label %26559, label %26581

26559:                                            ; preds = %26552
  %26560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26561 = call i32 @fileno(ptr noundef %26560) #11
  %26562 = call i32 @isatty(i32 noundef %26561) #11
  %26563 = icmp ne i32 %26562, 0
  br i1 %26563, label %26564, label %26581

26564:                                            ; preds = %26559
  %26565 = load i32, ptr %654, align 4, !tbaa !5
  %26566 = call ptr @__errno_location() #12
  store i32 %26565, ptr %26566, align 4, !tbaa !5
  %26567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26568 = load i32, ptr @test_count, align 4, !tbaa !5
  %26569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26570 = load i32, ptr %26569, align 4, !tbaa !5
  %26571 = call ptr @s2n_strerror(i32 noundef %26570, ptr noundef @.str.25)
  %26572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26573 = load i32, ptr %26572, align 4, !tbaa !5
  %26574 = call ptr @s2n_strerror_debug(i32 noundef %26573, ptr noundef @.str.25)
  %26575 = call ptr @__errno_location() #12
  %26576 = load i32, ptr %26575, align 4, !tbaa !5
  %26577 = call ptr @strerror(i32 noundef %26576) #11
  %26578 = call ptr @__errno_location() #12
  %26579 = load i32, ptr %26578, align 4, !tbaa !5
  %26580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26567, ptr noundef @.str.23, i32 noundef %26568, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1254, ptr noundef %26571, ptr noundef %26574, ptr noundef %26577, i32 noundef %26579) #11
  br label %26598

26581:                                            ; preds = %26559, %26552
  %26582 = load i32, ptr %654, align 4, !tbaa !5
  %26583 = call ptr @__errno_location() #12
  store i32 %26582, ptr %26583, align 4, !tbaa !5
  %26584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26585 = load i32, ptr @test_count, align 4, !tbaa !5
  %26586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26587 = load i32, ptr %26586, align 4, !tbaa !5
  %26588 = call ptr @s2n_strerror(i32 noundef %26587, ptr noundef @.str.25)
  %26589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26590 = load i32, ptr %26589, align 4, !tbaa !5
  %26591 = call ptr @s2n_strerror_debug(i32 noundef %26590, ptr noundef @.str.25)
  %26592 = call ptr @__errno_location() #12
  %26593 = load i32, ptr %26592, align 4, !tbaa !5
  %26594 = call ptr @strerror(i32 noundef %26593) #11
  %26595 = call ptr @__errno_location() #12
  %26596 = load i32, ptr %26595, align 4, !tbaa !5
  %26597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26584, ptr noundef @.str.26, i32 noundef %26585, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1254, ptr noundef %26588, ptr noundef %26591, ptr noundef %26594, i32 noundef %26596) #11
  br label %26598

26598:                                            ; preds = %26581, %26564
  call void @llvm.lifetime.end.p0(i64 4, ptr %654) #11
  br label %26599

26599:                                            ; preds = %26598
  br label %26600

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

26601:                                            ; No predecessors!
  br label %26602

26602:                                            ; preds = %26601
  br label %26603

26603:                                            ; preds = %26602, %26545
  br label %26604

26604:                                            ; preds = %26603
  br label %26605

26605:                                            ; preds = %26604
  br label %26606

26606:                                            ; preds = %26605
  %26607 = load i32, ptr @test_count, align 4, !tbaa !5
  %26608 = add nsw i32 %26607, 1
  store i32 %26608, ptr @test_count, align 4, !tbaa !5
  %26609 = load ptr, ptr %653, align 8, !tbaa !9
  %26610 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %26609, i8 noundef zeroext 1)
  %26611 = icmp eq i32 %26610, -1
  br i1 %26611, label %26612, label %26665

26612:                                            ; preds = %26606
  br label %26613

26613:                                            ; preds = %26612
  br label %26614

26614:                                            ; preds = %26613
  call void @llvm.lifetime.start.p0(i64 4, ptr %655) #11
  %26615 = call ptr @__errno_location() #12
  %26616 = load i32, ptr %26615, align 4, !tbaa !5
  store i32 %26616, ptr %655, align 4, !tbaa !5
  %26617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26618 = call i32 @s2n_print_stacktrace(ptr noundef %26617)
  %26619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26620 = trunc i8 %26619 to i1
  br i1 %26620, label %26621, label %26643

26621:                                            ; preds = %26614
  %26622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26623 = call i32 @fileno(ptr noundef %26622) #11
  %26624 = call i32 @isatty(i32 noundef %26623) #11
  %26625 = icmp ne i32 %26624, 0
  br i1 %26625, label %26626, label %26643

26626:                                            ; preds = %26621
  %26627 = load i32, ptr %655, align 4, !tbaa !5
  %26628 = call ptr @__errno_location() #12
  store i32 %26627, ptr %26628, align 4, !tbaa !5
  %26629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26630 = load i32, ptr @test_count, align 4, !tbaa !5
  %26631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26632 = load i32, ptr %26631, align 4, !tbaa !5
  %26633 = call ptr @s2n_strerror(i32 noundef %26632, ptr noundef @.str.25)
  %26634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26635 = load i32, ptr %26634, align 4, !tbaa !5
  %26636 = call ptr @s2n_strerror_debug(i32 noundef %26635, ptr noundef @.str.25)
  %26637 = call ptr @__errno_location() #12
  %26638 = load i32, ptr %26637, align 4, !tbaa !5
  %26639 = call ptr @strerror(i32 noundef %26638) #11
  %26640 = call ptr @__errno_location() #12
  %26641 = load i32, ptr %26640, align 4, !tbaa !5
  %26642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26629, ptr noundef @.str.23, i32 noundef %26630, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 1255, ptr noundef %26633, ptr noundef %26636, ptr noundef %26639, i32 noundef %26641) #11
  br label %26660

26643:                                            ; preds = %26621, %26614
  %26644 = load i32, ptr %655, align 4, !tbaa !5
  %26645 = call ptr @__errno_location() #12
  store i32 %26644, ptr %26645, align 4, !tbaa !5
  %26646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26647 = load i32, ptr @test_count, align 4, !tbaa !5
  %26648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26649 = load i32, ptr %26648, align 4, !tbaa !5
  %26650 = call ptr @s2n_strerror(i32 noundef %26649, ptr noundef @.str.25)
  %26651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26652 = load i32, ptr %26651, align 4, !tbaa !5
  %26653 = call ptr @s2n_strerror_debug(i32 noundef %26652, ptr noundef @.str.25)
  %26654 = call ptr @__errno_location() #12
  %26655 = load i32, ptr %26654, align 4, !tbaa !5
  %26656 = call ptr @strerror(i32 noundef %26655) #11
  %26657 = call ptr @__errno_location() #12
  %26658 = load i32, ptr %26657, align 4, !tbaa !5
  %26659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26646, ptr noundef @.str.26, i32 noundef %26647, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 1255, ptr noundef %26650, ptr noundef %26653, ptr noundef %26656, i32 noundef %26658) #11
  br label %26660

26660:                                            ; preds = %26643, %26626
  call void @llvm.lifetime.end.p0(i64 4, ptr %655) #11
  br label %26661

26661:                                            ; preds = %26660
  br label %26662

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

26663:                                            ; No predecessors!
  br label %26664

26664:                                            ; preds = %26663
  br label %26665

26665:                                            ; preds = %26664, %26606
  br label %26666

26666:                                            ; preds = %26665
  br label %26667

26667:                                            ; preds = %26666
  br label %26668

26668:                                            ; preds = %26667
  %26669 = load i32, ptr @test_count, align 4, !tbaa !5
  %26670 = add nsw i32 %26669, 1
  store i32 %26670, ptr @test_count, align 4, !tbaa !5
  %26671 = load ptr, ptr %653, align 8, !tbaa !9
  %26672 = getelementptr inbounds %struct.s2n_config, ptr %26671, i32 0, i32 5
  %26673 = load ptr, ptr %26672, align 8, !tbaa !85
  %26674 = load ptr, ptr %653, align 8, !tbaa !9
  %26675 = getelementptr inbounds %struct.s2n_config, ptr %26674, i32 0, i32 8
  %26676 = load ptr, ptr %26675, align 8, !tbaa !86
  %26677 = call i32 %26673(ptr noundef %26676, ptr noundef %652)
  %26678 = icmp eq i32 %26677, -1
  br i1 %26678, label %26679, label %26732

26679:                                            ; preds = %26668
  br label %26680

26680:                                            ; preds = %26679
  br label %26681

26681:                                            ; preds = %26680
  call void @llvm.lifetime.start.p0(i64 4, ptr %656) #11
  %26682 = call ptr @__errno_location() #12
  %26683 = load i32, ptr %26682, align 4, !tbaa !5
  store i32 %26683, ptr %656, align 4, !tbaa !5
  %26684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26685 = call i32 @s2n_print_stacktrace(ptr noundef %26684)
  %26686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26687 = trunc i8 %26686 to i1
  br i1 %26687, label %26688, label %26710

26688:                                            ; preds = %26681
  %26689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26690 = call i32 @fileno(ptr noundef %26689) #11
  %26691 = call i32 @isatty(i32 noundef %26690) #11
  %26692 = icmp ne i32 %26691, 0
  br i1 %26692, label %26693, label %26710

26693:                                            ; preds = %26688
  %26694 = load i32, ptr %656, align 4, !tbaa !5
  %26695 = call ptr @__errno_location() #12
  store i32 %26694, ptr %26695, align 4, !tbaa !5
  %26696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26697 = load i32, ptr @test_count, align 4, !tbaa !5
  %26698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26699 = load i32, ptr %26698, align 4, !tbaa !5
  %26700 = call ptr @s2n_strerror(i32 noundef %26699, ptr noundef @.str.25)
  %26701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26702 = load i32, ptr %26701, align 4, !tbaa !5
  %26703 = call ptr @s2n_strerror_debug(i32 noundef %26702, ptr noundef @.str.25)
  %26704 = call ptr @__errno_location() #12
  %26705 = load i32, ptr %26704, align 4, !tbaa !5
  %26706 = call ptr @strerror(i32 noundef %26705) #11
  %26707 = call ptr @__errno_location() #12
  %26708 = load i32, ptr %26707, align 4, !tbaa !5
  %26709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26696, ptr noundef @.str.23, i32 noundef %26697, ptr noundef @.str.192, ptr noundef @.str.22, i32 noundef 1256, ptr noundef %26700, ptr noundef %26703, ptr noundef %26706, i32 noundef %26708) #11
  br label %26727

26710:                                            ; preds = %26688, %26681
  %26711 = load i32, ptr %656, align 4, !tbaa !5
  %26712 = call ptr @__errno_location() #12
  store i32 %26711, ptr %26712, align 4, !tbaa !5
  %26713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26714 = load i32, ptr @test_count, align 4, !tbaa !5
  %26715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26716 = load i32, ptr %26715, align 4, !tbaa !5
  %26717 = call ptr @s2n_strerror(i32 noundef %26716, ptr noundef @.str.25)
  %26718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26719 = load i32, ptr %26718, align 4, !tbaa !5
  %26720 = call ptr @s2n_strerror_debug(i32 noundef %26719, ptr noundef @.str.25)
  %26721 = call ptr @__errno_location() #12
  %26722 = load i32, ptr %26721, align 4, !tbaa !5
  %26723 = call ptr @strerror(i32 noundef %26722) #11
  %26724 = call ptr @__errno_location() #12
  %26725 = load i32, ptr %26724, align 4, !tbaa !5
  %26726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26713, ptr noundef @.str.26, i32 noundef %26714, ptr noundef @.str.192, ptr noundef @.str.22, i32 noundef 1256, ptr noundef %26717, ptr noundef %26720, ptr noundef %26723, i32 noundef %26725) #11
  br label %26727

26727:                                            ; preds = %26710, %26693
  call void @llvm.lifetime.end.p0(i64 4, ptr %656) #11
  br label %26728

26728:                                            ; preds = %26727
  br label %26729

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

26730:                                            ; No predecessors!
  br label %26731

26731:                                            ; preds = %26730
  br label %26732

26732:                                            ; preds = %26731, %26668
  br label %26733

26733:                                            ; preds = %26732
  br label %26734

26734:                                            ; preds = %26733
  br label %26735

26735:                                            ; preds = %26734
  %26736 = load i32, ptr @test_count, align 4, !tbaa !5
  %26737 = add nsw i32 %26736, 1
  store i32 %26737, ptr @test_count, align 4, !tbaa !5
  %26738 = load ptr, ptr %653, align 8, !tbaa !9
  %26739 = getelementptr inbounds [16 x i8], ptr %651, i64 0, i64 0
  %26740 = getelementptr inbounds [16 x i8], ptr %651, i64 0, i64 0
  %26741 = load i64, ptr %652, align 8, !tbaa !15
  %26742 = udiv i64 %26741, 1000000000
  %26743 = call i32 @s2n_config_add_ticket_crypto_key(ptr noundef %26738, ptr noundef %26739, i32 noundef 16, ptr noundef %26740, i32 noundef 16, i64 noundef %26742)
  %26744 = icmp eq i32 %26743, -1
  br i1 %26744, label %26745, label %26798

26745:                                            ; preds = %26735
  br label %26746

26746:                                            ; preds = %26745
  br label %26747

26747:                                            ; preds = %26746
  call void @llvm.lifetime.start.p0(i64 4, ptr %657) #11
  %26748 = call ptr @__errno_location() #12
  %26749 = load i32, ptr %26748, align 4, !tbaa !5
  store i32 %26749, ptr %657, align 4, !tbaa !5
  %26750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26751 = call i32 @s2n_print_stacktrace(ptr noundef %26750)
  %26752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26753 = trunc i8 %26752 to i1
  br i1 %26753, label %26754, label %26776

26754:                                            ; preds = %26747
  %26755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26756 = call i32 @fileno(ptr noundef %26755) #11
  %26757 = call i32 @isatty(i32 noundef %26756) #11
  %26758 = icmp ne i32 %26757, 0
  br i1 %26758, label %26759, label %26776

26759:                                            ; preds = %26754
  %26760 = load i32, ptr %657, align 4, !tbaa !5
  %26761 = call ptr @__errno_location() #12
  store i32 %26760, ptr %26761, align 4, !tbaa !5
  %26762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26763 = load i32, ptr @test_count, align 4, !tbaa !5
  %26764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26765 = load i32, ptr %26764, align 4, !tbaa !5
  %26766 = call ptr @s2n_strerror(i32 noundef %26765, ptr noundef @.str.25)
  %26767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26768 = load i32, ptr %26767, align 4, !tbaa !5
  %26769 = call ptr @s2n_strerror_debug(i32 noundef %26768, ptr noundef @.str.25)
  %26770 = call ptr @__errno_location() #12
  %26771 = load i32, ptr %26770, align 4, !tbaa !5
  %26772 = call ptr @strerror(i32 noundef %26771) #11
  %26773 = call ptr @__errno_location() #12
  %26774 = load i32, ptr %26773, align 4, !tbaa !5
  %26775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26762, ptr noundef @.str.23, i32 noundef %26763, ptr noundef @.str.193, ptr noundef @.str.22, i32 noundef 1258, ptr noundef %26766, ptr noundef %26769, ptr noundef %26772, i32 noundef %26774) #11
  br label %26793

26776:                                            ; preds = %26754, %26747
  %26777 = load i32, ptr %657, align 4, !tbaa !5
  %26778 = call ptr @__errno_location() #12
  store i32 %26777, ptr %26778, align 4, !tbaa !5
  %26779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26780 = load i32, ptr @test_count, align 4, !tbaa !5
  %26781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26782 = load i32, ptr %26781, align 4, !tbaa !5
  %26783 = call ptr @s2n_strerror(i32 noundef %26782, ptr noundef @.str.25)
  %26784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26785 = load i32, ptr %26784, align 4, !tbaa !5
  %26786 = call ptr @s2n_strerror_debug(i32 noundef %26785, ptr noundef @.str.25)
  %26787 = call ptr @__errno_location() #12
  %26788 = load i32, ptr %26787, align 4, !tbaa !5
  %26789 = call ptr @strerror(i32 noundef %26788) #11
  %26790 = call ptr @__errno_location() #12
  %26791 = load i32, ptr %26790, align 4, !tbaa !5
  %26792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26779, ptr noundef @.str.26, i32 noundef %26780, ptr noundef @.str.193, ptr noundef @.str.22, i32 noundef 1258, ptr noundef %26783, ptr noundef %26786, ptr noundef %26789, i32 noundef %26791) #11
  br label %26793

26793:                                            ; preds = %26776, %26759
  call void @llvm.lifetime.end.p0(i64 4, ptr %657) #11
  br label %26794

26794:                                            ; preds = %26793
  br label %26795

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

26796:                                            ; No predecessors!
  br label %26797

26797:                                            ; preds = %26796
  br label %26798

26798:                                            ; preds = %26797, %26735
  br label %26799

26799:                                            ; preds = %26798
  br label %26800

26800:                                            ; preds = %26799
  call void @llvm.lifetime.start.p0(i64 8, ptr %658) #11
  %26801 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %26801, ptr %658, align 8, !tbaa !9
  br label %26802

26802:                                            ; preds = %26800
  %26803 = load i32, ptr @test_count, align 4, !tbaa !5
  %26804 = add nsw i32 %26803, 1
  store i32 %26804, ptr @test_count, align 4, !tbaa !5
  %26805 = load ptr, ptr %658, align 8, !tbaa !9
  %26806 = icmp eq ptr %26805, null
  br i1 %26806, label %26807, label %26860

26807:                                            ; preds = %26802
  br label %26808

26808:                                            ; preds = %26807
  br label %26809

26809:                                            ; preds = %26808
  call void @llvm.lifetime.start.p0(i64 4, ptr %659) #11
  %26810 = call ptr @__errno_location() #12
  %26811 = load i32, ptr %26810, align 4, !tbaa !5
  store i32 %26811, ptr %659, align 4, !tbaa !5
  %26812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26813 = call i32 @s2n_print_stacktrace(ptr noundef %26812)
  %26814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26815 = trunc i8 %26814 to i1
  br i1 %26815, label %26816, label %26838

26816:                                            ; preds = %26809
  %26817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26818 = call i32 @fileno(ptr noundef %26817) #11
  %26819 = call i32 @isatty(i32 noundef %26818) #11
  %26820 = icmp ne i32 %26819, 0
  br i1 %26820, label %26821, label %26838

26821:                                            ; preds = %26816
  %26822 = load i32, ptr %659, align 4, !tbaa !5
  %26823 = call ptr @__errno_location() #12
  store i32 %26822, ptr %26823, align 4, !tbaa !5
  %26824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26825 = load i32, ptr @test_count, align 4, !tbaa !5
  %26826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26827 = load i32, ptr %26826, align 4, !tbaa !5
  %26828 = call ptr @s2n_strerror(i32 noundef %26827, ptr noundef @.str.25)
  %26829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26830 = load i32, ptr %26829, align 4, !tbaa !5
  %26831 = call ptr @s2n_strerror_debug(i32 noundef %26830, ptr noundef @.str.25)
  %26832 = call ptr @__errno_location() #12
  %26833 = load i32, ptr %26832, align 4, !tbaa !5
  %26834 = call ptr @strerror(i32 noundef %26833) #11
  %26835 = call ptr @__errno_location() #12
  %26836 = load i32, ptr %26835, align 4, !tbaa !5
  %26837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26824, ptr noundef @.str.23, i32 noundef %26825, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1261, ptr noundef %26828, ptr noundef %26831, ptr noundef %26834, i32 noundef %26836) #11
  br label %26855

26838:                                            ; preds = %26816, %26809
  %26839 = load i32, ptr %659, align 4, !tbaa !5
  %26840 = call ptr @__errno_location() #12
  store i32 %26839, ptr %26840, align 4, !tbaa !5
  %26841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26842 = load i32, ptr @test_count, align 4, !tbaa !5
  %26843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26844 = load i32, ptr %26843, align 4, !tbaa !5
  %26845 = call ptr @s2n_strerror(i32 noundef %26844, ptr noundef @.str.25)
  %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_debug(i32 noundef %26847, ptr noundef @.str.25)
  %26849 = call ptr @__errno_location() #12
  %26850 = load i32, ptr %26849, align 4, !tbaa !5
  %26851 = call ptr @strerror(i32 noundef %26850) #11
  %26852 = call ptr @__errno_location() #12
  %26853 = load i32, ptr %26852, align 4, !tbaa !5
  %26854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26841, ptr noundef @.str.26, i32 noundef %26842, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1261, ptr noundef %26845, ptr noundef %26848, ptr noundef %26851, i32 noundef %26853) #11
  br label %26855

26855:                                            ; preds = %26838, %26821
  call void @llvm.lifetime.end.p0(i64 4, ptr %659) #11
  br label %26856

26856:                                            ; preds = %26855
  br label %26857

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

26858:                                            ; No predecessors!
  br label %26859

26859:                                            ; preds = %26858
  br label %26860

26860:                                            ; preds = %26859, %26802
  br label %26861

26861:                                            ; preds = %26860
  br label %26862

26862:                                            ; preds = %26861
  br label %26863

26863:                                            ; preds = %26862
  %26864 = load i32, ptr @test_count, align 4, !tbaa !5
  %26865 = add nsw i32 %26864, 1
  store i32 %26865, ptr @test_count, align 4, !tbaa !5
  %26866 = load ptr, ptr %658, align 8, !tbaa !9
  %26867 = load ptr, ptr %653, align 8, !tbaa !9
  %26868 = call i32 @s2n_connection_set_config(ptr noundef %26866, ptr noundef %26867)
  %26869 = icmp eq i32 %26868, -1
  br i1 %26869, label %26870, label %26923

26870:                                            ; preds = %26863
  br label %26871

26871:                                            ; preds = %26870
  br label %26872

26872:                                            ; preds = %26871
  call void @llvm.lifetime.start.p0(i64 4, ptr %660) #11
  %26873 = call ptr @__errno_location() #12
  %26874 = load i32, ptr %26873, align 4, !tbaa !5
  store i32 %26874, ptr %660, align 4, !tbaa !5
  %26875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26876 = call i32 @s2n_print_stacktrace(ptr noundef %26875)
  %26877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26878 = trunc i8 %26877 to i1
  br i1 %26878, label %26879, label %26901

26879:                                            ; preds = %26872
  %26880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26881 = call i32 @fileno(ptr noundef %26880) #11
  %26882 = call i32 @isatty(i32 noundef %26881) #11
  %26883 = icmp ne i32 %26882, 0
  br i1 %26883, label %26884, label %26901

26884:                                            ; preds = %26879
  %26885 = load i32, ptr %660, align 4, !tbaa !5
  %26886 = call ptr @__errno_location() #12
  store i32 %26885, ptr %26886, align 4, !tbaa !5
  %26887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26888 = load i32, ptr @test_count, align 4, !tbaa !5
  %26889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26890 = load i32, ptr %26889, align 4, !tbaa !5
  %26891 = call ptr @s2n_strerror(i32 noundef %26890, ptr noundef @.str.25)
  %26892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26893 = load i32, ptr %26892, align 4, !tbaa !5
  %26894 = call ptr @s2n_strerror_debug(i32 noundef %26893, ptr noundef @.str.25)
  %26895 = call ptr @__errno_location() #12
  %26896 = load i32, ptr %26895, align 4, !tbaa !5
  %26897 = call ptr @strerror(i32 noundef %26896) #11
  %26898 = call ptr @__errno_location() #12
  %26899 = load i32, ptr %26898, align 4, !tbaa !5
  %26900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26887, ptr noundef @.str.23, i32 noundef %26888, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1262, ptr noundef %26891, ptr noundef %26894, ptr noundef %26897, i32 noundef %26899) #11
  br label %26918

26901:                                            ; preds = %26879, %26872
  %26902 = load i32, ptr %660, align 4, !tbaa !5
  %26903 = call ptr @__errno_location() #12
  store i32 %26902, ptr %26903, align 4, !tbaa !5
  %26904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26905 = load i32, ptr @test_count, align 4, !tbaa !5
  %26906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26907 = load i32, ptr %26906, align 4, !tbaa !5
  %26908 = call ptr @s2n_strerror(i32 noundef %26907, ptr noundef @.str.25)
  %26909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26910 = load i32, ptr %26909, align 4, !tbaa !5
  %26911 = call ptr @s2n_strerror_debug(i32 noundef %26910, ptr noundef @.str.25)
  %26912 = call ptr @__errno_location() #12
  %26913 = load i32, ptr %26912, align 4, !tbaa !5
  %26914 = call ptr @strerror(i32 noundef %26913) #11
  %26915 = call ptr @__errno_location() #12
  %26916 = load i32, ptr %26915, align 4, !tbaa !5
  %26917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26904, ptr noundef @.str.26, i32 noundef %26905, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1262, ptr noundef %26908, ptr noundef %26911, ptr noundef %26914, i32 noundef %26916) #11
  br label %26918

26918:                                            ; preds = %26901, %26884
  call void @llvm.lifetime.end.p0(i64 4, ptr %660) #11
  br label %26919

26919:                                            ; preds = %26918
  br label %26920

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

26921:                                            ; No predecessors!
  br label %26922

26922:                                            ; preds = %26921
  br label %26923

26923:                                            ; preds = %26922, %26863
  br label %26924

26924:                                            ; preds = %26923
  br label %26925

26925:                                            ; preds = %26924
  %26926 = load ptr, ptr %658, align 8, !tbaa !9
  %26927 = getelementptr inbounds %struct.s2n_connection, ptr %26926, i32 0, i32 23
  store i8 34, ptr %26927, align 4, !tbaa !17
  %26928 = load ptr, ptr %658, align 8, !tbaa !9
  %26929 = getelementptr inbounds %struct.s2n_connection, ptr %26928, i32 0, i32 27
  %26930 = load ptr, ptr %26929, align 8, !tbaa !43
  %26931 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %26930, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %26931, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr %661) #11
  call void @llvm.memset.p0.i64(ptr align 8 %661, i8 0, i64 40, i1 false)
  br label %26932

26932:                                            ; preds = %26925
  %26933 = load i32, ptr @test_count, align 4, !tbaa !5
  %26934 = add nsw i32 %26933, 1
  store i32 %26934, ptr @test_count, align 4, !tbaa !5
  %26935 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %661, i32 noundef 0)
  %26936 = icmp eq i32 %26935, -1
  br i1 %26936, label %26937, label %26990

26937:                                            ; preds = %26932
  br label %26938

26938:                                            ; preds = %26937
  br label %26939

26939:                                            ; preds = %26938
  call void @llvm.lifetime.start.p0(i64 4, ptr %662) #11
  %26940 = call ptr @__errno_location() #12
  %26941 = load i32, ptr %26940, align 4, !tbaa !5
  store i32 %26941, ptr %662, align 4, !tbaa !5
  %26942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26943 = call i32 @s2n_print_stacktrace(ptr noundef %26942)
  %26944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26945 = trunc i8 %26944 to i1
  br i1 %26945, label %26946, label %26968

26946:                                            ; preds = %26939
  %26947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26948 = call i32 @fileno(ptr noundef %26947) #11
  %26949 = call i32 @isatty(i32 noundef %26948) #11
  %26950 = icmp ne i32 %26949, 0
  br i1 %26950, label %26951, label %26968

26951:                                            ; preds = %26946
  %26952 = load i32, ptr %662, align 4, !tbaa !5
  %26953 = call ptr @__errno_location() #12
  store i32 %26952, ptr %26953, align 4, !tbaa !5
  %26954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26955 = load i32, ptr @test_count, align 4, !tbaa !5
  %26956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26957 = load i32, ptr %26956, align 4, !tbaa !5
  %26958 = call ptr @s2n_strerror(i32 noundef %26957, ptr noundef @.str.25)
  %26959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26960 = load i32, ptr %26959, align 4, !tbaa !5
  %26961 = call ptr @s2n_strerror_debug(i32 noundef %26960, ptr noundef @.str.25)
  %26962 = call ptr @__errno_location() #12
  %26963 = load i32, ptr %26962, align 4, !tbaa !5
  %26964 = call ptr @strerror(i32 noundef %26963) #11
  %26965 = call ptr @__errno_location() #12
  %26966 = load i32, ptr %26965, align 4, !tbaa !5
  %26967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26954, ptr noundef @.str.23, i32 noundef %26955, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1268, ptr noundef %26958, ptr noundef %26961, ptr noundef %26964, i32 noundef %26966) #11
  br label %26985

26968:                                            ; preds = %26946, %26939
  %26969 = load i32, ptr %662, align 4, !tbaa !5
  %26970 = call ptr @__errno_location() #12
  store i32 %26969, ptr %26970, align 4, !tbaa !5
  %26971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26972 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %26974, ptr noundef @.str.25)
  %26976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26977 = load i32, ptr %26976, align 4, !tbaa !5
  %26978 = call ptr @s2n_strerror_debug(i32 noundef %26977, ptr noundef @.str.25)
  %26979 = call ptr @__errno_location() #12
  %26980 = load i32, ptr %26979, align 4, !tbaa !5
  %26981 = call ptr @strerror(i32 noundef %26980) #11
  %26982 = call ptr @__errno_location() #12
  %26983 = load i32, ptr %26982, align 4, !tbaa !5
  %26984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26971, ptr noundef @.str.26, i32 noundef %26972, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1268, ptr noundef %26975, ptr noundef %26978, ptr noundef %26981, i32 noundef %26983) #11
  br label %26985

26985:                                            ; preds = %26968, %26951
  call void @llvm.lifetime.end.p0(i64 4, ptr %662) #11
  br label %26986

26986:                                            ; preds = %26985
  br label %26987

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

26988:                                            ; No predecessors!
  br label %26989

26989:                                            ; preds = %26988
  br label %26990

26990:                                            ; preds = %26989, %26932
  br label %26991

26991:                                            ; preds = %26990
  br label %26992

26992:                                            ; preds = %26991
  br label %26993

26993:                                            ; preds = %26992
  %26994 = load i32, ptr @test_count, align 4, !tbaa !5
  %26995 = add nsw i32 %26994, 1
  store i32 %26995, ptr @test_count, align 4, !tbaa !5
  %26996 = load ptr, ptr %658, align 8, !tbaa !9
  %26997 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %661, ptr noundef %661, ptr noundef %26996)
  %26998 = icmp eq i32 %26997, -1
  br i1 %26998, label %26999, label %27052

26999:                                            ; preds = %26993
  br label %27000

27000:                                            ; preds = %26999
  br label %27001

27001:                                            ; preds = %27000
  call void @llvm.lifetime.start.p0(i64 4, ptr %663) #11
  %27002 = call ptr @__errno_location() #12
  %27003 = load i32, ptr %27002, align 4, !tbaa !5
  store i32 %27003, ptr %663, align 4, !tbaa !5
  %27004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27005 = call i32 @s2n_print_stacktrace(ptr noundef %27004)
  %27006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27007 = trunc i8 %27006 to i1
  br i1 %27007, label %27008, label %27030

27008:                                            ; preds = %27001
  %27009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27010 = call i32 @fileno(ptr noundef %27009) #11
  %27011 = call i32 @isatty(i32 noundef %27010) #11
  %27012 = icmp ne i32 %27011, 0
  br i1 %27012, label %27013, label %27030

27013:                                            ; preds = %27008
  %27014 = load i32, ptr %663, align 4, !tbaa !5
  %27015 = call ptr @__errno_location() #12
  store i32 %27014, ptr %27015, align 4, !tbaa !5
  %27016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27017 = load i32, ptr @test_count, align 4, !tbaa !5
  %27018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27019 = load i32, ptr %27018, align 4, !tbaa !5
  %27020 = call ptr @s2n_strerror(i32 noundef %27019, ptr noundef @.str.25)
  %27021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27022 = load i32, ptr %27021, align 4, !tbaa !5
  %27023 = call ptr @s2n_strerror_debug(i32 noundef %27022, ptr noundef @.str.25)
  %27024 = call ptr @__errno_location() #12
  %27025 = load i32, ptr %27024, align 4, !tbaa !5
  %27026 = call ptr @strerror(i32 noundef %27025) #11
  %27027 = call ptr @__errno_location() #12
  %27028 = load i32, ptr %27027, align 4, !tbaa !5
  %27029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27016, ptr noundef @.str.23, i32 noundef %27017, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1269, ptr noundef %27020, ptr noundef %27023, ptr noundef %27026, i32 noundef %27028) #11
  br label %27047

27030:                                            ; preds = %27008, %27001
  %27031 = load i32, ptr %663, 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.25)
  %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.25)
  %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.26, i32 noundef %27034, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1269, ptr noundef %27037, ptr noundef %27040, ptr noundef %27043, i32 noundef %27045) #11
  br label %27047

27047:                                            ; preds = %27030, %27013
  call void @llvm.lifetime.end.p0(i64 4, ptr %663) #11
  br label %27048

27048:                                            ; preds = %27047
  br label %27049

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

27050:                                            ; No predecessors!
  br label %27051

27051:                                            ; preds = %27050
  br label %27052

27052:                                            ; preds = %27051, %26993
  br label %27053

27053:                                            ; preds = %27052
  br label %27054

27054:                                            ; preds = %27053
  call void @llvm.lifetime.start.p0(i64 4, ptr %664) #11
  store i32 0, ptr %664, align 4, !tbaa !5
  br label %27055

27055:                                            ; preds = %27054
  %27056 = load i32, ptr @test_count, align 4, !tbaa !5
  %27057 = add nsw i32 %27056, 1
  store i32 %27057, ptr @test_count, align 4, !tbaa !5
  %27058 = load ptr, ptr %658, align 8, !tbaa !9
  %27059 = call i32 @s2n_tls13_server_nst_send(ptr noundef %27058, ptr noundef %664)
  %27060 = getelementptr inbounds %struct.s2n_result, ptr %665, i32 0, i32 0
  store i32 %27059, ptr %27060, align 4
  %27061 = getelementptr inbounds %struct.s2n_result, ptr %665, i32 0, i32 0
  %27062 = load i32, ptr %27061, align 4
  %27063 = call zeroext i1 @s2n_result_is_ok(i32 %27062)
  br i1 %27063, label %27117, label %27064

27064:                                            ; preds = %27055
  br label %27065

27065:                                            ; preds = %27064
  br label %27066

27066:                                            ; preds = %27065
  call void @llvm.lifetime.start.p0(i64 4, ptr %666) #11
  %27067 = call ptr @__errno_location() #12
  %27068 = load i32, ptr %27067, align 4, !tbaa !5
  store i32 %27068, ptr %666, align 4, !tbaa !5
  %27069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27070 = call i32 @s2n_print_stacktrace(ptr noundef %27069)
  %27071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27072 = trunc i8 %27071 to i1
  br i1 %27072, label %27073, label %27095

27073:                                            ; preds = %27066
  %27074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27075 = call i32 @fileno(ptr noundef %27074) #11
  %27076 = call i32 @isatty(i32 noundef %27075) #11
  %27077 = icmp ne i32 %27076, 0
  br i1 %27077, label %27078, label %27095

27078:                                            ; preds = %27073
  %27079 = load i32, ptr %666, align 4, !tbaa !5
  %27080 = call ptr @__errno_location() #12
  store i32 %27079, ptr %27080, align 4, !tbaa !5
  %27081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27082 = load i32, ptr @test_count, align 4, !tbaa !5
  %27083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27084 = load i32, ptr %27083, align 4, !tbaa !5
  %27085 = call ptr @s2n_strerror(i32 noundef %27084, ptr noundef @.str.25)
  %27086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27087 = load i32, ptr %27086, align 4, !tbaa !5
  %27088 = call ptr @s2n_strerror_debug(i32 noundef %27087, ptr noundef @.str.25)
  %27089 = call ptr @__errno_location() #12
  %27090 = load i32, ptr %27089, align 4, !tbaa !5
  %27091 = call ptr @strerror(i32 noundef %27090) #11
  %27092 = call ptr @__errno_location() #12
  %27093 = load i32, ptr %27092, align 4, !tbaa !5
  %27094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27081, ptr noundef @.str.23, i32 noundef %27082, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1272, ptr noundef %27085, ptr noundef %27088, ptr noundef %27091, i32 noundef %27093) #11
  br label %27112

27095:                                            ; preds = %27073, %27066
  %27096 = load i32, ptr %666, align 4, !tbaa !5
  %27097 = call ptr @__errno_location() #12
  store i32 %27096, ptr %27097, align 4, !tbaa !5
  %27098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27099 = load i32, ptr @test_count, align 4, !tbaa !5
  %27100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27101 = load i32, ptr %27100, align 4, !tbaa !5
  %27102 = call ptr @s2n_strerror(i32 noundef %27101, ptr noundef @.str.25)
  %27103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27104 = load i32, ptr %27103, align 4, !tbaa !5
  %27105 = call ptr @s2n_strerror_debug(i32 noundef %27104, ptr noundef @.str.25)
  %27106 = call ptr @__errno_location() #12
  %27107 = load i32, ptr %27106, align 4, !tbaa !5
  %27108 = call ptr @strerror(i32 noundef %27107) #11
  %27109 = call ptr @__errno_location() #12
  %27110 = load i32, ptr %27109, align 4, !tbaa !5
  %27111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27098, ptr noundef @.str.26, i32 noundef %27099, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1272, ptr noundef %27102, ptr noundef %27105, ptr noundef %27108, i32 noundef %27110) #11
  br label %27112

27112:                                            ; preds = %27095, %27078
  call void @llvm.lifetime.end.p0(i64 4, ptr %666) #11
  br label %27113

27113:                                            ; preds = %27112
  br label %27114

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

27115:                                            ; No predecessors!
  br label %27116

27116:                                            ; preds = %27115
  br label %27117

27117:                                            ; preds = %27116, %27055
  br label %27118

27118:                                            ; preds = %27117
  br label %27119

27119:                                            ; preds = %27118
  br label %27120

27120:                                            ; preds = %27119
  %27121 = load i32, ptr @test_count, align 4, !tbaa !5
  %27122 = add nsw i32 %27121, 1
  store i32 %27122, ptr @test_count, align 4, !tbaa !5
  %27123 = load ptr, ptr %658, align 8, !tbaa !9
  %27124 = call i32 @s2n_assert_tickets_sent(ptr noundef %27123, i16 noundef zeroext 1)
  %27125 = getelementptr inbounds %struct.s2n_result, ptr %667, i32 0, i32 0
  store i32 %27124, ptr %27125, align 4
  %27126 = getelementptr inbounds %struct.s2n_result, ptr %667, i32 0, i32 0
  %27127 = load i32, ptr %27126, align 4
  %27128 = call zeroext i1 @s2n_result_is_ok(i32 %27127)
  br i1 %27128, label %27182, label %27129

27129:                                            ; preds = %27120
  br label %27130

27130:                                            ; preds = %27129
  br label %27131

27131:                                            ; preds = %27130
  call void @llvm.lifetime.start.p0(i64 4, ptr %668) #11
  %27132 = call ptr @__errno_location() #12
  %27133 = load i32, ptr %27132, align 4, !tbaa !5
  store i32 %27133, ptr %668, align 4, !tbaa !5
  %27134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27135 = call i32 @s2n_print_stacktrace(ptr noundef %27134)
  %27136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27137 = trunc i8 %27136 to i1
  br i1 %27137, label %27138, label %27160

27138:                                            ; preds = %27131
  %27139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27140 = call i32 @fileno(ptr noundef %27139) #11
  %27141 = call i32 @isatty(i32 noundef %27140) #11
  %27142 = icmp ne i32 %27141, 0
  br i1 %27142, label %27143, label %27160

27143:                                            ; preds = %27138
  %27144 = load i32, ptr %668, align 4, !tbaa !5
  %27145 = call ptr @__errno_location() #12
  store i32 %27144, ptr %27145, align 4, !tbaa !5
  %27146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27147 = load i32, ptr @test_count, align 4, !tbaa !5
  %27148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27149 = load i32, ptr %27148, align 4, !tbaa !5
  %27150 = call ptr @s2n_strerror(i32 noundef %27149, ptr noundef @.str.25)
  %27151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27152 = load i32, ptr %27151, align 4, !tbaa !5
  %27153 = call ptr @s2n_strerror_debug(i32 noundef %27152, ptr noundef @.str.25)
  %27154 = call ptr @__errno_location() #12
  %27155 = load i32, ptr %27154, align 4, !tbaa !5
  %27156 = call ptr @strerror(i32 noundef %27155) #11
  %27157 = call ptr @__errno_location() #12
  %27158 = load i32, ptr %27157, align 4, !tbaa !5
  %27159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27146, ptr noundef @.str.23, i32 noundef %27147, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 1273, ptr noundef %27150, ptr noundef %27153, ptr noundef %27156, i32 noundef %27158) #11
  br label %27177

27160:                                            ; preds = %27138, %27131
  %27161 = load i32, ptr %668, align 4, !tbaa !5
  %27162 = call ptr @__errno_location() #12
  store i32 %27161, ptr %27162, align 4, !tbaa !5
  %27163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27164 = load i32, ptr @test_count, align 4, !tbaa !5
  %27165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27166 = load i32, ptr %27165, align 4, !tbaa !5
  %27167 = call ptr @s2n_strerror(i32 noundef %27166, ptr noundef @.str.25)
  %27168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27169 = load i32, ptr %27168, align 4, !tbaa !5
  %27170 = call ptr @s2n_strerror_debug(i32 noundef %27169, ptr noundef @.str.25)
  %27171 = call ptr @__errno_location() #12
  %27172 = load i32, ptr %27171, align 4, !tbaa !5
  %27173 = call ptr @strerror(i32 noundef %27172) #11
  %27174 = call ptr @__errno_location() #12
  %27175 = load i32, ptr %27174, align 4, !tbaa !5
  %27176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27163, ptr noundef @.str.26, i32 noundef %27164, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 1273, ptr noundef %27167, ptr noundef %27170, ptr noundef %27173, i32 noundef %27175) #11
  br label %27177

27177:                                            ; preds = %27160, %27143
  call void @llvm.lifetime.end.p0(i64 4, ptr %668) #11
  br label %27178

27178:                                            ; preds = %27177
  br label %27179

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

27180:                                            ; No predecessors!
  br label %27181

27181:                                            ; preds = %27180
  br label %27182

27182:                                            ; preds = %27181, %27120
  br label %27183

27183:                                            ; preds = %27182
  br label %27184

27184:                                            ; preds = %27183
  br label %27185

27185:                                            ; preds = %27184
  %27186 = load i32, ptr @test_count, align 4, !tbaa !5
  %27187 = add nsw i32 %27186, 1
  store i32 %27187, ptr @test_count, align 4, !tbaa !5
  %27188 = getelementptr inbounds %struct.s2n_stuffer, ptr %661, i32 0, i32 2
  %27189 = load i32, ptr %27188, align 4, !tbaa !52
  %27190 = getelementptr inbounds %struct.s2n_stuffer, ptr %661, i32 0, i32 1
  %27191 = load i32, ptr %27190, align 8, !tbaa !53
  %27192 = sub i32 %27189, %27191
  %27193 = icmp eq i32 0, %27192
  br i1 %27193, label %27194, label %27247

27194:                                            ; preds = %27185
  br label %27195

27195:                                            ; preds = %27194
  br label %27196

27196:                                            ; preds = %27195
  call void @llvm.lifetime.start.p0(i64 4, ptr %669) #11
  %27197 = call ptr @__errno_location() #12
  %27198 = load i32, ptr %27197, align 4, !tbaa !5
  store i32 %27198, ptr %669, align 4, !tbaa !5
  %27199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27200 = call i32 @s2n_print_stacktrace(ptr noundef %27199)
  %27201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27202 = trunc i8 %27201 to i1
  br i1 %27202, label %27203, label %27225

27203:                                            ; preds = %27196
  %27204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27205 = call i32 @fileno(ptr noundef %27204) #11
  %27206 = call i32 @isatty(i32 noundef %27205) #11
  %27207 = icmp ne i32 %27206, 0
  br i1 %27207, label %27208, label %27225

27208:                                            ; preds = %27203
  %27209 = load i32, ptr %669, align 4, !tbaa !5
  %27210 = call ptr @__errno_location() #12
  store i32 %27209, ptr %27210, align 4, !tbaa !5
  %27211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27212 = load i32, ptr @test_count, align 4, !tbaa !5
  %27213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27214 = load i32, ptr %27213, align 4, !tbaa !5
  %27215 = call ptr @s2n_strerror(i32 noundef %27214, ptr noundef @.str.25)
  %27216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27217 = load i32, ptr %27216, align 4, !tbaa !5
  %27218 = call ptr @s2n_strerror_debug(i32 noundef %27217, ptr noundef @.str.25)
  %27219 = call ptr @__errno_location() #12
  %27220 = load i32, ptr %27219, align 4, !tbaa !5
  %27221 = call ptr @strerror(i32 noundef %27220) #11
  %27222 = call ptr @__errno_location() #12
  %27223 = load i32, ptr %27222, align 4, !tbaa !5
  %27224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27211, ptr noundef @.str.23, i32 noundef %27212, ptr noundef @.str.194, ptr noundef @.str.22, i32 noundef 1274, ptr noundef %27215, ptr noundef %27218, ptr noundef %27221, i32 noundef %27223) #11
  br label %27242

27225:                                            ; preds = %27203, %27196
  %27226 = load i32, ptr %669, align 4, !tbaa !5
  %27227 = call ptr @__errno_location() #12
  store i32 %27226, ptr %27227, align 4, !tbaa !5
  %27228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27229 = load i32, ptr @test_count, align 4, !tbaa !5
  %27230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27231 = load i32, ptr %27230, align 4, !tbaa !5
  %27232 = call ptr @s2n_strerror(i32 noundef %27231, ptr noundef @.str.25)
  %27233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27234 = load i32, ptr %27233, align 4, !tbaa !5
  %27235 = call ptr @s2n_strerror_debug(i32 noundef %27234, ptr noundef @.str.25)
  %27236 = call ptr @__errno_location() #12
  %27237 = load i32, ptr %27236, align 4, !tbaa !5
  %27238 = call ptr @strerror(i32 noundef %27237) #11
  %27239 = call ptr @__errno_location() #12
  %27240 = load i32, ptr %27239, align 4, !tbaa !5
  %27241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27228, ptr noundef @.str.26, i32 noundef %27229, ptr noundef @.str.194, ptr noundef @.str.22, i32 noundef 1274, ptr noundef %27232, ptr noundef %27235, ptr noundef %27238, i32 noundef %27240) #11
  br label %27242

27242:                                            ; preds = %27225, %27208
  call void @llvm.lifetime.end.p0(i64 4, ptr %669) #11
  br label %27243

27243:                                            ; preds = %27242
  br label %27244

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

27245:                                            ; No predecessors!
  br label %27246

27246:                                            ; preds = %27245
  br label %27247

27247:                                            ; preds = %27246, %27185
  br label %27248

27248:                                            ; preds = %27247
  br label %27249

27249:                                            ; preds = %27248
  br label %27250

27250:                                            ; preds = %27249
  %27251 = load i32, ptr @test_count, align 4, !tbaa !5
  %27252 = add nsw i32 %27251, 1
  store i32 %27252, ptr @test_count, align 4, !tbaa !5
  %27253 = call i32 @s2n_stuffer_wipe(ptr noundef %661)
  %27254 = icmp eq i32 %27253, -1
  br i1 %27254, label %27255, label %27308

27255:                                            ; preds = %27250
  br label %27256

27256:                                            ; preds = %27255
  br label %27257

27257:                                            ; preds = %27256
  call void @llvm.lifetime.start.p0(i64 4, ptr %670) #11
  %27258 = call ptr @__errno_location() #12
  %27259 = load i32, ptr %27258, align 4, !tbaa !5
  store i32 %27259, ptr %670, align 4, !tbaa !5
  %27260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27261 = call i32 @s2n_print_stacktrace(ptr noundef %27260)
  %27262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27263 = trunc i8 %27262 to i1
  br i1 %27263, label %27264, label %27286

27264:                                            ; preds = %27257
  %27265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27266 = call i32 @fileno(ptr noundef %27265) #11
  %27267 = call i32 @isatty(i32 noundef %27266) #11
  %27268 = icmp ne i32 %27267, 0
  br i1 %27268, label %27269, label %27286

27269:                                            ; preds = %27264
  %27270 = load i32, ptr %670, align 4, !tbaa !5
  %27271 = call ptr @__errno_location() #12
  store i32 %27270, ptr %27271, align 4, !tbaa !5
  %27272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27273 = load i32, ptr @test_count, align 4, !tbaa !5
  %27274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27275 = load i32, ptr %27274, align 4, !tbaa !5
  %27276 = call ptr @s2n_strerror(i32 noundef %27275, ptr noundef @.str.25)
  %27277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27278 = load i32, ptr %27277, align 4, !tbaa !5
  %27279 = call ptr @s2n_strerror_debug(i32 noundef %27278, ptr noundef @.str.25)
  %27280 = call ptr @__errno_location() #12
  %27281 = load i32, ptr %27280, align 4, !tbaa !5
  %27282 = call ptr @strerror(i32 noundef %27281) #11
  %27283 = call ptr @__errno_location() #12
  %27284 = load i32, ptr %27283, align 4, !tbaa !5
  %27285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27272, ptr noundef @.str.23, i32 noundef %27273, ptr noundef @.str.148, ptr noundef @.str.22, i32 noundef 1275, ptr noundef %27276, ptr noundef %27279, ptr noundef %27282, i32 noundef %27284) #11
  br label %27303

27286:                                            ; preds = %27264, %27257
  %27287 = load i32, ptr %670, align 4, !tbaa !5
  %27288 = call ptr @__errno_location() #12
  store i32 %27287, ptr %27288, align 4, !tbaa !5
  %27289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27290 = load i32, ptr @test_count, align 4, !tbaa !5
  %27291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27292 = load i32, ptr %27291, align 4, !tbaa !5
  %27293 = call ptr @s2n_strerror(i32 noundef %27292, ptr noundef @.str.25)
  %27294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27295 = load i32, ptr %27294, align 4, !tbaa !5
  %27296 = call ptr @s2n_strerror_debug(i32 noundef %27295, ptr noundef @.str.25)
  %27297 = call ptr @__errno_location() #12
  %27298 = load i32, ptr %27297, align 4, !tbaa !5
  %27299 = call ptr @strerror(i32 noundef %27298) #11
  %27300 = call ptr @__errno_location() #12
  %27301 = load i32, ptr %27300, align 4, !tbaa !5
  %27302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27289, ptr noundef @.str.26, i32 noundef %27290, ptr noundef @.str.148, ptr noundef @.str.22, i32 noundef 1275, ptr noundef %27293, ptr noundef %27296, ptr noundef %27299, i32 noundef %27301) #11
  br label %27303

27303:                                            ; preds = %27286, %27269
  call void @llvm.lifetime.end.p0(i64 4, ptr %670) #11
  br label %27304

27304:                                            ; preds = %27303
  br label %27305

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

27306:                                            ; No predecessors!
  br label %27307

27307:                                            ; preds = %27306
  br label %27308

27308:                                            ; preds = %27307, %27250
  br label %27309

27309:                                            ; preds = %27308
  br label %27310

27310:                                            ; preds = %27309
  br label %27311

27311:                                            ; preds = %27310
  %27312 = load i32, ptr @test_count, align 4, !tbaa !5
  %27313 = add nsw i32 %27312, 1
  store i32 %27313, ptr @test_count, align 4, !tbaa !5
  %27314 = load ptr, ptr %658, align 8, !tbaa !9
  %27315 = call i32 @s2n_connection_add_new_tickets_to_send(ptr noundef %27314, i8 noundef zeroext 1)
  %27316 = icmp eq i32 %27315, -1
  br i1 %27316, label %27317, label %27370

27317:                                            ; preds = %27311
  br label %27318

27318:                                            ; preds = %27317
  br label %27319

27319:                                            ; preds = %27318
  call void @llvm.lifetime.start.p0(i64 4, ptr %671) #11
  %27320 = call ptr @__errno_location() #12
  %27321 = load i32, ptr %27320, align 4, !tbaa !5
  store i32 %27321, ptr %671, align 4, !tbaa !5
  %27322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27323 = call i32 @s2n_print_stacktrace(ptr noundef %27322)
  %27324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27325 = trunc i8 %27324 to i1
  br i1 %27325, label %27326, label %27348

27326:                                            ; preds = %27319
  %27327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27328 = call i32 @fileno(ptr noundef %27327) #11
  %27329 = call i32 @isatty(i32 noundef %27328) #11
  %27330 = icmp ne i32 %27329, 0
  br i1 %27330, label %27331, label %27348

27331:                                            ; preds = %27326
  %27332 = load i32, ptr %671, align 4, !tbaa !5
  %27333 = call ptr @__errno_location() #12
  store i32 %27332, ptr %27333, align 4, !tbaa !5
  %27334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27335 = load i32, ptr @test_count, align 4, !tbaa !5
  %27336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27337 = load i32, ptr %27336, align 4, !tbaa !5
  %27338 = call ptr @s2n_strerror(i32 noundef %27337, ptr noundef @.str.25)
  %27339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27340 = load i32, ptr %27339, align 4, !tbaa !5
  %27341 = call ptr @s2n_strerror_debug(i32 noundef %27340, ptr noundef @.str.25)
  %27342 = call ptr @__errno_location() #12
  %27343 = load i32, ptr %27342, align 4, !tbaa !5
  %27344 = call ptr @strerror(i32 noundef %27343) #11
  %27345 = call ptr @__errno_location() #12
  %27346 = load i32, ptr %27345, align 4, !tbaa !5
  %27347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27334, ptr noundef @.str.23, i32 noundef %27335, ptr noundef @.str.195, ptr noundef @.str.22, i32 noundef 1278, ptr noundef %27338, ptr noundef %27341, ptr noundef %27344, i32 noundef %27346) #11
  br label %27365

27348:                                            ; preds = %27326, %27319
  %27349 = load i32, ptr %671, align 4, !tbaa !5
  %27350 = call ptr @__errno_location() #12
  store i32 %27349, ptr %27350, align 4, !tbaa !5
  %27351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27352 = load i32, ptr @test_count, align 4, !tbaa !5
  %27353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27354 = load i32, ptr %27353, align 4, !tbaa !5
  %27355 = call ptr @s2n_strerror(i32 noundef %27354, ptr noundef @.str.25)
  %27356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27357 = load i32, ptr %27356, align 4, !tbaa !5
  %27358 = call ptr @s2n_strerror_debug(i32 noundef %27357, ptr noundef @.str.25)
  %27359 = call ptr @__errno_location() #12
  %27360 = load i32, ptr %27359, align 4, !tbaa !5
  %27361 = call ptr @strerror(i32 noundef %27360) #11
  %27362 = call ptr @__errno_location() #12
  %27363 = load i32, ptr %27362, align 4, !tbaa !5
  %27364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27351, ptr noundef @.str.26, i32 noundef %27352, ptr noundef @.str.195, ptr noundef @.str.22, i32 noundef 1278, ptr noundef %27355, ptr noundef %27358, ptr noundef %27361, i32 noundef %27363) #11
  br label %27365

27365:                                            ; preds = %27348, %27331
  call void @llvm.lifetime.end.p0(i64 4, ptr %671) #11
  br label %27366

27366:                                            ; preds = %27365
  br label %27367

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

27368:                                            ; No predecessors!
  br label %27369

27369:                                            ; preds = %27368
  br label %27370

27370:                                            ; preds = %27369, %27311
  br label %27371

27371:                                            ; preds = %27370
  br label %27372

27372:                                            ; preds = %27371
  br label %27373

27373:                                            ; preds = %27372
  %27374 = load i32, ptr @test_count, align 4, !tbaa !5
  %27375 = add nsw i32 %27374, 1
  store i32 %27375, ptr @test_count, align 4, !tbaa !5
  %27376 = load ptr, ptr %658, align 8, !tbaa !9
  %27377 = call i32 @s2n_tls13_server_nst_send(ptr noundef %27376, ptr noundef %664)
  %27378 = getelementptr inbounds %struct.s2n_result, ptr %672, i32 0, i32 0
  store i32 %27377, ptr %27378, align 4
  %27379 = getelementptr inbounds %struct.s2n_result, ptr %672, i32 0, i32 0
  %27380 = load i32, ptr %27379, align 4
  %27381 = call zeroext i1 @s2n_result_is_ok(i32 %27380)
  br i1 %27381, label %27435, label %27382

27382:                                            ; preds = %27373
  br label %27383

27383:                                            ; preds = %27382
  br label %27384

27384:                                            ; preds = %27383
  call void @llvm.lifetime.start.p0(i64 4, ptr %673) #11
  %27385 = call ptr @__errno_location() #12
  %27386 = load i32, ptr %27385, align 4, !tbaa !5
  store i32 %27386, ptr %673, align 4, !tbaa !5
  %27387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27388 = call i32 @s2n_print_stacktrace(ptr noundef %27387)
  %27389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27390 = trunc i8 %27389 to i1
  br i1 %27390, label %27391, label %27413

27391:                                            ; preds = %27384
  %27392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27393 = call i32 @fileno(ptr noundef %27392) #11
  %27394 = call i32 @isatty(i32 noundef %27393) #11
  %27395 = icmp ne i32 %27394, 0
  br i1 %27395, label %27396, label %27413

27396:                                            ; preds = %27391
  %27397 = load i32, ptr %673, align 4, !tbaa !5
  %27398 = call ptr @__errno_location() #12
  store i32 %27397, ptr %27398, align 4, !tbaa !5
  %27399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27400 = load i32, ptr @test_count, align 4, !tbaa !5
  %27401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27402 = load i32, ptr %27401, align 4, !tbaa !5
  %27403 = call ptr @s2n_strerror(i32 noundef %27402, ptr noundef @.str.25)
  %27404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27405 = load i32, ptr %27404, align 4, !tbaa !5
  %27406 = call ptr @s2n_strerror_debug(i32 noundef %27405, ptr noundef @.str.25)
  %27407 = call ptr @__errno_location() #12
  %27408 = load i32, ptr %27407, align 4, !tbaa !5
  %27409 = call ptr @strerror(i32 noundef %27408) #11
  %27410 = call ptr @__errno_location() #12
  %27411 = load i32, ptr %27410, align 4, !tbaa !5
  %27412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27399, ptr noundef @.str.23, i32 noundef %27400, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1279, ptr noundef %27403, ptr noundef %27406, ptr noundef %27409, i32 noundef %27411) #11
  br label %27430

27413:                                            ; preds = %27391, %27384
  %27414 = load i32, ptr %673, align 4, !tbaa !5
  %27415 = call ptr @__errno_location() #12
  store i32 %27414, ptr %27415, align 4, !tbaa !5
  %27416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27417 = load i32, ptr @test_count, align 4, !tbaa !5
  %27418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27419 = load i32, ptr %27418, align 4, !tbaa !5
  %27420 = call ptr @s2n_strerror(i32 noundef %27419, ptr noundef @.str.25)
  %27421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27422 = load i32, ptr %27421, align 4, !tbaa !5
  %27423 = call ptr @s2n_strerror_debug(i32 noundef %27422, ptr noundef @.str.25)
  %27424 = call ptr @__errno_location() #12
  %27425 = load i32, ptr %27424, align 4, !tbaa !5
  %27426 = call ptr @strerror(i32 noundef %27425) #11
  %27427 = call ptr @__errno_location() #12
  %27428 = load i32, ptr %27427, align 4, !tbaa !5
  %27429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27416, ptr noundef @.str.26, i32 noundef %27417, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1279, ptr noundef %27420, ptr noundef %27423, ptr noundef %27426, i32 noundef %27428) #11
  br label %27430

27430:                                            ; preds = %27413, %27396
  call void @llvm.lifetime.end.p0(i64 4, ptr %673) #11
  br label %27431

27431:                                            ; preds = %27430
  br label %27432

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

27433:                                            ; No predecessors!
  br label %27434

27434:                                            ; preds = %27433
  br label %27435

27435:                                            ; preds = %27434, %27373
  br label %27436

27436:                                            ; preds = %27435
  br label %27437

27437:                                            ; preds = %27436
  br label %27438

27438:                                            ; preds = %27437
  %27439 = load i32, ptr @test_count, align 4, !tbaa !5
  %27440 = add nsw i32 %27439, 1
  store i32 %27440, ptr @test_count, align 4, !tbaa !5
  %27441 = load ptr, ptr %658, align 8, !tbaa !9
  %27442 = call i32 @s2n_assert_tickets_sent(ptr noundef %27441, i16 noundef zeroext 2)
  %27443 = getelementptr inbounds %struct.s2n_result, ptr %674, i32 0, i32 0
  store i32 %27442, ptr %27443, align 4
  %27444 = getelementptr inbounds %struct.s2n_result, ptr %674, i32 0, i32 0
  %27445 = load i32, ptr %27444, align 4
  %27446 = call zeroext i1 @s2n_result_is_ok(i32 %27445)
  br i1 %27446, label %27500, label %27447

27447:                                            ; preds = %27438
  br label %27448

27448:                                            ; preds = %27447
  br label %27449

27449:                                            ; preds = %27448
  call void @llvm.lifetime.start.p0(i64 4, ptr %675) #11
  %27450 = call ptr @__errno_location() #12
  %27451 = load i32, ptr %27450, align 4, !tbaa !5
  store i32 %27451, ptr %675, align 4, !tbaa !5
  %27452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27453 = call i32 @s2n_print_stacktrace(ptr noundef %27452)
  %27454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27455 = trunc i8 %27454 to i1
  br i1 %27455, label %27456, label %27478

27456:                                            ; preds = %27449
  %27457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27458 = call i32 @fileno(ptr noundef %27457) #11
  %27459 = call i32 @isatty(i32 noundef %27458) #11
  %27460 = icmp ne i32 %27459, 0
  br i1 %27460, label %27461, label %27478

27461:                                            ; preds = %27456
  %27462 = load i32, ptr %675, align 4, !tbaa !5
  %27463 = call ptr @__errno_location() #12
  store i32 %27462, ptr %27463, align 4, !tbaa !5
  %27464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27465 = load i32, ptr @test_count, align 4, !tbaa !5
  %27466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27467 = load i32, ptr %27466, align 4, !tbaa !5
  %27468 = call ptr @s2n_strerror(i32 noundef %27467, ptr noundef @.str.25)
  %27469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27470 = load i32, ptr %27469, align 4, !tbaa !5
  %27471 = call ptr @s2n_strerror_debug(i32 noundef %27470, ptr noundef @.str.25)
  %27472 = call ptr @__errno_location() #12
  %27473 = load i32, ptr %27472, align 4, !tbaa !5
  %27474 = call ptr @strerror(i32 noundef %27473) #11
  %27475 = call ptr @__errno_location() #12
  %27476 = load i32, ptr %27475, align 4, !tbaa !5
  %27477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27464, ptr noundef @.str.23, i32 noundef %27465, ptr noundef @.str.196, ptr noundef @.str.22, i32 noundef 1280, ptr noundef %27468, ptr noundef %27471, ptr noundef %27474, i32 noundef %27476) #11
  br label %27495

27478:                                            ; preds = %27456, %27449
  %27479 = load i32, ptr %675, align 4, !tbaa !5
  %27480 = call ptr @__errno_location() #12
  store i32 %27479, ptr %27480, align 4, !tbaa !5
  %27481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27482 = load i32, ptr @test_count, align 4, !tbaa !5
  %27483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27484 = load i32, ptr %27483, align 4, !tbaa !5
  %27485 = call ptr @s2n_strerror(i32 noundef %27484, ptr noundef @.str.25)
  %27486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27487 = load i32, ptr %27486, align 4, !tbaa !5
  %27488 = call ptr @s2n_strerror_debug(i32 noundef %27487, ptr noundef @.str.25)
  %27489 = call ptr @__errno_location() #12
  %27490 = load i32, ptr %27489, align 4, !tbaa !5
  %27491 = call ptr @strerror(i32 noundef %27490) #11
  %27492 = call ptr @__errno_location() #12
  %27493 = load i32, ptr %27492, align 4, !tbaa !5
  %27494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27481, ptr noundef @.str.26, i32 noundef %27482, ptr noundef @.str.196, ptr noundef @.str.22, i32 noundef 1280, ptr noundef %27485, ptr noundef %27488, ptr noundef %27491, i32 noundef %27493) #11
  br label %27495

27495:                                            ; preds = %27478, %27461
  call void @llvm.lifetime.end.p0(i64 4, ptr %675) #11
  br label %27496

27496:                                            ; preds = %27495
  br label %27497

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

27498:                                            ; No predecessors!
  br label %27499

27499:                                            ; preds = %27498
  br label %27500

27500:                                            ; preds = %27499, %27438
  br label %27501

27501:                                            ; preds = %27500
  br label %27502

27502:                                            ; preds = %27501
  br label %27503

27503:                                            ; preds = %27502
  %27504 = load i32, ptr @test_count, align 4, !tbaa !5
  %27505 = add nsw i32 %27504, 1
  store i32 %27505, ptr @test_count, align 4, !tbaa !5
  %27506 = getelementptr inbounds %struct.s2n_stuffer, ptr %661, i32 0, i32 2
  %27507 = load i32, ptr %27506, align 4, !tbaa !52
  %27508 = getelementptr inbounds %struct.s2n_stuffer, ptr %661, i32 0, i32 1
  %27509 = load i32, ptr %27508, align 8, !tbaa !53
  %27510 = sub i32 %27507, %27509
  %27511 = icmp eq i32 0, %27510
  br i1 %27511, label %27512, label %27565

27512:                                            ; preds = %27503
  br label %27513

27513:                                            ; preds = %27512
  br label %27514

27514:                                            ; preds = %27513
  call void @llvm.lifetime.start.p0(i64 4, ptr %676) #11
  %27515 = call ptr @__errno_location() #12
  %27516 = load i32, ptr %27515, align 4, !tbaa !5
  store i32 %27516, ptr %676, align 4, !tbaa !5
  %27517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27518 = call i32 @s2n_print_stacktrace(ptr noundef %27517)
  %27519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27520 = trunc i8 %27519 to i1
  br i1 %27520, label %27521, label %27543

27521:                                            ; preds = %27514
  %27522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27523 = call i32 @fileno(ptr noundef %27522) #11
  %27524 = call i32 @isatty(i32 noundef %27523) #11
  %27525 = icmp ne i32 %27524, 0
  br i1 %27525, label %27526, label %27543

27526:                                            ; preds = %27521
  %27527 = load i32, ptr %676, align 4, !tbaa !5
  %27528 = call ptr @__errno_location() #12
  store i32 %27527, ptr %27528, align 4, !tbaa !5
  %27529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27530 = load i32, ptr @test_count, align 4, !tbaa !5
  %27531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27532 = load i32, ptr %27531, align 4, !tbaa !5
  %27533 = call ptr @s2n_strerror(i32 noundef %27532, ptr noundef @.str.25)
  %27534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27535 = load i32, ptr %27534, align 4, !tbaa !5
  %27536 = call ptr @s2n_strerror_debug(i32 noundef %27535, ptr noundef @.str.25)
  %27537 = call ptr @__errno_location() #12
  %27538 = load i32, ptr %27537, align 4, !tbaa !5
  %27539 = call ptr @strerror(i32 noundef %27538) #11
  %27540 = call ptr @__errno_location() #12
  %27541 = load i32, ptr %27540, align 4, !tbaa !5
  %27542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27529, ptr noundef @.str.23, i32 noundef %27530, ptr noundef @.str.194, ptr noundef @.str.22, i32 noundef 1281, ptr noundef %27533, ptr noundef %27536, ptr noundef %27539, i32 noundef %27541) #11
  br label %27560

27543:                                            ; preds = %27521, %27514
  %27544 = load i32, ptr %676, align 4, !tbaa !5
  %27545 = call ptr @__errno_location() #12
  store i32 %27544, ptr %27545, align 4, !tbaa !5
  %27546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27547 = load i32, ptr @test_count, align 4, !tbaa !5
  %27548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27549 = load i32, ptr %27548, align 4, !tbaa !5
  %27550 = call ptr @s2n_strerror(i32 noundef %27549, ptr noundef @.str.25)
  %27551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27552 = load i32, ptr %27551, align 4, !tbaa !5
  %27553 = call ptr @s2n_strerror_debug(i32 noundef %27552, ptr noundef @.str.25)
  %27554 = call ptr @__errno_location() #12
  %27555 = load i32, ptr %27554, align 4, !tbaa !5
  %27556 = call ptr @strerror(i32 noundef %27555) #11
  %27557 = call ptr @__errno_location() #12
  %27558 = load i32, ptr %27557, align 4, !tbaa !5
  %27559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27546, ptr noundef @.str.26, i32 noundef %27547, ptr noundef @.str.194, ptr noundef @.str.22, i32 noundef 1281, ptr noundef %27550, ptr noundef %27553, ptr noundef %27556, i32 noundef %27558) #11
  br label %27560

27560:                                            ; preds = %27543, %27526
  call void @llvm.lifetime.end.p0(i64 4, ptr %676) #11
  br label %27561

27561:                                            ; preds = %27560
  br label %27562

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

27563:                                            ; No predecessors!
  br label %27564

27564:                                            ; preds = %27563
  br label %27565

27565:                                            ; preds = %27564, %27503
  br label %27566

27566:                                            ; preds = %27565
  br label %27567

27567:                                            ; preds = %27566
  br label %27568

27568:                                            ; preds = %27567
  %27569 = load i32, ptr @test_count, align 4, !tbaa !5
  %27570 = add nsw i32 %27569, 1
  store i32 %27570, ptr @test_count, align 4, !tbaa !5
  %27571 = call i32 @s2n_stuffer_wipe(ptr noundef %661)
  %27572 = icmp eq i32 %27571, -1
  br i1 %27572, label %27573, label %27626

27573:                                            ; preds = %27568
  br label %27574

27574:                                            ; preds = %27573
  br label %27575

27575:                                            ; preds = %27574
  call void @llvm.lifetime.start.p0(i64 4, ptr %677) #11
  %27576 = call ptr @__errno_location() #12
  %27577 = load i32, ptr %27576, align 4, !tbaa !5
  store i32 %27577, ptr %677, align 4, !tbaa !5
  %27578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27579 = call i32 @s2n_print_stacktrace(ptr noundef %27578)
  %27580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27581 = trunc i8 %27580 to i1
  br i1 %27581, label %27582, label %27604

27582:                                            ; preds = %27575
  %27583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27584 = call i32 @fileno(ptr noundef %27583) #11
  %27585 = call i32 @isatty(i32 noundef %27584) #11
  %27586 = icmp ne i32 %27585, 0
  br i1 %27586, label %27587, label %27604

27587:                                            ; preds = %27582
  %27588 = load i32, ptr %677, align 4, !tbaa !5
  %27589 = call ptr @__errno_location() #12
  store i32 %27588, ptr %27589, align 4, !tbaa !5
  %27590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27591 = load i32, ptr @test_count, align 4, !tbaa !5
  %27592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27593 = load i32, ptr %27592, align 4, !tbaa !5
  %27594 = call ptr @s2n_strerror(i32 noundef %27593, ptr noundef @.str.25)
  %27595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27596 = load i32, ptr %27595, align 4, !tbaa !5
  %27597 = call ptr @s2n_strerror_debug(i32 noundef %27596, ptr noundef @.str.25)
  %27598 = call ptr @__errno_location() #12
  %27599 = load i32, ptr %27598, align 4, !tbaa !5
  %27600 = call ptr @strerror(i32 noundef %27599) #11
  %27601 = call ptr @__errno_location() #12
  %27602 = load i32, ptr %27601, align 4, !tbaa !5
  %27603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27590, ptr noundef @.str.23, i32 noundef %27591, ptr noundef @.str.148, ptr noundef @.str.22, i32 noundef 1282, ptr noundef %27594, ptr noundef %27597, ptr noundef %27600, i32 noundef %27602) #11
  br label %27621

27604:                                            ; preds = %27582, %27575
  %27605 = load i32, ptr %677, align 4, !tbaa !5
  %27606 = call ptr @__errno_location() #12
  store i32 %27605, ptr %27606, align 4, !tbaa !5
  %27607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27608 = load i32, ptr @test_count, align 4, !tbaa !5
  %27609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27610 = load i32, ptr %27609, align 4, !tbaa !5
  %27611 = call ptr @s2n_strerror(i32 noundef %27610, ptr noundef @.str.25)
  %27612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27613 = load i32, ptr %27612, align 4, !tbaa !5
  %27614 = call ptr @s2n_strerror_debug(i32 noundef %27613, ptr noundef @.str.25)
  %27615 = call ptr @__errno_location() #12
  %27616 = load i32, ptr %27615, align 4, !tbaa !5
  %27617 = call ptr @strerror(i32 noundef %27616) #11
  %27618 = call ptr @__errno_location() #12
  %27619 = load i32, ptr %27618, align 4, !tbaa !5
  %27620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27607, ptr noundef @.str.26, i32 noundef %27608, ptr noundef @.str.148, ptr noundef @.str.22, i32 noundef 1282, ptr noundef %27611, ptr noundef %27614, ptr noundef %27617, i32 noundef %27619) #11
  br label %27621

27621:                                            ; preds = %27604, %27587
  call void @llvm.lifetime.end.p0(i64 4, ptr %677) #11
  br label %27622

27622:                                            ; preds = %27621
  br label %27623

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

27624:                                            ; No predecessors!
  br label %27625

27625:                                            ; preds = %27624
  br label %27626

27626:                                            ; preds = %27625, %27568
  br label %27627

27627:                                            ; preds = %27626
  br label %27628

27628:                                            ; preds = %27627
  br label %27629

27629:                                            ; preds = %27628
  %27630 = load i32, ptr @test_count, align 4, !tbaa !5
  %27631 = add nsw i32 %27630, 1
  store i32 %27631, ptr @test_count, align 4, !tbaa !5
  %27632 = load ptr, ptr %653, align 8, !tbaa !9
  %27633 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %27632, i8 noundef zeroext 0)
  %27634 = icmp eq i32 %27633, -1
  br i1 %27634, label %27635, label %27688

27635:                                            ; preds = %27629
  br label %27636

27636:                                            ; preds = %27635
  br label %27637

27637:                                            ; preds = %27636
  call void @llvm.lifetime.start.p0(i64 4, ptr %678) #11
  %27638 = call ptr @__errno_location() #12
  %27639 = load i32, ptr %27638, align 4, !tbaa !5
  store i32 %27639, ptr %678, align 4, !tbaa !5
  %27640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27641 = call i32 @s2n_print_stacktrace(ptr noundef %27640)
  %27642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27643 = trunc i8 %27642 to i1
  br i1 %27643, label %27644, label %27666

27644:                                            ; preds = %27637
  %27645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27646 = call i32 @fileno(ptr noundef %27645) #11
  %27647 = call i32 @isatty(i32 noundef %27646) #11
  %27648 = icmp ne i32 %27647, 0
  br i1 %27648, label %27649, label %27666

27649:                                            ; preds = %27644
  %27650 = load i32, ptr %678, align 4, !tbaa !5
  %27651 = call ptr @__errno_location() #12
  store i32 %27650, ptr %27651, align 4, !tbaa !5
  %27652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27653 = load i32, ptr @test_count, align 4, !tbaa !5
  %27654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27655 = load i32, ptr %27654, align 4, !tbaa !5
  %27656 = call ptr @s2n_strerror(i32 noundef %27655, ptr noundef @.str.25)
  %27657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27658 = load i32, ptr %27657, align 4, !tbaa !5
  %27659 = call ptr @s2n_strerror_debug(i32 noundef %27658, ptr noundef @.str.25)
  %27660 = call ptr @__errno_location() #12
  %27661 = load i32, ptr %27660, align 4, !tbaa !5
  %27662 = call ptr @strerror(i32 noundef %27661) #11
  %27663 = call ptr @__errno_location() #12
  %27664 = load i32, ptr %27663, align 4, !tbaa !5
  %27665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27652, ptr noundef @.str.23, i32 noundef %27653, ptr noundef @.str.197, ptr noundef @.str.22, i32 noundef 1285, ptr noundef %27656, ptr noundef %27659, ptr noundef %27662, i32 noundef %27664) #11
  br label %27683

27666:                                            ; preds = %27644, %27637
  %27667 = load i32, ptr %678, align 4, !tbaa !5
  %27668 = call ptr @__errno_location() #12
  store i32 %27667, ptr %27668, align 4, !tbaa !5
  %27669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27670 = load i32, ptr @test_count, align 4, !tbaa !5
  %27671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27672 = load i32, ptr %27671, align 4, !tbaa !5
  %27673 = call ptr @s2n_strerror(i32 noundef %27672, ptr noundef @.str.25)
  %27674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27675 = load i32, ptr %27674, align 4, !tbaa !5
  %27676 = call ptr @s2n_strerror_debug(i32 noundef %27675, ptr noundef @.str.25)
  %27677 = call ptr @__errno_location() #12
  %27678 = load i32, ptr %27677, align 4, !tbaa !5
  %27679 = call ptr @strerror(i32 noundef %27678) #11
  %27680 = call ptr @__errno_location() #12
  %27681 = load i32, ptr %27680, align 4, !tbaa !5
  %27682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27669, ptr noundef @.str.26, i32 noundef %27670, ptr noundef @.str.197, ptr noundef @.str.22, i32 noundef 1285, ptr noundef %27673, ptr noundef %27676, ptr noundef %27679, i32 noundef %27681) #11
  br label %27683

27683:                                            ; preds = %27666, %27649
  call void @llvm.lifetime.end.p0(i64 4, ptr %678) #11
  br label %27684

27684:                                            ; preds = %27683
  br label %27685

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

27686:                                            ; No predecessors!
  br label %27687

27687:                                            ; preds = %27686
  br label %27688

27688:                                            ; preds = %27687, %27629
  br label %27689

27689:                                            ; preds = %27688
  br label %27690

27690:                                            ; preds = %27689
  br label %27691

27691:                                            ; preds = %27690
  %27692 = load i32, ptr @test_count, align 4, !tbaa !5
  %27693 = add nsw i32 %27692, 1
  store i32 %27693, ptr @test_count, align 4, !tbaa !5
  %27694 = load ptr, ptr %658, align 8, !tbaa !9
  %27695 = call i32 @s2n_connection_add_new_tickets_to_send(ptr noundef %27694, i8 noundef zeroext 1)
  %27696 = icmp eq i32 %27695, -1
  br i1 %27696, label %27697, label %27750

27697:                                            ; preds = %27691
  br label %27698

27698:                                            ; preds = %27697
  br label %27699

27699:                                            ; preds = %27698
  call void @llvm.lifetime.start.p0(i64 4, ptr %679) #11
  %27700 = call ptr @__errno_location() #12
  %27701 = load i32, ptr %27700, align 4, !tbaa !5
  store i32 %27701, ptr %679, align 4, !tbaa !5
  %27702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27703 = call i32 @s2n_print_stacktrace(ptr noundef %27702)
  %27704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27705 = trunc i8 %27704 to i1
  br i1 %27705, label %27706, label %27728

27706:                                            ; preds = %27699
  %27707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27708 = call i32 @fileno(ptr noundef %27707) #11
  %27709 = call i32 @isatty(i32 noundef %27708) #11
  %27710 = icmp ne i32 %27709, 0
  br i1 %27710, label %27711, label %27728

27711:                                            ; preds = %27706
  %27712 = load i32, ptr %679, align 4, !tbaa !5
  %27713 = call ptr @__errno_location() #12
  store i32 %27712, ptr %27713, align 4, !tbaa !5
  %27714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27715 = load i32, ptr @test_count, align 4, !tbaa !5
  %27716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27717 = load i32, ptr %27716, align 4, !tbaa !5
  %27718 = call ptr @s2n_strerror(i32 noundef %27717, ptr noundef @.str.25)
  %27719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27720 = load i32, ptr %27719, align 4, !tbaa !5
  %27721 = call ptr @s2n_strerror_debug(i32 noundef %27720, ptr noundef @.str.25)
  %27722 = call ptr @__errno_location() #12
  %27723 = load i32, ptr %27722, align 4, !tbaa !5
  %27724 = call ptr @strerror(i32 noundef %27723) #11
  %27725 = call ptr @__errno_location() #12
  %27726 = load i32, ptr %27725, align 4, !tbaa !5
  %27727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27714, ptr noundef @.str.23, i32 noundef %27715, ptr noundef @.str.195, ptr noundef @.str.22, i32 noundef 1288, ptr noundef %27718, ptr noundef %27721, ptr noundef %27724, i32 noundef %27726) #11
  br label %27745

27728:                                            ; preds = %27706, %27699
  %27729 = load i32, ptr %679, align 4, !tbaa !5
  %27730 = call ptr @__errno_location() #12
  store i32 %27729, ptr %27730, align 4, !tbaa !5
  %27731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27732 = load i32, ptr @test_count, align 4, !tbaa !5
  %27733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27734 = load i32, ptr %27733, align 4, !tbaa !5
  %27735 = call ptr @s2n_strerror(i32 noundef %27734, ptr noundef @.str.25)
  %27736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27737 = load i32, ptr %27736, align 4, !tbaa !5
  %27738 = call ptr @s2n_strerror_debug(i32 noundef %27737, ptr noundef @.str.25)
  %27739 = call ptr @__errno_location() #12
  %27740 = load i32, ptr %27739, align 4, !tbaa !5
  %27741 = call ptr @strerror(i32 noundef %27740) #11
  %27742 = call ptr @__errno_location() #12
  %27743 = load i32, ptr %27742, align 4, !tbaa !5
  %27744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27731, ptr noundef @.str.26, i32 noundef %27732, ptr noundef @.str.195, ptr noundef @.str.22, i32 noundef 1288, ptr noundef %27735, ptr noundef %27738, ptr noundef %27741, i32 noundef %27743) #11
  br label %27745

27745:                                            ; preds = %27728, %27711
  call void @llvm.lifetime.end.p0(i64 4, ptr %679) #11
  br label %27746

27746:                                            ; preds = %27745
  br label %27747

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

27748:                                            ; No predecessors!
  br label %27749

27749:                                            ; preds = %27748
  br label %27750

27750:                                            ; preds = %27749, %27691
  br label %27751

27751:                                            ; preds = %27750
  br label %27752

27752:                                            ; preds = %27751
  br label %27753

27753:                                            ; preds = %27752
  %27754 = load i32, ptr @test_count, align 4, !tbaa !5
  %27755 = add nsw i32 %27754, 1
  store i32 %27755, ptr @test_count, align 4, !tbaa !5
  %27756 = load ptr, ptr %658, align 8, !tbaa !9
  %27757 = call i32 @s2n_tls13_server_nst_send(ptr noundef %27756, ptr noundef %664)
  %27758 = getelementptr inbounds %struct.s2n_result, ptr %680, i32 0, i32 0
  store i32 %27757, ptr %27758, align 4
  %27759 = getelementptr inbounds %struct.s2n_result, ptr %680, i32 0, i32 0
  %27760 = load i32, ptr %27759, align 4
  %27761 = call zeroext i1 @s2n_result_is_ok(i32 %27760)
  br i1 %27761, label %27815, label %27762

27762:                                            ; preds = %27753
  br label %27763

27763:                                            ; preds = %27762
  br label %27764

27764:                                            ; preds = %27763
  call void @llvm.lifetime.start.p0(i64 4, ptr %681) #11
  %27765 = call ptr @__errno_location() #12
  %27766 = load i32, ptr %27765, align 4, !tbaa !5
  store i32 %27766, ptr %681, align 4, !tbaa !5
  %27767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27768 = call i32 @s2n_print_stacktrace(ptr noundef %27767)
  %27769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27770 = trunc i8 %27769 to i1
  br i1 %27770, label %27771, label %27793

27771:                                            ; preds = %27764
  %27772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27773 = call i32 @fileno(ptr noundef %27772) #11
  %27774 = call i32 @isatty(i32 noundef %27773) #11
  %27775 = icmp ne i32 %27774, 0
  br i1 %27775, label %27776, label %27793

27776:                                            ; preds = %27771
  %27777 = load i32, ptr %681, align 4, !tbaa !5
  %27778 = call ptr @__errno_location() #12
  store i32 %27777, ptr %27778, align 4, !tbaa !5
  %27779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27780 = load i32, ptr @test_count, align 4, !tbaa !5
  %27781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27782 = load i32, ptr %27781, align 4, !tbaa !5
  %27783 = call ptr @s2n_strerror(i32 noundef %27782, ptr noundef @.str.25)
  %27784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27785 = load i32, ptr %27784, align 4, !tbaa !5
  %27786 = call ptr @s2n_strerror_debug(i32 noundef %27785, ptr noundef @.str.25)
  %27787 = call ptr @__errno_location() #12
  %27788 = load i32, ptr %27787, align 4, !tbaa !5
  %27789 = call ptr @strerror(i32 noundef %27788) #11
  %27790 = call ptr @__errno_location() #12
  %27791 = load i32, ptr %27790, align 4, !tbaa !5
  %27792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27779, ptr noundef @.str.23, i32 noundef %27780, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1289, ptr noundef %27783, ptr noundef %27786, ptr noundef %27789, i32 noundef %27791) #11
  br label %27810

27793:                                            ; preds = %27771, %27764
  %27794 = load i32, ptr %681, align 4, !tbaa !5
  %27795 = call ptr @__errno_location() #12
  store i32 %27794, ptr %27795, align 4, !tbaa !5
  %27796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27797 = load i32, ptr @test_count, align 4, !tbaa !5
  %27798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27799 = load i32, ptr %27798, align 4, !tbaa !5
  %27800 = call ptr @s2n_strerror(i32 noundef %27799, ptr noundef @.str.25)
  %27801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27802 = load i32, ptr %27801, align 4, !tbaa !5
  %27803 = call ptr @s2n_strerror_debug(i32 noundef %27802, ptr noundef @.str.25)
  %27804 = call ptr @__errno_location() #12
  %27805 = load i32, ptr %27804, align 4, !tbaa !5
  %27806 = call ptr @strerror(i32 noundef %27805) #11
  %27807 = call ptr @__errno_location() #12
  %27808 = load i32, ptr %27807, align 4, !tbaa !5
  %27809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27796, ptr noundef @.str.26, i32 noundef %27797, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1289, ptr noundef %27800, ptr noundef %27803, ptr noundef %27806, i32 noundef %27808) #11
  br label %27810

27810:                                            ; preds = %27793, %27776
  call void @llvm.lifetime.end.p0(i64 4, ptr %681) #11
  br label %27811

27811:                                            ; preds = %27810
  br label %27812

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

27813:                                            ; No predecessors!
  br label %27814

27814:                                            ; preds = %27813
  br label %27815

27815:                                            ; preds = %27814, %27753
  br label %27816

27816:                                            ; preds = %27815
  br label %27817

27817:                                            ; preds = %27816
  br label %27818

27818:                                            ; preds = %27817
  %27819 = load i32, ptr @test_count, align 4, !tbaa !5
  %27820 = add nsw i32 %27819, 1
  store i32 %27820, ptr @test_count, align 4, !tbaa !5
  %27821 = load ptr, ptr %658, align 8, !tbaa !9
  %27822 = call i32 @s2n_assert_tickets_sent(ptr noundef %27821, i16 noundef zeroext 2)
  %27823 = getelementptr inbounds %struct.s2n_result, ptr %682, i32 0, i32 0
  store i32 %27822, ptr %27823, align 4
  %27824 = getelementptr inbounds %struct.s2n_result, ptr %682, i32 0, i32 0
  %27825 = load i32, ptr %27824, align 4
  %27826 = call zeroext i1 @s2n_result_is_ok(i32 %27825)
  br i1 %27826, label %27880, label %27827

27827:                                            ; preds = %27818
  br label %27828

27828:                                            ; preds = %27827
  br label %27829

27829:                                            ; preds = %27828
  call void @llvm.lifetime.start.p0(i64 4, ptr %683) #11
  %27830 = call ptr @__errno_location() #12
  %27831 = load i32, ptr %27830, align 4, !tbaa !5
  store i32 %27831, ptr %683, align 4, !tbaa !5
  %27832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27833 = call i32 @s2n_print_stacktrace(ptr noundef %27832)
  %27834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27835 = trunc i8 %27834 to i1
  br i1 %27835, label %27836, label %27858

27836:                                            ; preds = %27829
  %27837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27838 = call i32 @fileno(ptr noundef %27837) #11
  %27839 = call i32 @isatty(i32 noundef %27838) #11
  %27840 = icmp ne i32 %27839, 0
  br i1 %27840, label %27841, label %27858

27841:                                            ; preds = %27836
  %27842 = load i32, ptr %683, align 4, !tbaa !5
  %27843 = call ptr @__errno_location() #12
  store i32 %27842, ptr %27843, align 4, !tbaa !5
  %27844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27845 = load i32, ptr @test_count, align 4, !tbaa !5
  %27846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27847 = load i32, ptr %27846, align 4, !tbaa !5
  %27848 = call ptr @s2n_strerror(i32 noundef %27847, ptr noundef @.str.25)
  %27849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27850 = load i32, ptr %27849, align 4, !tbaa !5
  %27851 = call ptr @s2n_strerror_debug(i32 noundef %27850, ptr noundef @.str.25)
  %27852 = call ptr @__errno_location() #12
  %27853 = load i32, ptr %27852, align 4, !tbaa !5
  %27854 = call ptr @strerror(i32 noundef %27853) #11
  %27855 = call ptr @__errno_location() #12
  %27856 = load i32, ptr %27855, align 4, !tbaa !5
  %27857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27844, ptr noundef @.str.23, i32 noundef %27845, ptr noundef @.str.196, ptr noundef @.str.22, i32 noundef 1290, ptr noundef %27848, ptr noundef %27851, ptr noundef %27854, i32 noundef %27856) #11
  br label %27875

27858:                                            ; preds = %27836, %27829
  %27859 = load i32, ptr %683, align 4, !tbaa !5
  %27860 = call ptr @__errno_location() #12
  store i32 %27859, ptr %27860, align 4, !tbaa !5
  %27861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27862 = load i32, ptr @test_count, align 4, !tbaa !5
  %27863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27864 = load i32, ptr %27863, align 4, !tbaa !5
  %27865 = call ptr @s2n_strerror(i32 noundef %27864, ptr noundef @.str.25)
  %27866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27867 = load i32, ptr %27866, align 4, !tbaa !5
  %27868 = call ptr @s2n_strerror_debug(i32 noundef %27867, ptr noundef @.str.25)
  %27869 = call ptr @__errno_location() #12
  %27870 = load i32, ptr %27869, align 4, !tbaa !5
  %27871 = call ptr @strerror(i32 noundef %27870) #11
  %27872 = call ptr @__errno_location() #12
  %27873 = load i32, ptr %27872, align 4, !tbaa !5
  %27874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27861, ptr noundef @.str.26, i32 noundef %27862, ptr noundef @.str.196, ptr noundef @.str.22, i32 noundef 1290, ptr noundef %27865, ptr noundef %27868, ptr noundef %27871, i32 noundef %27873) #11
  br label %27875

27875:                                            ; preds = %27858, %27841
  call void @llvm.lifetime.end.p0(i64 4, ptr %683) #11
  br label %27876

27876:                                            ; preds = %27875
  br label %27877

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

27878:                                            ; No predecessors!
  br label %27879

27879:                                            ; preds = %27878
  br label %27880

27880:                                            ; preds = %27879, %27818
  br label %27881

27881:                                            ; preds = %27880
  br label %27882

27882:                                            ; preds = %27881
  br label %27883

27883:                                            ; preds = %27882
  %27884 = load i32, ptr @test_count, align 4, !tbaa !5
  %27885 = add nsw i32 %27884, 1
  store i32 %27885, ptr @test_count, align 4, !tbaa !5
  %27886 = getelementptr inbounds %struct.s2n_stuffer, ptr %661, i32 0, i32 2
  %27887 = load i32, ptr %27886, align 4, !tbaa !52
  %27888 = getelementptr inbounds %struct.s2n_stuffer, ptr %661, i32 0, i32 1
  %27889 = load i32, ptr %27888, align 8, !tbaa !53
  %27890 = sub i32 %27887, %27889
  %27891 = icmp eq i32 0, %27890
  br i1 %27891, label %27945, label %27892

27892:                                            ; preds = %27883
  br label %27893

27893:                                            ; preds = %27892
  br label %27894

27894:                                            ; preds = %27893
  call void @llvm.lifetime.start.p0(i64 4, ptr %684) #11
  %27895 = call ptr @__errno_location() #12
  %27896 = load i32, ptr %27895, align 4, !tbaa !5
  store i32 %27896, ptr %684, align 4, !tbaa !5
  %27897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27898 = call i32 @s2n_print_stacktrace(ptr noundef %27897)
  %27899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27900 = trunc i8 %27899 to i1
  br i1 %27900, label %27901, label %27923

27901:                                            ; preds = %27894
  %27902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27903 = call i32 @fileno(ptr noundef %27902) #11
  %27904 = call i32 @isatty(i32 noundef %27903) #11
  %27905 = icmp ne i32 %27904, 0
  br i1 %27905, label %27906, label %27923

27906:                                            ; preds = %27901
  %27907 = load i32, ptr %684, align 4, !tbaa !5
  %27908 = call ptr @__errno_location() #12
  store i32 %27907, ptr %27908, align 4, !tbaa !5
  %27909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27910 = load i32, ptr @test_count, align 4, !tbaa !5
  %27911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27912 = load i32, ptr %27911, align 4, !tbaa !5
  %27913 = call ptr @s2n_strerror(i32 noundef %27912, ptr noundef @.str.25)
  %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_debug(i32 noundef %27915, ptr noundef @.str.25)
  %27917 = call ptr @__errno_location() #12
  %27918 = load i32, ptr %27917, align 4, !tbaa !5
  %27919 = call ptr @strerror(i32 noundef %27918) #11
  %27920 = call ptr @__errno_location() #12
  %27921 = load i32, ptr %27920, align 4, !tbaa !5
  %27922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27909, ptr noundef @.str.23, i32 noundef %27910, ptr noundef @.str.169, ptr noundef @.str.22, i32 noundef 1291, ptr noundef %27913, ptr noundef %27916, ptr noundef %27919, i32 noundef %27921) #11
  br label %27940

27923:                                            ; preds = %27901, %27894
  %27924 = load i32, ptr %684, align 4, !tbaa !5
  %27925 = call ptr @__errno_location() #12
  store i32 %27924, ptr %27925, align 4, !tbaa !5
  %27926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27927 = load i32, ptr @test_count, align 4, !tbaa !5
  %27928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27929 = load i32, ptr %27928, align 4, !tbaa !5
  %27930 = call ptr @s2n_strerror(i32 noundef %27929, ptr noundef @.str.25)
  %27931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27932 = load i32, ptr %27931, align 4, !tbaa !5
  %27933 = call ptr @s2n_strerror_debug(i32 noundef %27932, ptr noundef @.str.25)
  %27934 = call ptr @__errno_location() #12
  %27935 = load i32, ptr %27934, align 4, !tbaa !5
  %27936 = call ptr @strerror(i32 noundef %27935) #11
  %27937 = call ptr @__errno_location() #12
  %27938 = load i32, ptr %27937, align 4, !tbaa !5
  %27939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27926, ptr noundef @.str.26, i32 noundef %27927, ptr noundef @.str.169, ptr noundef @.str.22, i32 noundef 1291, ptr noundef %27930, ptr noundef %27933, ptr noundef %27936, i32 noundef %27938) #11
  br label %27940

27940:                                            ; preds = %27923, %27906
  call void @llvm.lifetime.end.p0(i64 4, ptr %684) #11
  br label %27941

27941:                                            ; preds = %27940
  br label %27942

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

27943:                                            ; No predecessors!
  br label %27944

27944:                                            ; preds = %27943
  br label %27945

27945:                                            ; preds = %27944, %27883
  br label %27946

27946:                                            ; preds = %27945
  br label %27947

27947:                                            ; preds = %27946
  br label %27948

27948:                                            ; preds = %27947
  %27949 = load i32, ptr @test_count, align 4, !tbaa !5
  %27950 = add nsw i32 %27949, 1
  store i32 %27950, ptr @test_count, align 4, !tbaa !5
  %27951 = call i32 @s2n_stuffer_free(ptr noundef %661)
  %27952 = icmp eq i32 %27951, -1
  br i1 %27952, label %27953, label %28006

27953:                                            ; preds = %27948
  br label %27954

27954:                                            ; preds = %27953
  br label %27955

27955:                                            ; preds = %27954
  call void @llvm.lifetime.start.p0(i64 4, ptr %685) #11
  %27956 = call ptr @__errno_location() #12
  %27957 = load i32, ptr %27956, align 4, !tbaa !5
  store i32 %27957, ptr %685, align 4, !tbaa !5
  %27958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27959 = call i32 @s2n_print_stacktrace(ptr noundef %27958)
  %27960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27961 = trunc i8 %27960 to i1
  br i1 %27961, label %27962, label %27984

27962:                                            ; preds = %27955
  %27963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27964 = call i32 @fileno(ptr noundef %27963) #11
  %27965 = call i32 @isatty(i32 noundef %27964) #11
  %27966 = icmp ne i32 %27965, 0
  br i1 %27966, label %27967, label %27984

27967:                                            ; preds = %27962
  %27968 = load i32, ptr %685, align 4, !tbaa !5
  %27969 = call ptr @__errno_location() #12
  store i32 %27968, ptr %27969, align 4, !tbaa !5
  %27970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27971 = load i32, ptr @test_count, align 4, !tbaa !5
  %27972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27973 = load i32, ptr %27972, align 4, !tbaa !5
  %27974 = call ptr @s2n_strerror(i32 noundef %27973, ptr noundef @.str.25)
  %27975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27976 = load i32, ptr %27975, align 4, !tbaa !5
  %27977 = call ptr @s2n_strerror_debug(i32 noundef %27976, ptr noundef @.str.25)
  %27978 = call ptr @__errno_location() #12
  %27979 = load i32, ptr %27978, align 4, !tbaa !5
  %27980 = call ptr @strerror(i32 noundef %27979) #11
  %27981 = call ptr @__errno_location() #12
  %27982 = load i32, ptr %27981, align 4, !tbaa !5
  %27983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27970, ptr noundef @.str.23, i32 noundef %27971, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1293, ptr noundef %27974, ptr noundef %27977, ptr noundef %27980, i32 noundef %27982) #11
  br label %28001

27984:                                            ; preds = %27962, %27955
  %27985 = load i32, ptr %685, align 4, !tbaa !5
  %27986 = call ptr @__errno_location() #12
  store i32 %27985, ptr %27986, align 4, !tbaa !5
  %27987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27988 = load i32, ptr @test_count, align 4, !tbaa !5
  %27989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27990 = load i32, ptr %27989, align 4, !tbaa !5
  %27991 = call ptr @s2n_strerror(i32 noundef %27990, ptr noundef @.str.25)
  %27992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27993 = load i32, ptr %27992, align 4, !tbaa !5
  %27994 = call ptr @s2n_strerror_debug(i32 noundef %27993, ptr noundef @.str.25)
  %27995 = call ptr @__errno_location() #12
  %27996 = load i32, ptr %27995, align 4, !tbaa !5
  %27997 = call ptr @strerror(i32 noundef %27996) #11
  %27998 = call ptr @__errno_location() #12
  %27999 = load i32, ptr %27998, align 4, !tbaa !5
  %28000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27987, ptr noundef @.str.26, i32 noundef %27988, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1293, ptr noundef %27991, ptr noundef %27994, ptr noundef %27997, i32 noundef %27999) #11
  br label %28001

28001:                                            ; preds = %27984, %27967
  call void @llvm.lifetime.end.p0(i64 4, ptr %685) #11
  br label %28002

28002:                                            ; preds = %28001
  br label %28003

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

28004:                                            ; No predecessors!
  br label %28005

28005:                                            ; preds = %28004
  br label %28006

28006:                                            ; preds = %28005, %27948
  br label %28007

28007:                                            ; preds = %28006
  br label %28008

28008:                                            ; preds = %28007
  br label %28009

28009:                                            ; preds = %28008
  %28010 = load i32, ptr @test_count, align 4, !tbaa !5
  %28011 = add nsw i32 %28010, 1
  store i32 %28011, ptr @test_count, align 4, !tbaa !5
  %28012 = load ptr, ptr %658, align 8, !tbaa !9
  %28013 = call i32 @s2n_connection_free(ptr noundef %28012)
  %28014 = icmp eq i32 %28013, -1
  br i1 %28014, label %28015, label %28068

28015:                                            ; preds = %28009
  br label %28016

28016:                                            ; preds = %28015
  br label %28017

28017:                                            ; preds = %28016
  call void @llvm.lifetime.start.p0(i64 4, ptr %686) #11
  %28018 = call ptr @__errno_location() #12
  %28019 = load i32, ptr %28018, align 4, !tbaa !5
  store i32 %28019, ptr %686, align 4, !tbaa !5
  %28020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28021 = call i32 @s2n_print_stacktrace(ptr noundef %28020)
  %28022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28023 = trunc i8 %28022 to i1
  br i1 %28023, label %28024, label %28046

28024:                                            ; preds = %28017
  %28025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28026 = call i32 @fileno(ptr noundef %28025) #11
  %28027 = call i32 @isatty(i32 noundef %28026) #11
  %28028 = icmp ne i32 %28027, 0
  br i1 %28028, label %28029, label %28046

28029:                                            ; preds = %28024
  %28030 = load i32, ptr %686, align 4, !tbaa !5
  %28031 = call ptr @__errno_location() #12
  store i32 %28030, ptr %28031, align 4, !tbaa !5
  %28032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28033 = load i32, ptr @test_count, align 4, !tbaa !5
  %28034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28035 = load i32, ptr %28034, align 4, !tbaa !5
  %28036 = call ptr @s2n_strerror(i32 noundef %28035, ptr noundef @.str.25)
  %28037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28038 = load i32, ptr %28037, align 4, !tbaa !5
  %28039 = call ptr @s2n_strerror_debug(i32 noundef %28038, ptr noundef @.str.25)
  %28040 = call ptr @__errno_location() #12
  %28041 = load i32, ptr %28040, align 4, !tbaa !5
  %28042 = call ptr @strerror(i32 noundef %28041) #11
  %28043 = call ptr @__errno_location() #12
  %28044 = load i32, ptr %28043, align 4, !tbaa !5
  %28045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28032, ptr noundef @.str.23, i32 noundef %28033, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1294, ptr noundef %28036, ptr noundef %28039, ptr noundef %28042, i32 noundef %28044) #11
  br label %28063

28046:                                            ; preds = %28024, %28017
  %28047 = load i32, ptr %686, align 4, !tbaa !5
  %28048 = call ptr @__errno_location() #12
  store i32 %28047, ptr %28048, align 4, !tbaa !5
  %28049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28050 = load i32, ptr @test_count, align 4, !tbaa !5
  %28051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28052 = load i32, ptr %28051, align 4, !tbaa !5
  %28053 = call ptr @s2n_strerror(i32 noundef %28052, ptr noundef @.str.25)
  %28054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28055 = load i32, ptr %28054, align 4, !tbaa !5
  %28056 = call ptr @s2n_strerror_debug(i32 noundef %28055, ptr noundef @.str.25)
  %28057 = call ptr @__errno_location() #12
  %28058 = load i32, ptr %28057, align 4, !tbaa !5
  %28059 = call ptr @strerror(i32 noundef %28058) #11
  %28060 = call ptr @__errno_location() #12
  %28061 = load i32, ptr %28060, align 4, !tbaa !5
  %28062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28049, ptr noundef @.str.26, i32 noundef %28050, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1294, ptr noundef %28053, ptr noundef %28056, ptr noundef %28059, i32 noundef %28061) #11
  br label %28063

28063:                                            ; preds = %28046, %28029
  call void @llvm.lifetime.end.p0(i64 4, ptr %686) #11
  br label %28064

28064:                                            ; preds = %28063
  br label %28065

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

28066:                                            ; No predecessors!
  br label %28067

28067:                                            ; preds = %28066
  br label %28068

28068:                                            ; preds = %28067, %28009
  br label %28069

28069:                                            ; preds = %28068
  br label %28070

28070:                                            ; preds = %28069
  br label %28071

28071:                                            ; preds = %28070
  %28072 = load i32, ptr @test_count, align 4, !tbaa !5
  %28073 = add nsw i32 %28072, 1
  store i32 %28073, ptr @test_count, align 4, !tbaa !5
  %28074 = load ptr, ptr %653, align 8, !tbaa !9
  %28075 = call i32 @s2n_config_free(ptr noundef %28074)
  %28076 = icmp eq i32 %28075, -1
  br i1 %28076, label %28077, label %28130

28077:                                            ; preds = %28071
  br label %28078

28078:                                            ; preds = %28077
  br label %28079

28079:                                            ; preds = %28078
  call void @llvm.lifetime.start.p0(i64 4, ptr %687) #11
  %28080 = call ptr @__errno_location() #12
  %28081 = load i32, ptr %28080, align 4, !tbaa !5
  store i32 %28081, ptr %687, align 4, !tbaa !5
  %28082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28083 = call i32 @s2n_print_stacktrace(ptr noundef %28082)
  %28084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28085 = trunc i8 %28084 to i1
  br i1 %28085, label %28086, label %28108

28086:                                            ; preds = %28079
  %28087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28088 = call i32 @fileno(ptr noundef %28087) #11
  %28089 = call i32 @isatty(i32 noundef %28088) #11
  %28090 = icmp ne i32 %28089, 0
  br i1 %28090, label %28091, label %28108

28091:                                            ; preds = %28086
  %28092 = load i32, ptr %687, align 4, !tbaa !5
  %28093 = call ptr @__errno_location() #12
  store i32 %28092, ptr %28093, align 4, !tbaa !5
  %28094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28095 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %28097, ptr noundef @.str.25)
  %28099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28100 = load i32, ptr %28099, align 4, !tbaa !5
  %28101 = call ptr @s2n_strerror_debug(i32 noundef %28100, ptr noundef @.str.25)
  %28102 = call ptr @__errno_location() #12
  %28103 = load i32, ptr %28102, align 4, !tbaa !5
  %28104 = call ptr @strerror(i32 noundef %28103) #11
  %28105 = call ptr @__errno_location() #12
  %28106 = load i32, ptr %28105, align 4, !tbaa !5
  %28107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28094, ptr noundef @.str.23, i32 noundef %28095, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1295, ptr noundef %28098, ptr noundef %28101, ptr noundef %28104, i32 noundef %28106) #11
  br label %28125

28108:                                            ; preds = %28086, %28079
  %28109 = load i32, ptr %687, align 4, !tbaa !5
  %28110 = call ptr @__errno_location() #12
  store i32 %28109, ptr %28110, align 4, !tbaa !5
  %28111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28112 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %28114, ptr noundef @.str.25)
  %28116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28117 = load i32, ptr %28116, align 4, !tbaa !5
  %28118 = call ptr @s2n_strerror_debug(i32 noundef %28117, ptr noundef @.str.25)
  %28119 = call ptr @__errno_location() #12
  %28120 = load i32, ptr %28119, align 4, !tbaa !5
  %28121 = call ptr @strerror(i32 noundef %28120) #11
  %28122 = call ptr @__errno_location() #12
  %28123 = load i32, ptr %28122, align 4, !tbaa !5
  %28124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28111, ptr noundef @.str.26, i32 noundef %28112, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1295, ptr noundef %28115, ptr noundef %28118, ptr noundef %28121, i32 noundef %28123) #11
  br label %28125

28125:                                            ; preds = %28108, %28091
  call void @llvm.lifetime.end.p0(i64 4, ptr %687) #11
  br label %28126

28126:                                            ; preds = %28125
  br label %28127

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

28128:                                            ; No predecessors!
  br label %28129

28129:                                            ; preds = %28128
  br label %28130

28130:                                            ; preds = %28129, %28071
  br label %28131

28131:                                            ; preds = %28130
  br label %28132

28132:                                            ; preds = %28131
  call void @llvm.lifetime.end.p0(i64 4, ptr %664) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %661) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %658) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %653) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %652) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %651) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr %688) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %688, ptr align 16 @__const.main.test_data.198, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %689) #11
  store i64 0, ptr %689, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %690) #11
  %28133 = call ptr @s2n_config_new()
  store ptr %28133, ptr %690, align 8, !tbaa !9
  br label %28134

28134:                                            ; preds = %28132
  %28135 = load i32, ptr @test_count, align 4, !tbaa !5
  %28136 = add nsw i32 %28135, 1
  store i32 %28136, ptr @test_count, align 4, !tbaa !5
  %28137 = load ptr, ptr %690, align 8, !tbaa !9
  %28138 = icmp eq ptr %28137, null
  br i1 %28138, label %28139, label %28192

28139:                                            ; preds = %28134
  br label %28140

28140:                                            ; preds = %28139
  br label %28141

28141:                                            ; preds = %28140
  call void @llvm.lifetime.start.p0(i64 4, ptr %691) #11
  %28142 = call ptr @__errno_location() #12
  %28143 = load i32, ptr %28142, align 4, !tbaa !5
  store i32 %28143, ptr %691, align 4, !tbaa !5
  %28144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28145 = call i32 @s2n_print_stacktrace(ptr noundef %28144)
  %28146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28147 = trunc i8 %28146 to i1
  br i1 %28147, label %28148, label %28170

28148:                                            ; preds = %28141
  %28149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28150 = call i32 @fileno(ptr noundef %28149) #11
  %28151 = call i32 @isatty(i32 noundef %28150) #11
  %28152 = icmp ne i32 %28151, 0
  br i1 %28152, label %28153, label %28170

28153:                                            ; preds = %28148
  %28154 = load i32, ptr %691, align 4, !tbaa !5
  %28155 = call ptr @__errno_location() #12
  store i32 %28154, ptr %28155, align 4, !tbaa !5
  %28156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28157 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %28159, ptr noundef @.str.25)
  %28161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28162 = load i32, ptr %28161, align 4, !tbaa !5
  %28163 = call ptr @s2n_strerror_debug(i32 noundef %28162, ptr noundef @.str.25)
  %28164 = call ptr @__errno_location() #12
  %28165 = load i32, ptr %28164, align 4, !tbaa !5
  %28166 = call ptr @strerror(i32 noundef %28165) #11
  %28167 = call ptr @__errno_location() #12
  %28168 = load i32, ptr %28167, align 4, !tbaa !5
  %28169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28156, ptr noundef @.str.23, i32 noundef %28157, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1304, ptr noundef %28160, ptr noundef %28163, ptr noundef %28166, i32 noundef %28168) #11
  br label %28187

28170:                                            ; preds = %28148, %28141
  %28171 = load i32, ptr %691, align 4, !tbaa !5
  %28172 = call ptr @__errno_location() #12
  store i32 %28171, ptr %28172, align 4, !tbaa !5
  %28173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28174 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %28176, ptr noundef @.str.25)
  %28178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28179 = load i32, ptr %28178, align 4, !tbaa !5
  %28180 = call ptr @s2n_strerror_debug(i32 noundef %28179, ptr noundef @.str.25)
  %28181 = call ptr @__errno_location() #12
  %28182 = load i32, ptr %28181, align 4, !tbaa !5
  %28183 = call ptr @strerror(i32 noundef %28182) #11
  %28184 = call ptr @__errno_location() #12
  %28185 = load i32, ptr %28184, align 4, !tbaa !5
  %28186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28173, ptr noundef @.str.26, i32 noundef %28174, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1304, ptr noundef %28177, ptr noundef %28180, ptr noundef %28183, i32 noundef %28185) #11
  br label %28187

28187:                                            ; preds = %28170, %28153
  call void @llvm.lifetime.end.p0(i64 4, ptr %691) #11
  br label %28188

28188:                                            ; preds = %28187
  br label %28189

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

28190:                                            ; No predecessors!
  br label %28191

28191:                                            ; preds = %28190
  br label %28192

28192:                                            ; preds = %28191, %28134
  br label %28193

28193:                                            ; preds = %28192
  br label %28194

28194:                                            ; preds = %28193
  br label %28195

28195:                                            ; preds = %28194
  %28196 = load i32, ptr @test_count, align 4, !tbaa !5
  %28197 = add nsw i32 %28196, 1
  store i32 %28197, ptr @test_count, align 4, !tbaa !5
  %28198 = load ptr, ptr %690, align 8, !tbaa !9
  %28199 = call i32 @s2n_config_set_initial_ticket_count(ptr noundef %28198, i8 noundef zeroext 1)
  %28200 = icmp eq i32 %28199, -1
  br i1 %28200, label %28201, label %28254

28201:                                            ; preds = %28195
  br label %28202

28202:                                            ; preds = %28201
  br label %28203

28203:                                            ; preds = %28202
  call void @llvm.lifetime.start.p0(i64 4, ptr %692) #11
  %28204 = call ptr @__errno_location() #12
  %28205 = load i32, ptr %28204, align 4, !tbaa !5
  store i32 %28205, ptr %692, align 4, !tbaa !5
  %28206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28207 = call i32 @s2n_print_stacktrace(ptr noundef %28206)
  %28208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28209 = trunc i8 %28208 to i1
  br i1 %28209, label %28210, label %28232

28210:                                            ; preds = %28203
  %28211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28212 = call i32 @fileno(ptr noundef %28211) #11
  %28213 = call i32 @isatty(i32 noundef %28212) #11
  %28214 = icmp ne i32 %28213, 0
  br i1 %28214, label %28215, label %28232

28215:                                            ; preds = %28210
  %28216 = load i32, ptr %692, align 4, !tbaa !5
  %28217 = call ptr @__errno_location() #12
  store i32 %28216, ptr %28217, align 4, !tbaa !5
  %28218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28219 = load i32, ptr @test_count, align 4, !tbaa !5
  %28220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28221 = load i32, ptr %28220, align 4, !tbaa !5
  %28222 = call ptr @s2n_strerror(i32 noundef %28221, ptr noundef @.str.25)
  %28223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28224 = load i32, ptr %28223, align 4, !tbaa !5
  %28225 = call ptr @s2n_strerror_debug(i32 noundef %28224, ptr noundef @.str.25)
  %28226 = call ptr @__errno_location() #12
  %28227 = load i32, ptr %28226, align 4, !tbaa !5
  %28228 = call ptr @strerror(i32 noundef %28227) #11
  %28229 = call ptr @__errno_location() #12
  %28230 = load i32, ptr %28229, align 4, !tbaa !5
  %28231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28218, ptr noundef @.str.23, i32 noundef %28219, ptr noundef @.str.199, ptr noundef @.str.22, i32 noundef 1305, ptr noundef %28222, ptr noundef %28225, ptr noundef %28228, i32 noundef %28230) #11
  br label %28249

28232:                                            ; preds = %28210, %28203
  %28233 = load i32, ptr %692, align 4, !tbaa !5
  %28234 = call ptr @__errno_location() #12
  store i32 %28233, ptr %28234, align 4, !tbaa !5
  %28235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28236 = load i32, ptr @test_count, align 4, !tbaa !5
  %28237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28238 = load i32, ptr %28237, align 4, !tbaa !5
  %28239 = call ptr @s2n_strerror(i32 noundef %28238, ptr noundef @.str.25)
  %28240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28241 = load i32, ptr %28240, align 4, !tbaa !5
  %28242 = call ptr @s2n_strerror_debug(i32 noundef %28241, ptr noundef @.str.25)
  %28243 = call ptr @__errno_location() #12
  %28244 = load i32, ptr %28243, align 4, !tbaa !5
  %28245 = call ptr @strerror(i32 noundef %28244) #11
  %28246 = call ptr @__errno_location() #12
  %28247 = load i32, ptr %28246, align 4, !tbaa !5
  %28248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28235, ptr noundef @.str.26, i32 noundef %28236, ptr noundef @.str.199, ptr noundef @.str.22, i32 noundef 1305, ptr noundef %28239, ptr noundef %28242, ptr noundef %28245, i32 noundef %28247) #11
  br label %28249

28249:                                            ; preds = %28232, %28215
  call void @llvm.lifetime.end.p0(i64 4, ptr %692) #11
  br label %28250

28250:                                            ; preds = %28249
  br label %28251

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

28252:                                            ; No predecessors!
  br label %28253

28253:                                            ; preds = %28252
  br label %28254

28254:                                            ; preds = %28253, %28195
  br label %28255

28255:                                            ; preds = %28254
  br label %28256

28256:                                            ; preds = %28255
  br label %28257

28257:                                            ; preds = %28256
  %28258 = load i32, ptr @test_count, align 4, !tbaa !5
  %28259 = add nsw i32 %28258, 1
  store i32 %28259, ptr @test_count, align 4, !tbaa !5
  %28260 = load ptr, ptr %690, align 8, !tbaa !9
  %28261 = getelementptr inbounds %struct.s2n_config, ptr %28260, i32 0, i32 5
  %28262 = load ptr, ptr %28261, align 8, !tbaa !85
  %28263 = load ptr, ptr %690, align 8, !tbaa !9
  %28264 = getelementptr inbounds %struct.s2n_config, ptr %28263, i32 0, i32 8
  %28265 = load ptr, ptr %28264, align 8, !tbaa !86
  %28266 = call i32 %28262(ptr noundef %28265, ptr noundef %689)
  %28267 = icmp eq i32 %28266, -1
  br i1 %28267, label %28268, label %28321

28268:                                            ; preds = %28257
  br label %28269

28269:                                            ; preds = %28268
  br label %28270

28270:                                            ; preds = %28269
  call void @llvm.lifetime.start.p0(i64 4, ptr %693) #11
  %28271 = call ptr @__errno_location() #12
  %28272 = load i32, ptr %28271, align 4, !tbaa !5
  store i32 %28272, ptr %693, align 4, !tbaa !5
  %28273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28274 = call i32 @s2n_print_stacktrace(ptr noundef %28273)
  %28275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28276 = trunc i8 %28275 to i1
  br i1 %28276, label %28277, label %28299

28277:                                            ; preds = %28270
  %28278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28279 = call i32 @fileno(ptr noundef %28278) #11
  %28280 = call i32 @isatty(i32 noundef %28279) #11
  %28281 = icmp ne i32 %28280, 0
  br i1 %28281, label %28282, label %28299

28282:                                            ; preds = %28277
  %28283 = load i32, ptr %693, align 4, !tbaa !5
  %28284 = call ptr @__errno_location() #12
  store i32 %28283, ptr %28284, align 4, !tbaa !5
  %28285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28286 = load i32, ptr @test_count, align 4, !tbaa !5
  %28287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28288 = load i32, ptr %28287, align 4, !tbaa !5
  %28289 = call ptr @s2n_strerror(i32 noundef %28288, ptr noundef @.str.25)
  %28290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28291 = load i32, ptr %28290, align 4, !tbaa !5
  %28292 = call ptr @s2n_strerror_debug(i32 noundef %28291, ptr noundef @.str.25)
  %28293 = call ptr @__errno_location() #12
  %28294 = load i32, ptr %28293, align 4, !tbaa !5
  %28295 = call ptr @strerror(i32 noundef %28294) #11
  %28296 = call ptr @__errno_location() #12
  %28297 = load i32, ptr %28296, align 4, !tbaa !5
  %28298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28285, ptr noundef @.str.23, i32 noundef %28286, ptr noundef @.str.192, ptr noundef @.str.22, i32 noundef 1306, ptr noundef %28289, ptr noundef %28292, ptr noundef %28295, i32 noundef %28297) #11
  br label %28316

28299:                                            ; preds = %28277, %28270
  %28300 = load i32, ptr %693, align 4, !tbaa !5
  %28301 = call ptr @__errno_location() #12
  store i32 %28300, ptr %28301, align 4, !tbaa !5
  %28302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28303 = load i32, ptr @test_count, align 4, !tbaa !5
  %28304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28305 = load i32, ptr %28304, align 4, !tbaa !5
  %28306 = call ptr @s2n_strerror(i32 noundef %28305, ptr noundef @.str.25)
  %28307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28308 = load i32, ptr %28307, align 4, !tbaa !5
  %28309 = call ptr @s2n_strerror_debug(i32 noundef %28308, ptr noundef @.str.25)
  %28310 = call ptr @__errno_location() #12
  %28311 = load i32, ptr %28310, align 4, !tbaa !5
  %28312 = call ptr @strerror(i32 noundef %28311) #11
  %28313 = call ptr @__errno_location() #12
  %28314 = load i32, ptr %28313, align 4, !tbaa !5
  %28315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28302, ptr noundef @.str.26, i32 noundef %28303, ptr noundef @.str.192, ptr noundef @.str.22, i32 noundef 1306, ptr noundef %28306, ptr noundef %28309, ptr noundef %28312, i32 noundef %28314) #11
  br label %28316

28316:                                            ; preds = %28299, %28282
  call void @llvm.lifetime.end.p0(i64 4, ptr %693) #11
  br label %28317

28317:                                            ; preds = %28316
  br label %28318

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

28319:                                            ; No predecessors!
  br label %28320

28320:                                            ; preds = %28319
  br label %28321

28321:                                            ; preds = %28320, %28257
  br label %28322

28322:                                            ; preds = %28321
  br label %28323

28323:                                            ; preds = %28322
  br label %28324

28324:                                            ; preds = %28323
  %28325 = load i32, ptr @test_count, align 4, !tbaa !5
  %28326 = add nsw i32 %28325, 1
  store i32 %28326, ptr @test_count, align 4, !tbaa !5
  %28327 = load ptr, ptr %690, align 8, !tbaa !9
  %28328 = getelementptr inbounds [16 x i8], ptr %688, i64 0, i64 0
  %28329 = getelementptr inbounds [16 x i8], ptr %688, i64 0, i64 0
  %28330 = load i64, ptr %689, align 8, !tbaa !15
  %28331 = udiv i64 %28330, 1000000000
  %28332 = call i32 @s2n_config_add_ticket_crypto_key(ptr noundef %28327, ptr noundef %28328, i32 noundef 16, ptr noundef %28329, i32 noundef 16, i64 noundef %28331)
  %28333 = icmp eq i32 %28332, -1
  br i1 %28333, label %28334, label %28387

28334:                                            ; preds = %28324
  br label %28335

28335:                                            ; preds = %28334
  br label %28336

28336:                                            ; preds = %28335
  call void @llvm.lifetime.start.p0(i64 4, ptr %694) #11
  %28337 = call ptr @__errno_location() #12
  %28338 = load i32, ptr %28337, align 4, !tbaa !5
  store i32 %28338, ptr %694, align 4, !tbaa !5
  %28339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28340 = call i32 @s2n_print_stacktrace(ptr noundef %28339)
  %28341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28342 = trunc i8 %28341 to i1
  br i1 %28342, label %28343, label %28365

28343:                                            ; preds = %28336
  %28344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28345 = call i32 @fileno(ptr noundef %28344) #11
  %28346 = call i32 @isatty(i32 noundef %28345) #11
  %28347 = icmp ne i32 %28346, 0
  br i1 %28347, label %28348, label %28365

28348:                                            ; preds = %28343
  %28349 = load i32, ptr %694, align 4, !tbaa !5
  %28350 = call ptr @__errno_location() #12
  store i32 %28349, ptr %28350, align 4, !tbaa !5
  %28351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28352 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %28354, ptr noundef @.str.25)
  %28356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28357 = load i32, ptr %28356, align 4, !tbaa !5
  %28358 = call ptr @s2n_strerror_debug(i32 noundef %28357, ptr noundef @.str.25)
  %28359 = call ptr @__errno_location() #12
  %28360 = load i32, ptr %28359, align 4, !tbaa !5
  %28361 = call ptr @strerror(i32 noundef %28360) #11
  %28362 = call ptr @__errno_location() #12
  %28363 = load i32, ptr %28362, align 4, !tbaa !5
  %28364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28351, ptr noundef @.str.23, i32 noundef %28352, ptr noundef @.str.193, ptr noundef @.str.22, i32 noundef 1308, ptr noundef %28355, ptr noundef %28358, ptr noundef %28361, i32 noundef %28363) #11
  br label %28382

28365:                                            ; preds = %28343, %28336
  %28366 = load i32, ptr %694, align 4, !tbaa !5
  %28367 = call ptr @__errno_location() #12
  store i32 %28366, ptr %28367, align 4, !tbaa !5
  %28368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28369 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %28371, ptr noundef @.str.25)
  %28373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28374 = load i32, ptr %28373, align 4, !tbaa !5
  %28375 = call ptr @s2n_strerror_debug(i32 noundef %28374, ptr noundef @.str.25)
  %28376 = call ptr @__errno_location() #12
  %28377 = load i32, ptr %28376, align 4, !tbaa !5
  %28378 = call ptr @strerror(i32 noundef %28377) #11
  %28379 = call ptr @__errno_location() #12
  %28380 = load i32, ptr %28379, align 4, !tbaa !5
  %28381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28368, ptr noundef @.str.26, i32 noundef %28369, ptr noundef @.str.193, ptr noundef @.str.22, i32 noundef 1308, ptr noundef %28372, ptr noundef %28375, ptr noundef %28378, i32 noundef %28380) #11
  br label %28382

28382:                                            ; preds = %28365, %28348
  call void @llvm.lifetime.end.p0(i64 4, ptr %694) #11
  br label %28383

28383:                                            ; preds = %28382
  br label %28384

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

28385:                                            ; No predecessors!
  br label %28386

28386:                                            ; preds = %28385
  br label %28387

28387:                                            ; preds = %28386, %28324
  br label %28388

28388:                                            ; preds = %28387
  br label %28389

28389:                                            ; preds = %28388
  call void @llvm.lifetime.start.p0(i64 8, ptr %695) #11
  %28390 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %28390, ptr %695, align 8, !tbaa !9
  br label %28391

28391:                                            ; preds = %28389
  %28392 = load i32, ptr @test_count, align 4, !tbaa !5
  %28393 = add nsw i32 %28392, 1
  store i32 %28393, ptr @test_count, align 4, !tbaa !5
  %28394 = load ptr, ptr %695, align 8, !tbaa !9
  %28395 = icmp eq ptr %28394, null
  br i1 %28395, label %28396, label %28449

28396:                                            ; preds = %28391
  br label %28397

28397:                                            ; preds = %28396
  br label %28398

28398:                                            ; preds = %28397
  call void @llvm.lifetime.start.p0(i64 4, ptr %696) #11
  %28399 = call ptr @__errno_location() #12
  %28400 = load i32, ptr %28399, align 4, !tbaa !5
  store i32 %28400, ptr %696, align 4, !tbaa !5
  %28401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28402 = call i32 @s2n_print_stacktrace(ptr noundef %28401)
  %28403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28404 = trunc i8 %28403 to i1
  br i1 %28404, label %28405, label %28427

28405:                                            ; preds = %28398
  %28406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28407 = call i32 @fileno(ptr noundef %28406) #11
  %28408 = call i32 @isatty(i32 noundef %28407) #11
  %28409 = icmp ne i32 %28408, 0
  br i1 %28409, label %28410, label %28427

28410:                                            ; preds = %28405
  %28411 = load i32, ptr %696, align 4, !tbaa !5
  %28412 = call ptr @__errno_location() #12
  store i32 %28411, ptr %28412, align 4, !tbaa !5
  %28413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28414 = load i32, ptr @test_count, align 4, !tbaa !5
  %28415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28416 = load i32, ptr %28415, align 4, !tbaa !5
  %28417 = call ptr @s2n_strerror(i32 noundef %28416, ptr noundef @.str.25)
  %28418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28419 = load i32, ptr %28418, align 4, !tbaa !5
  %28420 = call ptr @s2n_strerror_debug(i32 noundef %28419, ptr noundef @.str.25)
  %28421 = call ptr @__errno_location() #12
  %28422 = load i32, ptr %28421, align 4, !tbaa !5
  %28423 = call ptr @strerror(i32 noundef %28422) #11
  %28424 = call ptr @__errno_location() #12
  %28425 = load i32, ptr %28424, align 4, !tbaa !5
  %28426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28413, ptr noundef @.str.23, i32 noundef %28414, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1311, ptr noundef %28417, ptr noundef %28420, ptr noundef %28423, i32 noundef %28425) #11
  br label %28444

28427:                                            ; preds = %28405, %28398
  %28428 = load i32, ptr %696, align 4, !tbaa !5
  %28429 = call ptr @__errno_location() #12
  store i32 %28428, ptr %28429, align 4, !tbaa !5
  %28430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28431 = load i32, ptr @test_count, align 4, !tbaa !5
  %28432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28433 = load i32, ptr %28432, align 4, !tbaa !5
  %28434 = call ptr @s2n_strerror(i32 noundef %28433, ptr noundef @.str.25)
  %28435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28436 = load i32, ptr %28435, align 4, !tbaa !5
  %28437 = call ptr @s2n_strerror_debug(i32 noundef %28436, ptr noundef @.str.25)
  %28438 = call ptr @__errno_location() #12
  %28439 = load i32, ptr %28438, align 4, !tbaa !5
  %28440 = call ptr @strerror(i32 noundef %28439) #11
  %28441 = call ptr @__errno_location() #12
  %28442 = load i32, ptr %28441, align 4, !tbaa !5
  %28443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28430, ptr noundef @.str.26, i32 noundef %28431, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1311, ptr noundef %28434, ptr noundef %28437, ptr noundef %28440, i32 noundef %28442) #11
  br label %28444

28444:                                            ; preds = %28427, %28410
  call void @llvm.lifetime.end.p0(i64 4, ptr %696) #11
  br label %28445

28445:                                            ; preds = %28444
  br label %28446

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

28447:                                            ; No predecessors!
  br label %28448

28448:                                            ; preds = %28447
  br label %28449

28449:                                            ; preds = %28448, %28391
  br label %28450

28450:                                            ; preds = %28449
  br label %28451

28451:                                            ; preds = %28450
  br label %28452

28452:                                            ; preds = %28451
  %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 = load ptr, ptr %695, align 8, !tbaa !9
  %28456 = load ptr, ptr %690, align 8, !tbaa !9
  %28457 = call i32 @s2n_connection_set_config(ptr noundef %28455, ptr noundef %28456)
  %28458 = icmp eq i32 %28457, -1
  br i1 %28458, label %28459, label %28512

28459:                                            ; preds = %28452
  br label %28460

28460:                                            ; preds = %28459
  br label %28461

28461:                                            ; preds = %28460
  call void @llvm.lifetime.start.p0(i64 4, ptr %697) #11
  %28462 = call ptr @__errno_location() #12
  %28463 = load i32, ptr %28462, align 4, !tbaa !5
  store i32 %28463, ptr %697, align 4, !tbaa !5
  %28464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28465 = call i32 @s2n_print_stacktrace(ptr noundef %28464)
  %28466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28467 = trunc i8 %28466 to i1
  br i1 %28467, label %28468, label %28490

28468:                                            ; preds = %28461
  %28469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28470 = call i32 @fileno(ptr noundef %28469) #11
  %28471 = call i32 @isatty(i32 noundef %28470) #11
  %28472 = icmp ne i32 %28471, 0
  br i1 %28472, label %28473, label %28490

28473:                                            ; preds = %28468
  %28474 = load i32, ptr %697, align 4, !tbaa !5
  %28475 = call ptr @__errno_location() #12
  store i32 %28474, ptr %28475, align 4, !tbaa !5
  %28476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28477 = load i32, ptr @test_count, align 4, !tbaa !5
  %28478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28479 = load i32, ptr %28478, align 4, !tbaa !5
  %28480 = call ptr @s2n_strerror(i32 noundef %28479, ptr noundef @.str.25)
  %28481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28482 = load i32, ptr %28481, align 4, !tbaa !5
  %28483 = call ptr @s2n_strerror_debug(i32 noundef %28482, ptr noundef @.str.25)
  %28484 = call ptr @__errno_location() #12
  %28485 = load i32, ptr %28484, align 4, !tbaa !5
  %28486 = call ptr @strerror(i32 noundef %28485) #11
  %28487 = call ptr @__errno_location() #12
  %28488 = load i32, ptr %28487, align 4, !tbaa !5
  %28489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28476, ptr noundef @.str.23, i32 noundef %28477, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1312, ptr noundef %28480, ptr noundef %28483, ptr noundef %28486, i32 noundef %28488) #11
  br label %28507

28490:                                            ; preds = %28468, %28461
  %28491 = load i32, ptr %697, align 4, !tbaa !5
  %28492 = call ptr @__errno_location() #12
  store i32 %28491, ptr %28492, align 4, !tbaa !5
  %28493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28494 = load i32, ptr @test_count, align 4, !tbaa !5
  %28495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28496 = load i32, ptr %28495, align 4, !tbaa !5
  %28497 = call ptr @s2n_strerror(i32 noundef %28496, ptr noundef @.str.25)
  %28498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28499 = load i32, ptr %28498, align 4, !tbaa !5
  %28500 = call ptr @s2n_strerror_debug(i32 noundef %28499, ptr noundef @.str.25)
  %28501 = call ptr @__errno_location() #12
  %28502 = load i32, ptr %28501, align 4, !tbaa !5
  %28503 = call ptr @strerror(i32 noundef %28502) #11
  %28504 = call ptr @__errno_location() #12
  %28505 = load i32, ptr %28504, align 4, !tbaa !5
  %28506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28493, ptr noundef @.str.26, i32 noundef %28494, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1312, ptr noundef %28497, ptr noundef %28500, ptr noundef %28503, i32 noundef %28505) #11
  br label %28507

28507:                                            ; preds = %28490, %28473
  call void @llvm.lifetime.end.p0(i64 4, ptr %697) #11
  br label %28508

28508:                                            ; preds = %28507
  br label %28509

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

28510:                                            ; No predecessors!
  br label %28511

28511:                                            ; preds = %28510
  br label %28512

28512:                                            ; preds = %28511, %28452
  br label %28513

28513:                                            ; preds = %28512
  br label %28514

28514:                                            ; preds = %28513
  %28515 = load ptr, ptr %695, align 8, !tbaa !9
  %28516 = getelementptr inbounds %struct.s2n_connection, ptr %28515, i32 0, i32 23
  store i8 34, ptr %28516, align 4, !tbaa !17
  %28517 = load ptr, ptr %695, align 8, !tbaa !9
  %28518 = getelementptr inbounds %struct.s2n_connection, ptr %28517, i32 0, i32 27
  %28519 = load ptr, ptr %28518, align 8, !tbaa !43
  %28520 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %28519, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %28520, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr %698) #11
  call void @llvm.memset.p0.i64(ptr align 8 %698, i8 0, i64 40, i1 false)
  br label %28521

28521:                                            ; preds = %28514
  %28522 = load i32, ptr @test_count, align 4, !tbaa !5
  %28523 = add nsw i32 %28522, 1
  store i32 %28523, ptr @test_count, align 4, !tbaa !5
  %28524 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %698, i32 noundef 0)
  %28525 = icmp eq i32 %28524, -1
  br i1 %28525, label %28526, label %28579

28526:                                            ; preds = %28521
  br label %28527

28527:                                            ; preds = %28526
  br label %28528

28528:                                            ; preds = %28527
  call void @llvm.lifetime.start.p0(i64 4, ptr %699) #11
  %28529 = call ptr @__errno_location() #12
  %28530 = load i32, ptr %28529, align 4, !tbaa !5
  store i32 %28530, ptr %699, align 4, !tbaa !5
  %28531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28532 = call i32 @s2n_print_stacktrace(ptr noundef %28531)
  %28533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28534 = trunc i8 %28533 to i1
  br i1 %28534, label %28535, label %28557

28535:                                            ; preds = %28528
  %28536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28537 = call i32 @fileno(ptr noundef %28536) #11
  %28538 = call i32 @isatty(i32 noundef %28537) #11
  %28539 = icmp ne i32 %28538, 0
  br i1 %28539, label %28540, label %28557

28540:                                            ; preds = %28535
  %28541 = load i32, ptr %699, align 4, !tbaa !5
  %28542 = call ptr @__errno_location() #12
  store i32 %28541, ptr %28542, align 4, !tbaa !5
  %28543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28544 = load i32, ptr @test_count, align 4, !tbaa !5
  %28545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28546 = load i32, ptr %28545, align 4, !tbaa !5
  %28547 = call ptr @s2n_strerror(i32 noundef %28546, ptr noundef @.str.25)
  %28548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28549 = load i32, ptr %28548, align 4, !tbaa !5
  %28550 = call ptr @s2n_strerror_debug(i32 noundef %28549, ptr noundef @.str.25)
  %28551 = call ptr @__errno_location() #12
  %28552 = load i32, ptr %28551, align 4, !tbaa !5
  %28553 = call ptr @strerror(i32 noundef %28552) #11
  %28554 = call ptr @__errno_location() #12
  %28555 = load i32, ptr %28554, align 4, !tbaa !5
  %28556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28543, ptr noundef @.str.23, i32 noundef %28544, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1318, ptr noundef %28547, ptr noundef %28550, ptr noundef %28553, i32 noundef %28555) #11
  br label %28574

28557:                                            ; preds = %28535, %28528
  %28558 = load i32, ptr %699, align 4, !tbaa !5
  %28559 = call ptr @__errno_location() #12
  store i32 %28558, ptr %28559, align 4, !tbaa !5
  %28560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28561 = load i32, ptr @test_count, align 4, !tbaa !5
  %28562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28563 = load i32, ptr %28562, align 4, !tbaa !5
  %28564 = call ptr @s2n_strerror(i32 noundef %28563, ptr noundef @.str.25)
  %28565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28566 = load i32, ptr %28565, align 4, !tbaa !5
  %28567 = call ptr @s2n_strerror_debug(i32 noundef %28566, ptr noundef @.str.25)
  %28568 = call ptr @__errno_location() #12
  %28569 = load i32, ptr %28568, align 4, !tbaa !5
  %28570 = call ptr @strerror(i32 noundef %28569) #11
  %28571 = call ptr @__errno_location() #12
  %28572 = load i32, ptr %28571, align 4, !tbaa !5
  %28573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28560, ptr noundef @.str.26, i32 noundef %28561, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1318, ptr noundef %28564, ptr noundef %28567, ptr noundef %28570, i32 noundef %28572) #11
  br label %28574

28574:                                            ; preds = %28557, %28540
  call void @llvm.lifetime.end.p0(i64 4, ptr %699) #11
  br label %28575

28575:                                            ; preds = %28574
  br label %28576

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

28577:                                            ; No predecessors!
  br label %28578

28578:                                            ; preds = %28577
  br label %28579

28579:                                            ; preds = %28578, %28521
  br label %28580

28580:                                            ; preds = %28579
  br label %28581

28581:                                            ; preds = %28580
  br label %28582

28582:                                            ; preds = %28581
  %28583 = load i32, ptr @test_count, align 4, !tbaa !5
  %28584 = add nsw i32 %28583, 1
  store i32 %28584, ptr @test_count, align 4, !tbaa !5
  %28585 = load ptr, ptr %695, align 8, !tbaa !9
  %28586 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %698, ptr noundef %698, ptr noundef %28585)
  %28587 = icmp eq i32 %28586, -1
  br i1 %28587, label %28588, label %28641

28588:                                            ; preds = %28582
  br label %28589

28589:                                            ; preds = %28588
  br label %28590

28590:                                            ; preds = %28589
  call void @llvm.lifetime.start.p0(i64 4, ptr %700) #11
  %28591 = call ptr @__errno_location() #12
  %28592 = load i32, ptr %28591, align 4, !tbaa !5
  store i32 %28592, ptr %700, align 4, !tbaa !5
  %28593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28594 = call i32 @s2n_print_stacktrace(ptr noundef %28593)
  %28595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28596 = trunc i8 %28595 to i1
  br i1 %28596, label %28597, label %28619

28597:                                            ; preds = %28590
  %28598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28599 = call i32 @fileno(ptr noundef %28598) #11
  %28600 = call i32 @isatty(i32 noundef %28599) #11
  %28601 = icmp ne i32 %28600, 0
  br i1 %28601, label %28602, label %28619

28602:                                            ; preds = %28597
  %28603 = load i32, ptr %700, align 4, !tbaa !5
  %28604 = call ptr @__errno_location() #12
  store i32 %28603, ptr %28604, align 4, !tbaa !5
  %28605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28606 = load i32, ptr @test_count, align 4, !tbaa !5
  %28607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28608 = load i32, ptr %28607, align 4, !tbaa !5
  %28609 = call ptr @s2n_strerror(i32 noundef %28608, ptr noundef @.str.25)
  %28610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28611 = load i32, ptr %28610, align 4, !tbaa !5
  %28612 = call ptr @s2n_strerror_debug(i32 noundef %28611, ptr noundef @.str.25)
  %28613 = call ptr @__errno_location() #12
  %28614 = load i32, ptr %28613, align 4, !tbaa !5
  %28615 = call ptr @strerror(i32 noundef %28614) #11
  %28616 = call ptr @__errno_location() #12
  %28617 = load i32, ptr %28616, align 4, !tbaa !5
  %28618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28605, ptr noundef @.str.23, i32 noundef %28606, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1319, ptr noundef %28609, ptr noundef %28612, ptr noundef %28615, i32 noundef %28617) #11
  br label %28636

28619:                                            ; preds = %28597, %28590
  %28620 = load i32, ptr %700, align 4, !tbaa !5
  %28621 = call ptr @__errno_location() #12
  store i32 %28620, ptr %28621, align 4, !tbaa !5
  %28622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28623 = load i32, ptr @test_count, align 4, !tbaa !5
  %28624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28625 = load i32, ptr %28624, align 4, !tbaa !5
  %28626 = call ptr @s2n_strerror(i32 noundef %28625, ptr noundef @.str.25)
  %28627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28628 = load i32, ptr %28627, align 4, !tbaa !5
  %28629 = call ptr @s2n_strerror_debug(i32 noundef %28628, ptr noundef @.str.25)
  %28630 = call ptr @__errno_location() #12
  %28631 = load i32, ptr %28630, align 4, !tbaa !5
  %28632 = call ptr @strerror(i32 noundef %28631) #11
  %28633 = call ptr @__errno_location() #12
  %28634 = load i32, ptr %28633, align 4, !tbaa !5
  %28635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28622, ptr noundef @.str.26, i32 noundef %28623, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1319, ptr noundef %28626, ptr noundef %28629, ptr noundef %28632, i32 noundef %28634) #11
  br label %28636

28636:                                            ; preds = %28619, %28602
  call void @llvm.lifetime.end.p0(i64 4, ptr %700) #11
  br label %28637

28637:                                            ; preds = %28636
  br label %28638

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

28639:                                            ; No predecessors!
  br label %28640

28640:                                            ; preds = %28639
  br label %28641

28641:                                            ; preds = %28640, %28582
  br label %28642

28642:                                            ; preds = %28641
  br label %28643

28643:                                            ; preds = %28642
  call void @llvm.lifetime.start.p0(i64 4, ptr %701) #11
  store i32 0, ptr %701, align 4, !tbaa !5
  br label %28644

28644:                                            ; preds = %28643
  %28645 = load i32, ptr @test_count, align 4, !tbaa !5
  %28646 = add nsw i32 %28645, 1
  store i32 %28646, ptr @test_count, align 4, !tbaa !5
  %28647 = load ptr, ptr %695, align 8, !tbaa !9
  %28648 = call i32 @s2n_tls13_server_nst_send(ptr noundef %28647, ptr noundef %701)
  %28649 = getelementptr inbounds %struct.s2n_result, ptr %702, i32 0, i32 0
  store i32 %28648, ptr %28649, align 4
  %28650 = getelementptr inbounds %struct.s2n_result, ptr %702, i32 0, i32 0
  %28651 = load i32, ptr %28650, align 4
  %28652 = call zeroext i1 @s2n_result_is_ok(i32 %28651)
  br i1 %28652, label %28706, label %28653

28653:                                            ; preds = %28644
  br label %28654

28654:                                            ; preds = %28653
  br label %28655

28655:                                            ; preds = %28654
  call void @llvm.lifetime.start.p0(i64 4, ptr %703) #11
  %28656 = call ptr @__errno_location() #12
  %28657 = load i32, ptr %28656, align 4, !tbaa !5
  store i32 %28657, ptr %703, align 4, !tbaa !5
  %28658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28659 = call i32 @s2n_print_stacktrace(ptr noundef %28658)
  %28660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28661 = trunc i8 %28660 to i1
  br i1 %28661, label %28662, label %28684

28662:                                            ; preds = %28655
  %28663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28664 = call i32 @fileno(ptr noundef %28663) #11
  %28665 = call i32 @isatty(i32 noundef %28664) #11
  %28666 = icmp ne i32 %28665, 0
  br i1 %28666, label %28667, label %28684

28667:                                            ; preds = %28662
  %28668 = load i32, ptr %703, align 4, !tbaa !5
  %28669 = call ptr @__errno_location() #12
  store i32 %28668, ptr %28669, align 4, !tbaa !5
  %28670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28671 = load i32, ptr @test_count, align 4, !tbaa !5
  %28672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28673 = load i32, ptr %28672, align 4, !tbaa !5
  %28674 = call ptr @s2n_strerror(i32 noundef %28673, ptr noundef @.str.25)
  %28675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28676 = load i32, ptr %28675, align 4, !tbaa !5
  %28677 = call ptr @s2n_strerror_debug(i32 noundef %28676, ptr noundef @.str.25)
  %28678 = call ptr @__errno_location() #12
  %28679 = load i32, ptr %28678, align 4, !tbaa !5
  %28680 = call ptr @strerror(i32 noundef %28679) #11
  %28681 = call ptr @__errno_location() #12
  %28682 = load i32, ptr %28681, align 4, !tbaa !5
  %28683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28670, ptr noundef @.str.23, i32 noundef %28671, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1322, ptr noundef %28674, ptr noundef %28677, ptr noundef %28680, i32 noundef %28682) #11
  br label %28701

28684:                                            ; preds = %28662, %28655
  %28685 = load i32, ptr %703, align 4, !tbaa !5
  %28686 = call ptr @__errno_location() #12
  store i32 %28685, ptr %28686, align 4, !tbaa !5
  %28687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28688 = load i32, ptr @test_count, align 4, !tbaa !5
  %28689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28690 = load i32, ptr %28689, align 4, !tbaa !5
  %28691 = call ptr @s2n_strerror(i32 noundef %28690, ptr noundef @.str.25)
  %28692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28693 = load i32, ptr %28692, align 4, !tbaa !5
  %28694 = call ptr @s2n_strerror_debug(i32 noundef %28693, ptr noundef @.str.25)
  %28695 = call ptr @__errno_location() #12
  %28696 = load i32, ptr %28695, align 4, !tbaa !5
  %28697 = call ptr @strerror(i32 noundef %28696) #11
  %28698 = call ptr @__errno_location() #12
  %28699 = load i32, ptr %28698, align 4, !tbaa !5
  %28700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28687, ptr noundef @.str.26, i32 noundef %28688, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1322, ptr noundef %28691, ptr noundef %28694, ptr noundef %28697, i32 noundef %28699) #11
  br label %28701

28701:                                            ; preds = %28684, %28667
  call void @llvm.lifetime.end.p0(i64 4, ptr %703) #11
  br label %28702

28702:                                            ; preds = %28701
  br label %28703

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

28704:                                            ; No predecessors!
  br label %28705

28705:                                            ; preds = %28704
  br label %28706

28706:                                            ; preds = %28705, %28644
  br label %28707

28707:                                            ; preds = %28706
  br label %28708

28708:                                            ; preds = %28707
  br label %28709

28709:                                            ; preds = %28708
  %28710 = load i32, ptr @test_count, align 4, !tbaa !5
  %28711 = add nsw i32 %28710, 1
  store i32 %28711, ptr @test_count, align 4, !tbaa !5
  %28712 = load ptr, ptr %695, align 8, !tbaa !9
  %28713 = call i32 @s2n_assert_tickets_sent(ptr noundef %28712, i16 noundef zeroext 1)
  %28714 = getelementptr inbounds %struct.s2n_result, ptr %704, i32 0, i32 0
  store i32 %28713, ptr %28714, align 4
  %28715 = getelementptr inbounds %struct.s2n_result, ptr %704, i32 0, i32 0
  %28716 = load i32, ptr %28715, align 4
  %28717 = call zeroext i1 @s2n_result_is_ok(i32 %28716)
  br i1 %28717, label %28771, label %28718

28718:                                            ; preds = %28709
  br label %28719

28719:                                            ; preds = %28718
  br label %28720

28720:                                            ; preds = %28719
  call void @llvm.lifetime.start.p0(i64 4, ptr %705) #11
  %28721 = call ptr @__errno_location() #12
  %28722 = load i32, ptr %28721, align 4, !tbaa !5
  store i32 %28722, ptr %705, align 4, !tbaa !5
  %28723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28724 = call i32 @s2n_print_stacktrace(ptr noundef %28723)
  %28725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28726 = trunc i8 %28725 to i1
  br i1 %28726, label %28727, label %28749

28727:                                            ; preds = %28720
  %28728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28729 = call i32 @fileno(ptr noundef %28728) #11
  %28730 = call i32 @isatty(i32 noundef %28729) #11
  %28731 = icmp ne i32 %28730, 0
  br i1 %28731, label %28732, label %28749

28732:                                            ; preds = %28727
  %28733 = load i32, ptr %705, align 4, !tbaa !5
  %28734 = call ptr @__errno_location() #12
  store i32 %28733, ptr %28734, align 4, !tbaa !5
  %28735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28736 = load i32, ptr @test_count, align 4, !tbaa !5
  %28737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28738 = load i32, ptr %28737, align 4, !tbaa !5
  %28739 = call ptr @s2n_strerror(i32 noundef %28738, ptr noundef @.str.25)
  %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_debug(i32 noundef %28741, ptr noundef @.str.25)
  %28743 = call ptr @__errno_location() #12
  %28744 = load i32, ptr %28743, align 4, !tbaa !5
  %28745 = call ptr @strerror(i32 noundef %28744) #11
  %28746 = call ptr @__errno_location() #12
  %28747 = load i32, ptr %28746, align 4, !tbaa !5
  %28748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28735, ptr noundef @.str.23, i32 noundef %28736, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 1323, ptr noundef %28739, ptr noundef %28742, ptr noundef %28745, i32 noundef %28747) #11
  br label %28766

28749:                                            ; preds = %28727, %28720
  %28750 = load i32, ptr %705, align 4, !tbaa !5
  %28751 = call ptr @__errno_location() #12
  store i32 %28750, ptr %28751, align 4, !tbaa !5
  %28752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28753 = load i32, ptr @test_count, align 4, !tbaa !5
  %28754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28755 = load i32, ptr %28754, align 4, !tbaa !5
  %28756 = call ptr @s2n_strerror(i32 noundef %28755, ptr noundef @.str.25)
  %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_debug(i32 noundef %28758, ptr noundef @.str.25)
  %28760 = call ptr @__errno_location() #12
  %28761 = load i32, ptr %28760, align 4, !tbaa !5
  %28762 = call ptr @strerror(i32 noundef %28761) #11
  %28763 = call ptr @__errno_location() #12
  %28764 = load i32, ptr %28763, align 4, !tbaa !5
  %28765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28752, ptr noundef @.str.26, i32 noundef %28753, ptr noundef @.str.156, ptr noundef @.str.22, i32 noundef 1323, ptr noundef %28756, ptr noundef %28759, ptr noundef %28762, i32 noundef %28764) #11
  br label %28766

28766:                                            ; preds = %28749, %28732
  call void @llvm.lifetime.end.p0(i64 4, ptr %705) #11
  br label %28767

28767:                                            ; preds = %28766
  br label %28768

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

28769:                                            ; No predecessors!
  br label %28770

28770:                                            ; preds = %28769
  br label %28771

28771:                                            ; preds = %28770, %28709
  br label %28772

28772:                                            ; preds = %28771
  br label %28773

28773:                                            ; preds = %28772
  br label %28774

28774:                                            ; preds = %28773
  %28775 = load i32, ptr @test_count, align 4, !tbaa !5
  %28776 = add nsw i32 %28775, 1
  store i32 %28776, ptr @test_count, align 4, !tbaa !5
  %28777 = getelementptr inbounds %struct.s2n_stuffer, ptr %698, i32 0, i32 2
  %28778 = load i32, ptr %28777, align 4, !tbaa !52
  %28779 = getelementptr inbounds %struct.s2n_stuffer, ptr %698, i32 0, i32 1
  %28780 = load i32, ptr %28779, align 8, !tbaa !53
  %28781 = sub i32 %28778, %28780
  %28782 = icmp eq i32 0, %28781
  br i1 %28782, label %28783, label %28836

28783:                                            ; preds = %28774
  br label %28784

28784:                                            ; preds = %28783
  br label %28785

28785:                                            ; preds = %28784
  call void @llvm.lifetime.start.p0(i64 4, ptr %706) #11
  %28786 = call ptr @__errno_location() #12
  %28787 = load i32, ptr %28786, align 4, !tbaa !5
  store i32 %28787, ptr %706, 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 %706, 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.25)
  %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.25)
  %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.23, i32 noundef %28801, ptr noundef @.str.194, ptr noundef @.str.22, i32 noundef 1324, ptr noundef %28804, ptr noundef %28807, ptr noundef %28810, i32 noundef %28812) #11
  br label %28831

28814:                                            ; preds = %28792, %28785
  %28815 = load i32, ptr %706, 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.25)
  %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.25)
  %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.26, i32 noundef %28818, ptr noundef @.str.194, ptr noundef @.str.22, i32 noundef 1324, 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 %706) #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, %28774
  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 i32 @s2n_stuffer_free(ptr noundef %698)
  %28843 = icmp eq i32 %28842, -1
  br i1 %28843, label %28844, label %28897

28844:                                            ; preds = %28839
  br label %28845

28845:                                            ; preds = %28844
  br label %28846

28846:                                            ; preds = %28845
  call void @llvm.lifetime.start.p0(i64 4, ptr %707) #11
  %28847 = call ptr @__errno_location() #12
  %28848 = load i32, ptr %28847, align 4, !tbaa !5
  store i32 %28848, ptr %707, align 4, !tbaa !5
  %28849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28850 = call i32 @s2n_print_stacktrace(ptr noundef %28849)
  %28851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28852 = trunc i8 %28851 to i1
  br i1 %28852, label %28853, label %28875

28853:                                            ; preds = %28846
  %28854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28855 = call i32 @fileno(ptr noundef %28854) #11
  %28856 = call i32 @isatty(i32 noundef %28855) #11
  %28857 = icmp ne i32 %28856, 0
  br i1 %28857, label %28858, label %28875

28858:                                            ; preds = %28853
  %28859 = load i32, ptr %707, align 4, !tbaa !5
  %28860 = call ptr @__errno_location() #12
  store i32 %28859, ptr %28860, align 4, !tbaa !5
  %28861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28862 = load i32, ptr @test_count, align 4, !tbaa !5
  %28863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28864 = load i32, ptr %28863, align 4, !tbaa !5
  %28865 = call ptr @s2n_strerror(i32 noundef %28864, ptr noundef @.str.25)
  %28866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28867 = load i32, ptr %28866, align 4, !tbaa !5
  %28868 = call ptr @s2n_strerror_debug(i32 noundef %28867, ptr noundef @.str.25)
  %28869 = call ptr @__errno_location() #12
  %28870 = load i32, ptr %28869, align 4, !tbaa !5
  %28871 = call ptr @strerror(i32 noundef %28870) #11
  %28872 = call ptr @__errno_location() #12
  %28873 = load i32, ptr %28872, align 4, !tbaa !5
  %28874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28861, ptr noundef @.str.23, i32 noundef %28862, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1326, ptr noundef %28865, ptr noundef %28868, ptr noundef %28871, i32 noundef %28873) #11
  br label %28892

28875:                                            ; preds = %28853, %28846
  %28876 = load i32, ptr %707, align 4, !tbaa !5
  %28877 = call ptr @__errno_location() #12
  store i32 %28876, ptr %28877, align 4, !tbaa !5
  %28878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28879 = load i32, ptr @test_count, align 4, !tbaa !5
  %28880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28881 = load i32, ptr %28880, align 4, !tbaa !5
  %28882 = call ptr @s2n_strerror(i32 noundef %28881, ptr noundef @.str.25)
  %28883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28884 = load i32, ptr %28883, align 4, !tbaa !5
  %28885 = call ptr @s2n_strerror_debug(i32 noundef %28884, ptr noundef @.str.25)
  %28886 = call ptr @__errno_location() #12
  %28887 = load i32, ptr %28886, align 4, !tbaa !5
  %28888 = call ptr @strerror(i32 noundef %28887) #11
  %28889 = call ptr @__errno_location() #12
  %28890 = load i32, ptr %28889, align 4, !tbaa !5
  %28891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28878, ptr noundef @.str.26, i32 noundef %28879, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1326, ptr noundef %28882, ptr noundef %28885, ptr noundef %28888, i32 noundef %28890) #11
  br label %28892

28892:                                            ; preds = %28875, %28858
  call void @llvm.lifetime.end.p0(i64 4, ptr %707) #11
  br label %28893

28893:                                            ; preds = %28892
  br label %28894

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

28895:                                            ; No predecessors!
  br label %28896

28896:                                            ; preds = %28895
  br label %28897

28897:                                            ; preds = %28896, %28839
  br label %28898

28898:                                            ; preds = %28897
  br label %28899

28899:                                            ; preds = %28898
  br label %28900

28900:                                            ; preds = %28899
  %28901 = load i32, ptr @test_count, align 4, !tbaa !5
  %28902 = add nsw i32 %28901, 1
  store i32 %28902, ptr @test_count, align 4, !tbaa !5
  %28903 = load ptr, ptr %695, align 8, !tbaa !9
  %28904 = call i32 @s2n_connection_free(ptr noundef %28903)
  %28905 = icmp eq i32 %28904, -1
  br i1 %28905, label %28906, label %28959

28906:                                            ; preds = %28900
  br label %28907

28907:                                            ; preds = %28906
  br label %28908

28908:                                            ; preds = %28907
  call void @llvm.lifetime.start.p0(i64 4, ptr %708) #11
  %28909 = call ptr @__errno_location() #12
  %28910 = load i32, ptr %28909, align 4, !tbaa !5
  store i32 %28910, ptr %708, align 4, !tbaa !5
  %28911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28912 = call i32 @s2n_print_stacktrace(ptr noundef %28911)
  %28913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28914 = trunc i8 %28913 to i1
  br i1 %28914, label %28915, label %28937

28915:                                            ; preds = %28908
  %28916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28917 = call i32 @fileno(ptr noundef %28916) #11
  %28918 = call i32 @isatty(i32 noundef %28917) #11
  %28919 = icmp ne i32 %28918, 0
  br i1 %28919, label %28920, label %28937

28920:                                            ; preds = %28915
  %28921 = load i32, ptr %708, align 4, !tbaa !5
  %28922 = call ptr @__errno_location() #12
  store i32 %28921, ptr %28922, align 4, !tbaa !5
  %28923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28924 = load i32, ptr @test_count, align 4, !tbaa !5
  %28925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28926 = load i32, ptr %28925, align 4, !tbaa !5
  %28927 = call ptr @s2n_strerror(i32 noundef %28926, ptr noundef @.str.25)
  %28928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28929 = load i32, ptr %28928, align 4, !tbaa !5
  %28930 = call ptr @s2n_strerror_debug(i32 noundef %28929, ptr noundef @.str.25)
  %28931 = call ptr @__errno_location() #12
  %28932 = load i32, ptr %28931, align 4, !tbaa !5
  %28933 = call ptr @strerror(i32 noundef %28932) #11
  %28934 = call ptr @__errno_location() #12
  %28935 = load i32, ptr %28934, align 4, !tbaa !5
  %28936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28923, ptr noundef @.str.23, i32 noundef %28924, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1327, ptr noundef %28927, ptr noundef %28930, ptr noundef %28933, i32 noundef %28935) #11
  br label %28954

28937:                                            ; preds = %28915, %28908
  %28938 = load i32, ptr %708, align 4, !tbaa !5
  %28939 = call ptr @__errno_location() #12
  store i32 %28938, ptr %28939, align 4, !tbaa !5
  %28940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28941 = load i32, ptr @test_count, align 4, !tbaa !5
  %28942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28943 = load i32, ptr %28942, align 4, !tbaa !5
  %28944 = call ptr @s2n_strerror(i32 noundef %28943, ptr noundef @.str.25)
  %28945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28946 = load i32, ptr %28945, align 4, !tbaa !5
  %28947 = call ptr @s2n_strerror_debug(i32 noundef %28946, ptr noundef @.str.25)
  %28948 = call ptr @__errno_location() #12
  %28949 = load i32, ptr %28948, align 4, !tbaa !5
  %28950 = call ptr @strerror(i32 noundef %28949) #11
  %28951 = call ptr @__errno_location() #12
  %28952 = load i32, ptr %28951, align 4, !tbaa !5
  %28953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28940, ptr noundef @.str.26, i32 noundef %28941, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1327, ptr noundef %28944, ptr noundef %28947, ptr noundef %28950, i32 noundef %28952) #11
  br label %28954

28954:                                            ; preds = %28937, %28920
  call void @llvm.lifetime.end.p0(i64 4, ptr %708) #11
  br label %28955

28955:                                            ; preds = %28954
  br label %28956

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

28957:                                            ; No predecessors!
  br label %28958

28958:                                            ; preds = %28957
  br label %28959

28959:                                            ; preds = %28958, %28900
  br label %28960

28960:                                            ; preds = %28959
  br label %28961

28961:                                            ; preds = %28960
  br label %28962

28962:                                            ; preds = %28961
  %28963 = load i32, ptr @test_count, align 4, !tbaa !5
  %28964 = add nsw i32 %28963, 1
  store i32 %28964, ptr @test_count, align 4, !tbaa !5
  %28965 = load ptr, ptr %690, align 8, !tbaa !9
  %28966 = call i32 @s2n_config_free(ptr noundef %28965)
  %28967 = icmp eq i32 %28966, -1
  br i1 %28967, label %28968, label %29021

28968:                                            ; preds = %28962
  br label %28969

28969:                                            ; preds = %28968
  br label %28970

28970:                                            ; preds = %28969
  call void @llvm.lifetime.start.p0(i64 4, ptr %709) #11
  %28971 = call ptr @__errno_location() #12
  %28972 = load i32, ptr %28971, align 4, !tbaa !5
  store i32 %28972, ptr %709, align 4, !tbaa !5
  %28973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28974 = call i32 @s2n_print_stacktrace(ptr noundef %28973)
  %28975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28976 = trunc i8 %28975 to i1
  br i1 %28976, label %28977, label %28999

28977:                                            ; preds = %28970
  %28978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28979 = call i32 @fileno(ptr noundef %28978) #11
  %28980 = call i32 @isatty(i32 noundef %28979) #11
  %28981 = icmp ne i32 %28980, 0
  br i1 %28981, label %28982, label %28999

28982:                                            ; preds = %28977
  %28983 = load i32, ptr %709, align 4, !tbaa !5
  %28984 = call ptr @__errno_location() #12
  store i32 %28983, ptr %28984, align 4, !tbaa !5
  %28985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28986 = load i32, ptr @test_count, align 4, !tbaa !5
  %28987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28988 = load i32, ptr %28987, align 4, !tbaa !5
  %28989 = call ptr @s2n_strerror(i32 noundef %28988, ptr noundef @.str.25)
  %28990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28991 = load i32, ptr %28990, align 4, !tbaa !5
  %28992 = call ptr @s2n_strerror_debug(i32 noundef %28991, ptr noundef @.str.25)
  %28993 = call ptr @__errno_location() #12
  %28994 = load i32, ptr %28993, align 4, !tbaa !5
  %28995 = call ptr @strerror(i32 noundef %28994) #11
  %28996 = call ptr @__errno_location() #12
  %28997 = load i32, ptr %28996, align 4, !tbaa !5
  %28998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28985, ptr noundef @.str.23, i32 noundef %28986, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1328, ptr noundef %28989, ptr noundef %28992, ptr noundef %28995, i32 noundef %28997) #11
  br label %29016

28999:                                            ; preds = %28977, %28970
  %29000 = load i32, ptr %709, align 4, !tbaa !5
  %29001 = call ptr @__errno_location() #12
  store i32 %29000, ptr %29001, align 4, !tbaa !5
  %29002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29003 = load i32, ptr @test_count, align 4, !tbaa !5
  %29004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29005 = load i32, ptr %29004, align 4, !tbaa !5
  %29006 = call ptr @s2n_strerror(i32 noundef %29005, ptr noundef @.str.25)
  %29007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29008 = load i32, ptr %29007, align 4, !tbaa !5
  %29009 = call ptr @s2n_strerror_debug(i32 noundef %29008, ptr noundef @.str.25)
  %29010 = call ptr @__errno_location() #12
  %29011 = load i32, ptr %29010, align 4, !tbaa !5
  %29012 = call ptr @strerror(i32 noundef %29011) #11
  %29013 = call ptr @__errno_location() #12
  %29014 = load i32, ptr %29013, align 4, !tbaa !5
  %29015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29002, ptr noundef @.str.26, i32 noundef %29003, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1328, ptr noundef %29006, ptr noundef %29009, ptr noundef %29012, i32 noundef %29014) #11
  br label %29016

29016:                                            ; preds = %28999, %28982
  call void @llvm.lifetime.end.p0(i64 4, ptr %709) #11
  br label %29017

29017:                                            ; preds = %29016
  br label %29018

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

29019:                                            ; No predecessors!
  br label %29020

29020:                                            ; preds = %29019
  br label %29021

29021:                                            ; preds = %29020, %28962
  br label %29022

29022:                                            ; preds = %29021
  br label %29023

29023:                                            ; preds = %29022
  call void @llvm.lifetime.end.p0(i64 4, ptr %701) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %698) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %695) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %690) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %689) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %688) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %710) #11
  store ptr null, ptr %710, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %711) #11
  store ptr null, ptr %711, align 8, !tbaa !9
  br label %29024

29024:                                            ; preds = %29023
  %29025 = load i32, ptr @test_count, align 4, !tbaa !5
  %29026 = add nsw i32 %29025, 1
  store i32 %29026, ptr @test_count, align 4, !tbaa !5
  %29027 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %29027, ptr %711, align 8, !tbaa !9
  %29028 = icmp eq ptr %29027, null
  br i1 %29028, label %29029, label %29082

29029:                                            ; preds = %29024
  br label %29030

29030:                                            ; preds = %29029
  br label %29031

29031:                                            ; preds = %29030
  call void @llvm.lifetime.start.p0(i64 4, ptr %712) #11
  %29032 = call ptr @__errno_location() #12
  %29033 = load i32, ptr %29032, align 4, !tbaa !5
  store i32 %29033, ptr %712, align 4, !tbaa !5
  %29034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29035 = call i32 @s2n_print_stacktrace(ptr noundef %29034)
  %29036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29037 = trunc i8 %29036 to i1
  br i1 %29037, label %29038, label %29060

29038:                                            ; preds = %29031
  %29039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29040 = call i32 @fileno(ptr noundef %29039) #11
  %29041 = call i32 @isatty(i32 noundef %29040) #11
  %29042 = icmp ne i32 %29041, 0
  br i1 %29042, label %29043, label %29060

29043:                                            ; preds = %29038
  %29044 = load i32, ptr %712, align 4, !tbaa !5
  %29045 = call ptr @__errno_location() #12
  store i32 %29044, ptr %29045, align 4, !tbaa !5
  %29046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29047 = load i32, ptr @test_count, align 4, !tbaa !5
  %29048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29049 = load i32, ptr %29048, align 4, !tbaa !5
  %29050 = call ptr @s2n_strerror(i32 noundef %29049, ptr noundef @.str.25)
  %29051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29052 = load i32, ptr %29051, align 4, !tbaa !5
  %29053 = call ptr @s2n_strerror_debug(i32 noundef %29052, ptr noundef @.str.25)
  %29054 = call ptr @__errno_location() #12
  %29055 = load i32, ptr %29054, align 4, !tbaa !5
  %29056 = call ptr @strerror(i32 noundef %29055) #11
  %29057 = call ptr @__errno_location() #12
  %29058 = load i32, ptr %29057, align 4, !tbaa !5
  %29059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29046, ptr noundef @.str.23, i32 noundef %29047, ptr noundef @.str.29, ptr noundef @.str.22, i32 noundef 1335, ptr noundef %29050, ptr noundef %29053, ptr noundef %29056, i32 noundef %29058) #11
  br label %29077

29060:                                            ; preds = %29038, %29031
  %29061 = load i32, ptr %712, align 4, !tbaa !5
  %29062 = call ptr @__errno_location() #12
  store i32 %29061, ptr %29062, align 4, !tbaa !5
  %29063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29064 = load i32, ptr @test_count, align 4, !tbaa !5
  %29065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29066 = load i32, ptr %29065, align 4, !tbaa !5
  %29067 = call ptr @s2n_strerror(i32 noundef %29066, ptr noundef @.str.25)
  %29068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29069 = load i32, ptr %29068, align 4, !tbaa !5
  %29070 = call ptr @s2n_strerror_debug(i32 noundef %29069, ptr noundef @.str.25)
  %29071 = call ptr @__errno_location() #12
  %29072 = load i32, ptr %29071, align 4, !tbaa !5
  %29073 = call ptr @strerror(i32 noundef %29072) #11
  %29074 = call ptr @__errno_location() #12
  %29075 = load i32, ptr %29074, align 4, !tbaa !5
  %29076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29063, ptr noundef @.str.26, i32 noundef %29064, ptr noundef @.str.29, ptr noundef @.str.22, i32 noundef 1335, ptr noundef %29067, ptr noundef %29070, ptr noundef %29073, i32 noundef %29075) #11
  br label %29077

29077:                                            ; preds = %29060, %29043
  call void @llvm.lifetime.end.p0(i64 4, ptr %712) #11
  br label %29078

29078:                                            ; preds = %29077
  br label %29079

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

29080:                                            ; No predecessors!
  br label %29081

29081:                                            ; preds = %29080
  br label %29082

29082:                                            ; preds = %29081, %29024
  br label %29083

29083:                                            ; preds = %29082
  br label %29084

29084:                                            ; preds = %29083
  br label %29085

29085:                                            ; preds = %29084
  %29086 = load i32, ptr @test_count, align 4, !tbaa !5
  %29087 = add nsw i32 %29086, 1
  store i32 %29087, ptr @test_count, align 4, !tbaa !5
  %29088 = call ptr @s2n_config_new()
  store ptr %29088, ptr %710, align 8, !tbaa !9
  %29089 = icmp eq ptr %29088, null
  br i1 %29089, label %29090, label %29143

29090:                                            ; preds = %29085
  br label %29091

29091:                                            ; preds = %29090
  br label %29092

29092:                                            ; preds = %29091
  call void @llvm.lifetime.start.p0(i64 4, ptr %713) #11
  %29093 = call ptr @__errno_location() #12
  %29094 = load i32, ptr %29093, align 4, !tbaa !5
  store i32 %29094, ptr %713, align 4, !tbaa !5
  %29095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29096 = call i32 @s2n_print_stacktrace(ptr noundef %29095)
  %29097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29098 = trunc i8 %29097 to i1
  br i1 %29098, label %29099, label %29121

29099:                                            ; preds = %29092
  %29100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29101 = call i32 @fileno(ptr noundef %29100) #11
  %29102 = call i32 @isatty(i32 noundef %29101) #11
  %29103 = icmp ne i32 %29102, 0
  br i1 %29103, label %29104, label %29121

29104:                                            ; preds = %29099
  %29105 = load i32, ptr %713, align 4, !tbaa !5
  %29106 = call ptr @__errno_location() #12
  store i32 %29105, ptr %29106, align 4, !tbaa !5
  %29107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29108 = load i32, ptr @test_count, align 4, !tbaa !5
  %29109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29110 = load i32, ptr %29109, align 4, !tbaa !5
  %29111 = call ptr @s2n_strerror(i32 noundef %29110, ptr noundef @.str.25)
  %29112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29113 = load i32, ptr %29112, align 4, !tbaa !5
  %29114 = call ptr @s2n_strerror_debug(i32 noundef %29113, ptr noundef @.str.25)
  %29115 = call ptr @__errno_location() #12
  %29116 = load i32, ptr %29115, align 4, !tbaa !5
  %29117 = call ptr @strerror(i32 noundef %29116) #11
  %29118 = call ptr @__errno_location() #12
  %29119 = load i32, ptr %29118, align 4, !tbaa !5
  %29120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29107, ptr noundef @.str.23, i32 noundef %29108, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 1336, ptr noundef %29111, ptr noundef %29114, ptr noundef %29117, i32 noundef %29119) #11
  br label %29138

29121:                                            ; preds = %29099, %29092
  %29122 = load i32, ptr %713, align 4, !tbaa !5
  %29123 = call ptr @__errno_location() #12
  store i32 %29122, ptr %29123, align 4, !tbaa !5
  %29124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29125 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %29127, ptr noundef @.str.25)
  %29129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29130 = load i32, ptr %29129, align 4, !tbaa !5
  %29131 = call ptr @s2n_strerror_debug(i32 noundef %29130, ptr noundef @.str.25)
  %29132 = call ptr @__errno_location() #12
  %29133 = load i32, ptr %29132, align 4, !tbaa !5
  %29134 = call ptr @strerror(i32 noundef %29133) #11
  %29135 = call ptr @__errno_location() #12
  %29136 = load i32, ptr %29135, align 4, !tbaa !5
  %29137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29124, ptr noundef @.str.26, i32 noundef %29125, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 1336, ptr noundef %29128, ptr noundef %29131, ptr noundef %29134, i32 noundef %29136) #11
  br label %29138

29138:                                            ; preds = %29121, %29104
  call void @llvm.lifetime.end.p0(i64 4, ptr %713) #11
  br label %29139

29139:                                            ; preds = %29138
  br label %29140

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

29141:                                            ; No predecessors!
  br label %29142

29142:                                            ; preds = %29141
  br label %29143

29143:                                            ; preds = %29142, %29085
  br label %29144

29144:                                            ; preds = %29143
  br label %29145

29145:                                            ; preds = %29144
  br label %29146

29146:                                            ; preds = %29145
  %29147 = load i32, ptr @test_count, align 4, !tbaa !5
  %29148 = add nsw i32 %29147, 1
  store i32 %29148, ptr @test_count, align 4, !tbaa !5
  %29149 = load ptr, ptr %710, align 8, !tbaa !9
  %29150 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %29149)
  %29151 = getelementptr inbounds %struct.s2n_result, ptr %714, i32 0, i32 0
  store i32 %29150, ptr %29151, align 4
  %29152 = getelementptr inbounds %struct.s2n_result, ptr %714, i32 0, i32 0
  %29153 = load i32, ptr %29152, align 4
  %29154 = call zeroext i1 @s2n_result_is_ok(i32 %29153)
  br i1 %29154, label %29208, label %29155

29155:                                            ; preds = %29146
  br label %29156

29156:                                            ; preds = %29155
  br label %29157

29157:                                            ; preds = %29156
  call void @llvm.lifetime.start.p0(i64 4, ptr %715) #11
  %29158 = call ptr @__errno_location() #12
  %29159 = load i32, ptr %29158, align 4, !tbaa !5
  store i32 %29159, ptr %715, align 4, !tbaa !5
  %29160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29161 = call i32 @s2n_print_stacktrace(ptr noundef %29160)
  %29162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29163 = trunc i8 %29162 to i1
  br i1 %29163, label %29164, label %29186

29164:                                            ; preds = %29157
  %29165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29166 = call i32 @fileno(ptr noundef %29165) #11
  %29167 = call i32 @isatty(i32 noundef %29166) #11
  %29168 = icmp ne i32 %29167, 0
  br i1 %29168, label %29169, label %29186

29169:                                            ; preds = %29164
  %29170 = load i32, ptr %715, align 4, !tbaa !5
  %29171 = call ptr @__errno_location() #12
  store i32 %29170, ptr %29171, align 4, !tbaa !5
  %29172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29173 = load i32, ptr @test_count, align 4, !tbaa !5
  %29174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29175 = load i32, ptr %29174, align 4, !tbaa !5
  %29176 = call ptr @s2n_strerror(i32 noundef %29175, ptr noundef @.str.25)
  %29177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29178 = load i32, ptr %29177, align 4, !tbaa !5
  %29179 = call ptr @s2n_strerror_debug(i32 noundef %29178, ptr noundef @.str.25)
  %29180 = call ptr @__errno_location() #12
  %29181 = load i32, ptr %29180, align 4, !tbaa !5
  %29182 = call ptr @strerror(i32 noundef %29181) #11
  %29183 = call ptr @__errno_location() #12
  %29184 = load i32, ptr %29183, align 4, !tbaa !5
  %29185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29172, ptr noundef @.str.23, i32 noundef %29173, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1338, ptr noundef %29176, ptr noundef %29179, ptr noundef %29182, i32 noundef %29184) #11
  br label %29203

29186:                                            ; preds = %29164, %29157
  %29187 = load i32, ptr %715, align 4, !tbaa !5
  %29188 = call ptr @__errno_location() #12
  store i32 %29187, ptr %29188, align 4, !tbaa !5
  %29189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29190 = load i32, ptr @test_count, align 4, !tbaa !5
  %29191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29192 = load i32, ptr %29191, align 4, !tbaa !5
  %29193 = call ptr @s2n_strerror(i32 noundef %29192, ptr noundef @.str.25)
  %29194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29195 = load i32, ptr %29194, align 4, !tbaa !5
  %29196 = call ptr @s2n_strerror_debug(i32 noundef %29195, ptr noundef @.str.25)
  %29197 = call ptr @__errno_location() #12
  %29198 = load i32, ptr %29197, align 4, !tbaa !5
  %29199 = call ptr @strerror(i32 noundef %29198) #11
  %29200 = call ptr @__errno_location() #12
  %29201 = load i32, ptr %29200, align 4, !tbaa !5
  %29202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29189, ptr noundef @.str.26, i32 noundef %29190, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1338, ptr noundef %29193, ptr noundef %29196, ptr noundef %29199, i32 noundef %29201) #11
  br label %29203

29203:                                            ; preds = %29186, %29169
  call void @llvm.lifetime.end.p0(i64 4, ptr %715) #11
  br label %29204

29204:                                            ; preds = %29203
  br label %29205

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

29206:                                            ; No predecessors!
  br label %29207

29207:                                            ; preds = %29206
  br label %29208

29208:                                            ; preds = %29207, %29146
  br label %29209

29209:                                            ; preds = %29208
  br label %29210

29210:                                            ; preds = %29209
  br label %29211

29211:                                            ; preds = %29210
  %29212 = load i32, ptr @test_count, align 4, !tbaa !5
  %29213 = add nsw i32 %29212, 1
  store i32 %29213, ptr @test_count, align 4, !tbaa !5
  %29214 = load ptr, ptr %711, align 8, !tbaa !9
  %29215 = load ptr, ptr %710, align 8, !tbaa !9
  %29216 = call i32 @s2n_connection_set_config(ptr noundef %29214, ptr noundef %29215)
  %29217 = icmp eq i32 %29216, -1
  br i1 %29217, label %29218, label %29271

29218:                                            ; preds = %29211
  br label %29219

29219:                                            ; preds = %29218
  br label %29220

29220:                                            ; preds = %29219
  call void @llvm.lifetime.start.p0(i64 4, ptr %716) #11
  %29221 = call ptr @__errno_location() #12
  %29222 = load i32, ptr %29221, align 4, !tbaa !5
  store i32 %29222, ptr %716, align 4, !tbaa !5
  %29223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29224 = call i32 @s2n_print_stacktrace(ptr noundef %29223)
  %29225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29226 = trunc i8 %29225 to i1
  br i1 %29226, label %29227, label %29249

29227:                                            ; preds = %29220
  %29228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29229 = call i32 @fileno(ptr noundef %29228) #11
  %29230 = call i32 @isatty(i32 noundef %29229) #11
  %29231 = icmp ne i32 %29230, 0
  br i1 %29231, label %29232, label %29249

29232:                                            ; preds = %29227
  %29233 = load i32, ptr %716, align 4, !tbaa !5
  %29234 = call ptr @__errno_location() #12
  store i32 %29233, ptr %29234, align 4, !tbaa !5
  %29235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29236 = load i32, ptr @test_count, align 4, !tbaa !5
  %29237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29238 = load i32, ptr %29237, align 4, !tbaa !5
  %29239 = call ptr @s2n_strerror(i32 noundef %29238, ptr noundef @.str.25)
  %29240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29241 = load i32, ptr %29240, align 4, !tbaa !5
  %29242 = call ptr @s2n_strerror_debug(i32 noundef %29241, ptr noundef @.str.25)
  %29243 = call ptr @__errno_location() #12
  %29244 = load i32, ptr %29243, align 4, !tbaa !5
  %29245 = call ptr @strerror(i32 noundef %29244) #11
  %29246 = call ptr @__errno_location() #12
  %29247 = load i32, ptr %29246, align 4, !tbaa !5
  %29248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29235, ptr noundef @.str.23, i32 noundef %29236, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1339, ptr noundef %29239, ptr noundef %29242, ptr noundef %29245, i32 noundef %29247) #11
  br label %29266

29249:                                            ; preds = %29227, %29220
  %29250 = load i32, ptr %716, align 4, !tbaa !5
  %29251 = call ptr @__errno_location() #12
  store i32 %29250, ptr %29251, align 4, !tbaa !5
  %29252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29253 = load i32, ptr @test_count, align 4, !tbaa !5
  %29254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29255 = load i32, ptr %29254, align 4, !tbaa !5
  %29256 = call ptr @s2n_strerror(i32 noundef %29255, ptr noundef @.str.25)
  %29257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29258 = load i32, ptr %29257, align 4, !tbaa !5
  %29259 = call ptr @s2n_strerror_debug(i32 noundef %29258, ptr noundef @.str.25)
  %29260 = call ptr @__errno_location() #12
  %29261 = load i32, ptr %29260, align 4, !tbaa !5
  %29262 = call ptr @strerror(i32 noundef %29261) #11
  %29263 = call ptr @__errno_location() #12
  %29264 = load i32, ptr %29263, align 4, !tbaa !5
  %29265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29252, ptr noundef @.str.26, i32 noundef %29253, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1339, ptr noundef %29256, ptr noundef %29259, ptr noundef %29262, i32 noundef %29264) #11
  br label %29266

29266:                                            ; preds = %29249, %29232
  call void @llvm.lifetime.end.p0(i64 4, ptr %716) #11
  br label %29267

29267:                                            ; preds = %29266
  br label %29268

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

29269:                                            ; No predecessors!
  br label %29270

29270:                                            ; preds = %29269
  br label %29271

29271:                                            ; preds = %29270, %29211
  br label %29272

29272:                                            ; preds = %29271
  br label %29273

29273:                                            ; preds = %29272
  %29274 = load ptr, ptr %711, align 8, !tbaa !9
  %29275 = getelementptr inbounds %struct.s2n_connection, ptr %29274, i32 0, i32 23
  store i8 34, ptr %29275, align 4, !tbaa !17
  %29276 = load ptr, ptr %711, align 8, !tbaa !9
  %29277 = getelementptr inbounds %struct.s2n_connection, ptr %29276, i32 0, i32 27
  %29278 = load ptr, ptr %29277, align 8, !tbaa !43
  %29279 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %29278, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %29279, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 2, ptr %717) #11
  store i16 5, ptr %717, align 2, !tbaa !49
  %29280 = load i16, ptr %717, align 2, !tbaa !49
  %29281 = load ptr, ptr %711, align 8, !tbaa !9
  %29282 = getelementptr inbounds %struct.s2n_connection, ptr %29281, i32 0, i32 87
  store i16 %29280, ptr %29282, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 40, ptr %718) #11
  call void @llvm.memset.p0.i64(ptr align 8 %718, i8 0, i64 40, i1 false)
  br label %29283

29283:                                            ; preds = %29273
  %29284 = load i32, ptr @test_count, align 4, !tbaa !5
  %29285 = add nsw i32 %29284, 1
  store i32 %29285, ptr @test_count, align 4, !tbaa !5
  %29286 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %718, i32 noundef 0)
  %29287 = icmp eq i32 %29286, -1
  br i1 %29287, label %29288, label %29341

29288:                                            ; preds = %29283
  br label %29289

29289:                                            ; preds = %29288
  br label %29290

29290:                                            ; preds = %29289
  call void @llvm.lifetime.start.p0(i64 4, ptr %719) #11
  %29291 = call ptr @__errno_location() #12
  %29292 = load i32, ptr %29291, align 4, !tbaa !5
  store i32 %29292, ptr %719, align 4, !tbaa !5
  %29293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29294 = call i32 @s2n_print_stacktrace(ptr noundef %29293)
  %29295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29296 = trunc i8 %29295 to i1
  br i1 %29296, label %29297, label %29319

29297:                                            ; preds = %29290
  %29298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29299 = call i32 @fileno(ptr noundef %29298) #11
  %29300 = call i32 @isatty(i32 noundef %29299) #11
  %29301 = icmp ne i32 %29300, 0
  br i1 %29301, label %29302, label %29319

29302:                                            ; preds = %29297
  %29303 = load i32, ptr %719, align 4, !tbaa !5
  %29304 = call ptr @__errno_location() #12
  store i32 %29303, ptr %29304, align 4, !tbaa !5
  %29305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29306 = load i32, ptr @test_count, align 4, !tbaa !5
  %29307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29308 = load i32, ptr %29307, align 4, !tbaa !5
  %29309 = call ptr @s2n_strerror(i32 noundef %29308, ptr noundef @.str.25)
  %29310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29311 = load i32, ptr %29310, align 4, !tbaa !5
  %29312 = call ptr @s2n_strerror_debug(i32 noundef %29311, ptr noundef @.str.25)
  %29313 = call ptr @__errno_location() #12
  %29314 = load i32, ptr %29313, align 4, !tbaa !5
  %29315 = call ptr @strerror(i32 noundef %29314) #11
  %29316 = call ptr @__errno_location() #12
  %29317 = load i32, ptr %29316, align 4, !tbaa !5
  %29318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29305, ptr noundef @.str.23, i32 noundef %29306, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1348, ptr noundef %29309, ptr noundef %29312, ptr noundef %29315, i32 noundef %29317) #11
  br label %29336

29319:                                            ; preds = %29297, %29290
  %29320 = load i32, ptr %719, align 4, !tbaa !5
  %29321 = call ptr @__errno_location() #12
  store i32 %29320, ptr %29321, align 4, !tbaa !5
  %29322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29323 = load i32, ptr @test_count, align 4, !tbaa !5
  %29324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29325 = load i32, ptr %29324, align 4, !tbaa !5
  %29326 = call ptr @s2n_strerror(i32 noundef %29325, ptr noundef @.str.25)
  %29327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29328 = load i32, ptr %29327, align 4, !tbaa !5
  %29329 = call ptr @s2n_strerror_debug(i32 noundef %29328, ptr noundef @.str.25)
  %29330 = call ptr @__errno_location() #12
  %29331 = load i32, ptr %29330, align 4, !tbaa !5
  %29332 = call ptr @strerror(i32 noundef %29331) #11
  %29333 = call ptr @__errno_location() #12
  %29334 = load i32, ptr %29333, align 4, !tbaa !5
  %29335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29322, ptr noundef @.str.26, i32 noundef %29323, ptr noundef @.str.84, ptr noundef @.str.22, i32 noundef 1348, ptr noundef %29326, ptr noundef %29329, ptr noundef %29332, i32 noundef %29334) #11
  br label %29336

29336:                                            ; preds = %29319, %29302
  call void @llvm.lifetime.end.p0(i64 4, ptr %719) #11
  br label %29337

29337:                                            ; preds = %29336
  br label %29338

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

29339:                                            ; No predecessors!
  br label %29340

29340:                                            ; preds = %29339
  br label %29341

29341:                                            ; preds = %29340, %29283
  br label %29342

29342:                                            ; preds = %29341
  br label %29343

29343:                                            ; preds = %29342
  br label %29344

29344:                                            ; preds = %29343
  %29345 = load i32, ptr @test_count, align 4, !tbaa !5
  %29346 = add nsw i32 %29345, 1
  store i32 %29346, ptr @test_count, align 4, !tbaa !5
  %29347 = load ptr, ptr %711, align 8, !tbaa !9
  %29348 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %718, ptr noundef %718, ptr noundef %29347)
  %29349 = icmp eq i32 %29348, -1
  br i1 %29349, label %29350, label %29403

29350:                                            ; preds = %29344
  br label %29351

29351:                                            ; preds = %29350
  br label %29352

29352:                                            ; preds = %29351
  call void @llvm.lifetime.start.p0(i64 4, ptr %720) #11
  %29353 = call ptr @__errno_location() #12
  %29354 = load i32, ptr %29353, align 4, !tbaa !5
  store i32 %29354, ptr %720, align 4, !tbaa !5
  %29355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29356 = call i32 @s2n_print_stacktrace(ptr noundef %29355)
  %29357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29358 = trunc i8 %29357 to i1
  br i1 %29358, label %29359, label %29381

29359:                                            ; preds = %29352
  %29360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29361 = call i32 @fileno(ptr noundef %29360) #11
  %29362 = call i32 @isatty(i32 noundef %29361) #11
  %29363 = icmp ne i32 %29362, 0
  br i1 %29363, label %29364, label %29381

29364:                                            ; preds = %29359
  %29365 = load i32, ptr %720, align 4, !tbaa !5
  %29366 = call ptr @__errno_location() #12
  store i32 %29365, ptr %29366, align 4, !tbaa !5
  %29367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29368 = load i32, ptr @test_count, align 4, !tbaa !5
  %29369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29370 = load i32, ptr %29369, align 4, !tbaa !5
  %29371 = call ptr @s2n_strerror(i32 noundef %29370, ptr noundef @.str.25)
  %29372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29373 = load i32, ptr %29372, align 4, !tbaa !5
  %29374 = call ptr @s2n_strerror_debug(i32 noundef %29373, ptr noundef @.str.25)
  %29375 = call ptr @__errno_location() #12
  %29376 = load i32, ptr %29375, align 4, !tbaa !5
  %29377 = call ptr @strerror(i32 noundef %29376) #11
  %29378 = call ptr @__errno_location() #12
  %29379 = load i32, ptr %29378, align 4, !tbaa !5
  %29380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29367, ptr noundef @.str.23, i32 noundef %29368, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1349, ptr noundef %29371, ptr noundef %29374, ptr noundef %29377, i32 noundef %29379) #11
  br label %29398

29381:                                            ; preds = %29359, %29352
  %29382 = load i32, ptr %720, align 4, !tbaa !5
  %29383 = call ptr @__errno_location() #12
  store i32 %29382, ptr %29383, align 4, !tbaa !5
  %29384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29385 = load i32, ptr @test_count, align 4, !tbaa !5
  %29386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29387 = load i32, ptr %29386, align 4, !tbaa !5
  %29388 = call ptr @s2n_strerror(i32 noundef %29387, ptr noundef @.str.25)
  %29389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29390 = load i32, ptr %29389, align 4, !tbaa !5
  %29391 = call ptr @s2n_strerror_debug(i32 noundef %29390, ptr noundef @.str.25)
  %29392 = call ptr @__errno_location() #12
  %29393 = load i32, ptr %29392, align 4, !tbaa !5
  %29394 = call ptr @strerror(i32 noundef %29393) #11
  %29395 = call ptr @__errno_location() #12
  %29396 = load i32, ptr %29395, align 4, !tbaa !5
  %29397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29384, ptr noundef @.str.26, i32 noundef %29385, ptr noundef @.str.167, ptr noundef @.str.22, i32 noundef 1349, ptr noundef %29388, ptr noundef %29391, ptr noundef %29394, i32 noundef %29396) #11
  br label %29398

29398:                                            ; preds = %29381, %29364
  call void @llvm.lifetime.end.p0(i64 4, ptr %720) #11
  br label %29399

29399:                                            ; preds = %29398
  br label %29400

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

29401:                                            ; No predecessors!
  br label %29402

29402:                                            ; preds = %29401
  br label %29403

29403:                                            ; preds = %29402, %29344
  br label %29404

29404:                                            ; preds = %29403
  br label %29405

29405:                                            ; preds = %29404
  call void @llvm.lifetime.start.p0(i64 4, ptr %721) #11
  store i32 0, ptr %721, align 4, !tbaa !5
  br label %29406

29406:                                            ; preds = %29405
  %29407 = load i32, ptr @test_count, align 4, !tbaa !5
  %29408 = add nsw i32 %29407, 1
  store i32 %29408, ptr @test_count, align 4, !tbaa !5
  %29409 = load ptr, ptr %711, align 8, !tbaa !9
  %29410 = call i32 @s2n_tls13_server_nst_send(ptr noundef %29409, ptr noundef %721)
  %29411 = getelementptr inbounds %struct.s2n_result, ptr %722, i32 0, i32 0
  store i32 %29410, ptr %29411, align 4
  %29412 = getelementptr inbounds %struct.s2n_result, ptr %722, i32 0, i32 0
  %29413 = load i32, ptr %29412, align 4
  %29414 = call zeroext i1 @s2n_result_is_ok(i32 %29413)
  br i1 %29414, label %29468, label %29415

29415:                                            ; preds = %29406
  br label %29416

29416:                                            ; preds = %29415
  br label %29417

29417:                                            ; preds = %29416
  call void @llvm.lifetime.start.p0(i64 4, ptr %723) #11
  %29418 = call ptr @__errno_location() #12
  %29419 = load i32, ptr %29418, align 4, !tbaa !5
  store i32 %29419, ptr %723, align 4, !tbaa !5
  %29420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29421 = call i32 @s2n_print_stacktrace(ptr noundef %29420)
  %29422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29423 = trunc i8 %29422 to i1
  br i1 %29423, label %29424, label %29446

29424:                                            ; preds = %29417
  %29425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29426 = call i32 @fileno(ptr noundef %29425) #11
  %29427 = call i32 @isatty(i32 noundef %29426) #11
  %29428 = icmp ne i32 %29427, 0
  br i1 %29428, label %29429, label %29446

29429:                                            ; preds = %29424
  %29430 = load i32, ptr %723, align 4, !tbaa !5
  %29431 = call ptr @__errno_location() #12
  store i32 %29430, ptr %29431, align 4, !tbaa !5
  %29432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29433 = load i32, ptr @test_count, align 4, !tbaa !5
  %29434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29435 = load i32, ptr %29434, align 4, !tbaa !5
  %29436 = call ptr @s2n_strerror(i32 noundef %29435, ptr noundef @.str.25)
  %29437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29438 = load i32, ptr %29437, align 4, !tbaa !5
  %29439 = call ptr @s2n_strerror_debug(i32 noundef %29438, ptr noundef @.str.25)
  %29440 = call ptr @__errno_location() #12
  %29441 = load i32, ptr %29440, align 4, !tbaa !5
  %29442 = call ptr @strerror(i32 noundef %29441) #11
  %29443 = call ptr @__errno_location() #12
  %29444 = load i32, ptr %29443, align 4, !tbaa !5
  %29445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29432, ptr noundef @.str.23, i32 noundef %29433, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1352, ptr noundef %29436, ptr noundef %29439, ptr noundef %29442, i32 noundef %29444) #11
  br label %29463

29446:                                            ; preds = %29424, %29417
  %29447 = load i32, ptr %723, align 4, !tbaa !5
  %29448 = call ptr @__errno_location() #12
  store i32 %29447, ptr %29448, align 4, !tbaa !5
  %29449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29450 = load i32, ptr @test_count, align 4, !tbaa !5
  %29451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29452 = load i32, ptr %29451, align 4, !tbaa !5
  %29453 = call ptr @s2n_strerror(i32 noundef %29452, ptr noundef @.str.25)
  %29454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29455 = load i32, ptr %29454, align 4, !tbaa !5
  %29456 = call ptr @s2n_strerror_debug(i32 noundef %29455, ptr noundef @.str.25)
  %29457 = call ptr @__errno_location() #12
  %29458 = load i32, ptr %29457, align 4, !tbaa !5
  %29459 = call ptr @strerror(i32 noundef %29458) #11
  %29460 = call ptr @__errno_location() #12
  %29461 = load i32, ptr %29460, align 4, !tbaa !5
  %29462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29449, ptr noundef @.str.26, i32 noundef %29450, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1352, ptr noundef %29453, ptr noundef %29456, ptr noundef %29459, i32 noundef %29461) #11
  br label %29463

29463:                                            ; preds = %29446, %29429
  call void @llvm.lifetime.end.p0(i64 4, ptr %723) #11
  br label %29464

29464:                                            ; preds = %29463
  br label %29465

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

29466:                                            ; No predecessors!
  br label %29467

29467:                                            ; preds = %29466
  br label %29468

29468:                                            ; preds = %29467, %29406
  br label %29469

29469:                                            ; preds = %29468
  br label %29470

29470:                                            ; preds = %29469
  br label %29471

29471:                                            ; preds = %29470
  %29472 = load i32, ptr @test_count, align 4, !tbaa !5
  %29473 = add nsw i32 %29472, 1
  store i32 %29473, ptr @test_count, align 4, !tbaa !5
  %29474 = load ptr, ptr %711, align 8, !tbaa !9
  %29475 = load i16, ptr %717, align 2, !tbaa !49
  %29476 = call i32 @s2n_assert_tickets_sent(ptr noundef %29474, i16 noundef zeroext %29475)
  %29477 = getelementptr inbounds %struct.s2n_result, ptr %724, i32 0, i32 0
  store i32 %29476, ptr %29477, align 4
  %29478 = getelementptr inbounds %struct.s2n_result, ptr %724, i32 0, i32 0
  %29479 = load i32, ptr %29478, align 4
  %29480 = call zeroext i1 @s2n_result_is_ok(i32 %29479)
  br i1 %29480, label %29534, label %29481

29481:                                            ; preds = %29471
  br label %29482

29482:                                            ; preds = %29481
  br label %29483

29483:                                            ; preds = %29482
  call void @llvm.lifetime.start.p0(i64 4, ptr %725) #11
  %29484 = call ptr @__errno_location() #12
  %29485 = load i32, ptr %29484, align 4, !tbaa !5
  store i32 %29485, ptr %725, align 4, !tbaa !5
  %29486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29487 = call i32 @s2n_print_stacktrace(ptr noundef %29486)
  %29488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29489 = trunc i8 %29488 to i1
  br i1 %29489, label %29490, label %29512

29490:                                            ; preds = %29483
  %29491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29492 = call i32 @fileno(ptr noundef %29491) #11
  %29493 = call i32 @isatty(i32 noundef %29492) #11
  %29494 = icmp ne i32 %29493, 0
  br i1 %29494, label %29495, label %29512

29495:                                            ; preds = %29490
  %29496 = load i32, ptr %725, align 4, !tbaa !5
  %29497 = call ptr @__errno_location() #12
  store i32 %29496, ptr %29497, align 4, !tbaa !5
  %29498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29499 = load i32, ptr @test_count, align 4, !tbaa !5
  %29500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29501 = load i32, ptr %29500, align 4, !tbaa !5
  %29502 = call ptr @s2n_strerror(i32 noundef %29501, ptr noundef @.str.25)
  %29503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29504 = load i32, ptr %29503, align 4, !tbaa !5
  %29505 = call ptr @s2n_strerror_debug(i32 noundef %29504, ptr noundef @.str.25)
  %29506 = call ptr @__errno_location() #12
  %29507 = load i32, ptr %29506, align 4, !tbaa !5
  %29508 = call ptr @strerror(i32 noundef %29507) #11
  %29509 = call ptr @__errno_location() #12
  %29510 = load i32, ptr %29509, align 4, !tbaa !5
  %29511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29498, ptr noundef @.str.23, i32 noundef %29499, ptr noundef @.str.200, ptr noundef @.str.22, i32 noundef 1353, ptr noundef %29502, ptr noundef %29505, ptr noundef %29508, i32 noundef %29510) #11
  br label %29529

29512:                                            ; preds = %29490, %29483
  %29513 = load i32, ptr %725, align 4, !tbaa !5
  %29514 = call ptr @__errno_location() #12
  store i32 %29513, ptr %29514, align 4, !tbaa !5
  %29515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29516 = load i32, ptr @test_count, align 4, !tbaa !5
  %29517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29518 = load i32, ptr %29517, align 4, !tbaa !5
  %29519 = call ptr @s2n_strerror(i32 noundef %29518, ptr noundef @.str.25)
  %29520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29521 = load i32, ptr %29520, align 4, !tbaa !5
  %29522 = call ptr @s2n_strerror_debug(i32 noundef %29521, ptr noundef @.str.25)
  %29523 = call ptr @__errno_location() #12
  %29524 = load i32, ptr %29523, align 4, !tbaa !5
  %29525 = call ptr @strerror(i32 noundef %29524) #11
  %29526 = call ptr @__errno_location() #12
  %29527 = load i32, ptr %29526, align 4, !tbaa !5
  %29528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29515, ptr noundef @.str.26, i32 noundef %29516, ptr noundef @.str.200, ptr noundef @.str.22, i32 noundef 1353, ptr noundef %29519, ptr noundef %29522, ptr noundef %29525, i32 noundef %29527) #11
  br label %29529

29529:                                            ; preds = %29512, %29495
  call void @llvm.lifetime.end.p0(i64 4, ptr %725) #11
  br label %29530

29530:                                            ; preds = %29529
  br label %29531

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

29532:                                            ; No predecessors!
  br label %29533

29533:                                            ; preds = %29532
  br label %29534

29534:                                            ; preds = %29533, %29471
  br label %29535

29535:                                            ; preds = %29534
  br label %29536

29536:                                            ; preds = %29535
  call void @llvm.lifetime.start.p0(i64 2, ptr %726) #11
  store i16 0, ptr %726, align 2, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr %727) #11
  store i64 0, ptr %727, align 8, !tbaa !15
  br label %29537

29537:                                            ; preds = %29791, %29536
  %29538 = load i64, ptr %727, align 8, !tbaa !15
  %29539 = load i16, ptr %717, align 2, !tbaa !49
  %29540 = zext i16 %29539 to i64
  %29541 = icmp ult i64 %29538, %29540
  br i1 %29541, label %29543, label %29542

29542:                                            ; preds = %29537
  store i32 2769, ptr %223, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %727) #11
  br label %29794

29543:                                            ; preds = %29537
  br label %29544

29544:                                            ; preds = %29543
  %29545 = load i32, ptr @test_count, align 4, !tbaa !5
  %29546 = add nsw i32 %29545, 1
  store i32 %29546, ptr @test_count, align 4, !tbaa !5
  %29547 = call i32 @s2n_stuffer_skip_read(ptr noundef %718, i32 noundef 3)
  %29548 = icmp eq i32 %29547, -1
  br i1 %29548, label %29549, label %29602

29549:                                            ; preds = %29544
  br label %29550

29550:                                            ; preds = %29549
  br label %29551

29551:                                            ; preds = %29550
  call void @llvm.lifetime.start.p0(i64 4, ptr %728) #11
  %29552 = call ptr @__errno_location() #12
  %29553 = load i32, ptr %29552, align 4, !tbaa !5
  store i32 %29553, ptr %728, align 4, !tbaa !5
  %29554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29555 = call i32 @s2n_print_stacktrace(ptr noundef %29554)
  %29556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29557 = trunc i8 %29556 to i1
  br i1 %29557, label %29558, label %29580

29558:                                            ; preds = %29551
  %29559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29560 = call i32 @fileno(ptr noundef %29559) #11
  %29561 = call i32 @isatty(i32 noundef %29560) #11
  %29562 = icmp ne i32 %29561, 0
  br i1 %29562, label %29563, label %29580

29563:                                            ; preds = %29558
  %29564 = load i32, ptr %728, align 4, !tbaa !5
  %29565 = call ptr @__errno_location() #12
  store i32 %29564, ptr %29565, align 4, !tbaa !5
  %29566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29567 = load i32, ptr @test_count, align 4, !tbaa !5
  %29568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29569 = load i32, ptr %29568, align 4, !tbaa !5
  %29570 = call ptr @s2n_strerror(i32 noundef %29569, ptr noundef @.str.25)
  %29571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29572 = load i32, ptr %29571, align 4, !tbaa !5
  %29573 = call ptr @s2n_strerror_debug(i32 noundef %29572, ptr noundef @.str.25)
  %29574 = call ptr @__errno_location() #12
  %29575 = load i32, ptr %29574, align 4, !tbaa !5
  %29576 = call ptr @strerror(i32 noundef %29575) #11
  %29577 = call ptr @__errno_location() #12
  %29578 = load i32, ptr %29577, align 4, !tbaa !5
  %29579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29566, ptr noundef @.str.23, i32 noundef %29567, ptr noundef @.str.179, ptr noundef @.str.22, i32 noundef 1358, ptr noundef %29570, ptr noundef %29573, ptr noundef %29576, i32 noundef %29578) #11
  br label %29597

29580:                                            ; preds = %29558, %29551
  %29581 = load i32, ptr %728, align 4, !tbaa !5
  %29582 = call ptr @__errno_location() #12
  store i32 %29581, ptr %29582, align 4, !tbaa !5
  %29583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29584 = load i32, ptr @test_count, align 4, !tbaa !5
  %29585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29586 = load i32, ptr %29585, align 4, !tbaa !5
  %29587 = call ptr @s2n_strerror(i32 noundef %29586, ptr noundef @.str.25)
  %29588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29589 = load i32, ptr %29588, align 4, !tbaa !5
  %29590 = call ptr @s2n_strerror_debug(i32 noundef %29589, ptr noundef @.str.25)
  %29591 = call ptr @__errno_location() #12
  %29592 = load i32, ptr %29591, align 4, !tbaa !5
  %29593 = call ptr @strerror(i32 noundef %29592) #11
  %29594 = call ptr @__errno_location() #12
  %29595 = load i32, ptr %29594, align 4, !tbaa !5
  %29596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29583, ptr noundef @.str.26, i32 noundef %29584, ptr noundef @.str.179, ptr noundef @.str.22, i32 noundef 1358, ptr noundef %29587, ptr noundef %29590, ptr noundef %29593, i32 noundef %29595) #11
  br label %29597

29597:                                            ; preds = %29580, %29563
  call void @llvm.lifetime.end.p0(i64 4, ptr %728) #11
  br label %29598

29598:                                            ; preds = %29597
  br label %29599

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

29600:                                            ; No predecessors!
  br label %29601

29601:                                            ; preds = %29600
  br label %29602

29602:                                            ; preds = %29601, %29544
  br label %29603

29603:                                            ; preds = %29602
  br label %29604

29604:                                            ; preds = %29603
  br label %29605

29605:                                            ; preds = %29604
  %29606 = load i32, ptr @test_count, align 4, !tbaa !5
  %29607 = add nsw i32 %29606, 1
  store i32 %29607, ptr @test_count, align 4, !tbaa !5
  %29608 = call i32 @s2n_stuffer_read_uint16(ptr noundef %718, ptr noundef %726)
  %29609 = icmp eq i32 %29608, -1
  br i1 %29609, label %29610, label %29663

29610:                                            ; preds = %29605
  br label %29611

29611:                                            ; preds = %29610
  br label %29612

29612:                                            ; preds = %29611
  call void @llvm.lifetime.start.p0(i64 4, ptr %729) #11
  %29613 = call ptr @__errno_location() #12
  %29614 = load i32, ptr %29613, align 4, !tbaa !5
  store i32 %29614, ptr %729, align 4, !tbaa !5
  %29615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29616 = call i32 @s2n_print_stacktrace(ptr noundef %29615)
  %29617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29618 = trunc i8 %29617 to i1
  br i1 %29618, label %29619, label %29641

29619:                                            ; preds = %29612
  %29620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29621 = call i32 @fileno(ptr noundef %29620) #11
  %29622 = call i32 @isatty(i32 noundef %29621) #11
  %29623 = icmp ne i32 %29622, 0
  br i1 %29623, label %29624, label %29641

29624:                                            ; preds = %29619
  %29625 = load i32, ptr %729, align 4, !tbaa !5
  %29626 = call ptr @__errno_location() #12
  store i32 %29625, ptr %29626, align 4, !tbaa !5
  %29627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29628 = load i32, ptr @test_count, align 4, !tbaa !5
  %29629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29630 = load i32, ptr %29629, align 4, !tbaa !5
  %29631 = call ptr @s2n_strerror(i32 noundef %29630, ptr noundef @.str.25)
  %29632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29633 = load i32, ptr %29632, align 4, !tbaa !5
  %29634 = call ptr @s2n_strerror_debug(i32 noundef %29633, ptr noundef @.str.25)
  %29635 = call ptr @__errno_location() #12
  %29636 = load i32, ptr %29635, align 4, !tbaa !5
  %29637 = call ptr @strerror(i32 noundef %29636) #11
  %29638 = call ptr @__errno_location() #12
  %29639 = load i32, ptr %29638, align 4, !tbaa !5
  %29640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29627, ptr noundef @.str.23, i32 noundef %29628, ptr noundef @.str.180, ptr noundef @.str.22, i32 noundef 1359, ptr noundef %29631, ptr noundef %29634, ptr noundef %29637, i32 noundef %29639) #11
  br label %29658

29641:                                            ; preds = %29619, %29612
  %29642 = load i32, ptr %729, align 4, !tbaa !5
  %29643 = call ptr @__errno_location() #12
  store i32 %29642, ptr %29643, align 4, !tbaa !5
  %29644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29645 = load i32, ptr @test_count, align 4, !tbaa !5
  %29646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29647 = load i32, ptr %29646, align 4, !tbaa !5
  %29648 = call ptr @s2n_strerror(i32 noundef %29647, ptr noundef @.str.25)
  %29649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29650 = load i32, ptr %29649, align 4, !tbaa !5
  %29651 = call ptr @s2n_strerror_debug(i32 noundef %29650, ptr noundef @.str.25)
  %29652 = call ptr @__errno_location() #12
  %29653 = load i32, ptr %29652, align 4, !tbaa !5
  %29654 = call ptr @strerror(i32 noundef %29653) #11
  %29655 = call ptr @__errno_location() #12
  %29656 = load i32, ptr %29655, align 4, !tbaa !5
  %29657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29644, ptr noundef @.str.26, i32 noundef %29645, ptr noundef @.str.180, ptr noundef @.str.22, i32 noundef 1359, ptr noundef %29648, ptr noundef %29651, ptr noundef %29654, i32 noundef %29656) #11
  br label %29658

29658:                                            ; preds = %29641, %29624
  call void @llvm.lifetime.end.p0(i64 4, ptr %729) #11
  br label %29659

29659:                                            ; preds = %29658
  br label %29660

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

29661:                                            ; No predecessors!
  br label %29662

29662:                                            ; preds = %29661
  br label %29663

29663:                                            ; preds = %29662, %29605
  br label %29664

29664:                                            ; preds = %29663
  br label %29665

29665:                                            ; preds = %29664
  br label %29666

29666:                                            ; preds = %29665
  %29667 = load i32, ptr @test_count, align 4, !tbaa !5
  %29668 = add nsw i32 %29667, 1
  store i32 %29668, ptr @test_count, align 4, !tbaa !5
  %29669 = load i16, ptr %726, align 2, !tbaa !49
  %29670 = zext i16 %29669 to i32
  %29671 = icmp sgt i32 %29670, 0
  br i1 %29671, label %29725, label %29672

29672:                                            ; preds = %29666
  br label %29673

29673:                                            ; preds = %29672
  br label %29674

29674:                                            ; preds = %29673
  call void @llvm.lifetime.start.p0(i64 4, ptr %730) #11
  %29675 = call ptr @__errno_location() #12
  %29676 = load i32, ptr %29675, align 4, !tbaa !5
  store i32 %29676, ptr %730, align 4, !tbaa !5
  %29677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29678 = call i32 @s2n_print_stacktrace(ptr noundef %29677)
  %29679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29680 = trunc i8 %29679 to i1
  br i1 %29680, label %29681, label %29703

29681:                                            ; preds = %29674
  %29682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29683 = call i32 @fileno(ptr noundef %29682) #11
  %29684 = call i32 @isatty(i32 noundef %29683) #11
  %29685 = icmp ne i32 %29684, 0
  br i1 %29685, label %29686, label %29703

29686:                                            ; preds = %29681
  %29687 = load i32, ptr %730, align 4, !tbaa !5
  %29688 = call ptr @__errno_location() #12
  store i32 %29687, ptr %29688, align 4, !tbaa !5
  %29689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29690 = load i32, ptr @test_count, align 4, !tbaa !5
  %29691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29692 = load i32, ptr %29691, align 4, !tbaa !5
  %29693 = call ptr @s2n_strerror(i32 noundef %29692, ptr noundef @.str.25)
  %29694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29695 = load i32, ptr %29694, align 4, !tbaa !5
  %29696 = call ptr @s2n_strerror_debug(i32 noundef %29695, ptr noundef @.str.25)
  %29697 = call ptr @__errno_location() #12
  %29698 = load i32, ptr %29697, align 4, !tbaa !5
  %29699 = call ptr @strerror(i32 noundef %29698) #11
  %29700 = call ptr @__errno_location() #12
  %29701 = load i32, ptr %29700, align 4, !tbaa !5
  %29702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29689, ptr noundef @.str.23, i32 noundef %29690, ptr noundef @.str.181, ptr noundef @.str.22, i32 noundef 1360, ptr noundef %29693, ptr noundef %29696, ptr noundef %29699, i32 noundef %29701) #11
  br label %29720

29703:                                            ; preds = %29681, %29674
  %29704 = load i32, ptr %730, align 4, !tbaa !5
  %29705 = call ptr @__errno_location() #12
  store i32 %29704, ptr %29705, align 4, !tbaa !5
  %29706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29707 = load i32, ptr @test_count, align 4, !tbaa !5
  %29708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29709 = load i32, ptr %29708, align 4, !tbaa !5
  %29710 = call ptr @s2n_strerror(i32 noundef %29709, ptr noundef @.str.25)
  %29711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29712 = load i32, ptr %29711, align 4, !tbaa !5
  %29713 = call ptr @s2n_strerror_debug(i32 noundef %29712, ptr noundef @.str.25)
  %29714 = call ptr @__errno_location() #12
  %29715 = load i32, ptr %29714, align 4, !tbaa !5
  %29716 = call ptr @strerror(i32 noundef %29715) #11
  %29717 = call ptr @__errno_location() #12
  %29718 = load i32, ptr %29717, align 4, !tbaa !5
  %29719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29706, ptr noundef @.str.26, i32 noundef %29707, ptr noundef @.str.181, ptr noundef @.str.22, i32 noundef 1360, ptr noundef %29710, ptr noundef %29713, ptr noundef %29716, i32 noundef %29718) #11
  br label %29720

29720:                                            ; preds = %29703, %29686
  call void @llvm.lifetime.end.p0(i64 4, ptr %730) #11
  br label %29721

29721:                                            ; preds = %29720
  br label %29722

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

29723:                                            ; No predecessors!
  br label %29724

29724:                                            ; preds = %29723
  br label %29725

29725:                                            ; preds = %29724, %29666
  br label %29726

29726:                                            ; preds = %29725
  br label %29727

29727:                                            ; preds = %29726
  br label %29728

29728:                                            ; preds = %29727
  %29729 = load i32, ptr @test_count, align 4, !tbaa !5
  %29730 = add nsw i32 %29729, 1
  store i32 %29730, ptr @test_count, align 4, !tbaa !5
  %29731 = load i16, ptr %726, align 2, !tbaa !49
  %29732 = zext i16 %29731 to i32
  %29733 = call i32 @s2n_stuffer_skip_read(ptr noundef %718, i32 noundef %29732)
  %29734 = icmp eq i32 %29733, -1
  br i1 %29734, label %29735, label %29788

29735:                                            ; preds = %29728
  br label %29736

29736:                                            ; preds = %29735
  br label %29737

29737:                                            ; preds = %29736
  call void @llvm.lifetime.start.p0(i64 4, ptr %731) #11
  %29738 = call ptr @__errno_location() #12
  %29739 = load i32, ptr %29738, align 4, !tbaa !5
  store i32 %29739, ptr %731, align 4, !tbaa !5
  %29740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29741 = call i32 @s2n_print_stacktrace(ptr noundef %29740)
  %29742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29743 = trunc i8 %29742 to i1
  br i1 %29743, label %29744, label %29766

29744:                                            ; preds = %29737
  %29745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29746 = call i32 @fileno(ptr noundef %29745) #11
  %29747 = call i32 @isatty(i32 noundef %29746) #11
  %29748 = icmp ne i32 %29747, 0
  br i1 %29748, label %29749, label %29766

29749:                                            ; preds = %29744
  %29750 = load i32, ptr %731, align 4, !tbaa !5
  %29751 = call ptr @__errno_location() #12
  store i32 %29750, ptr %29751, align 4, !tbaa !5
  %29752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29753 = load i32, ptr @test_count, align 4, !tbaa !5
  %29754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29755 = load i32, ptr %29754, align 4, !tbaa !5
  %29756 = call ptr @s2n_strerror(i32 noundef %29755, ptr noundef @.str.25)
  %29757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29758 = load i32, ptr %29757, align 4, !tbaa !5
  %29759 = call ptr @s2n_strerror_debug(i32 noundef %29758, ptr noundef @.str.25)
  %29760 = call ptr @__errno_location() #12
  %29761 = load i32, ptr %29760, align 4, !tbaa !5
  %29762 = call ptr @strerror(i32 noundef %29761) #11
  %29763 = call ptr @__errno_location() #12
  %29764 = load i32, ptr %29763, align 4, !tbaa !5
  %29765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29752, ptr noundef @.str.23, i32 noundef %29753, ptr noundef @.str.182, ptr noundef @.str.22, i32 noundef 1361, ptr noundef %29756, ptr noundef %29759, ptr noundef %29762, i32 noundef %29764) #11
  br label %29783

29766:                                            ; preds = %29744, %29737
  %29767 = load i32, ptr %731, align 4, !tbaa !5
  %29768 = call ptr @__errno_location() #12
  store i32 %29767, ptr %29768, align 4, !tbaa !5
  %29769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29770 = load i32, ptr @test_count, align 4, !tbaa !5
  %29771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29772 = load i32, ptr %29771, align 4, !tbaa !5
  %29773 = call ptr @s2n_strerror(i32 noundef %29772, ptr noundef @.str.25)
  %29774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29775 = load i32, ptr %29774, align 4, !tbaa !5
  %29776 = call ptr @s2n_strerror_debug(i32 noundef %29775, ptr noundef @.str.25)
  %29777 = call ptr @__errno_location() #12
  %29778 = load i32, ptr %29777, align 4, !tbaa !5
  %29779 = call ptr @strerror(i32 noundef %29778) #11
  %29780 = call ptr @__errno_location() #12
  %29781 = load i32, ptr %29780, align 4, !tbaa !5
  %29782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29769, ptr noundef @.str.26, i32 noundef %29770, ptr noundef @.str.182, ptr noundef @.str.22, i32 noundef 1361, ptr noundef %29773, ptr noundef %29776, ptr noundef %29779, i32 noundef %29781) #11
  br label %29783

29783:                                            ; preds = %29766, %29749
  call void @llvm.lifetime.end.p0(i64 4, ptr %731) #11
  br label %29784

29784:                                            ; preds = %29783
  br label %29785

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

29786:                                            ; No predecessors!
  br label %29787

29787:                                            ; preds = %29786
  br label %29788

29788:                                            ; preds = %29787, %29728
  br label %29789

29789:                                            ; preds = %29788
  br label %29790

29790:                                            ; preds = %29789
  br label %29791

29791:                                            ; preds = %29790
  %29792 = load i64, ptr %727, align 8, !tbaa !15
  %29793 = add i64 %29792, 1
  store i64 %29793, ptr %727, align 8, !tbaa !15
  br label %29537, !llvm.loop !87

29794:                                            ; preds = %29542
  br label %29795

29795:                                            ; preds = %29794
  %29796 = load i32, ptr @test_count, align 4, !tbaa !5
  %29797 = add nsw i32 %29796, 1
  store i32 %29797, ptr @test_count, align 4, !tbaa !5
  %29798 = getelementptr inbounds %struct.s2n_stuffer, ptr %718, i32 0, i32 2
  %29799 = load i32, ptr %29798, align 4, !tbaa !52
  %29800 = getelementptr inbounds %struct.s2n_stuffer, ptr %718, i32 0, i32 1
  %29801 = load i32, ptr %29800, align 8, !tbaa !53
  %29802 = sub i32 %29799, %29801
  %29803 = icmp eq i32 %29802, 0
  br i1 %29803, label %29857, label %29804

29804:                                            ; preds = %29795
  br label %29805

29805:                                            ; preds = %29804
  br label %29806

29806:                                            ; preds = %29805
  call void @llvm.lifetime.start.p0(i64 4, ptr %732) #11
  %29807 = call ptr @__errno_location() #12
  %29808 = load i32, ptr %29807, align 4, !tbaa !5
  store i32 %29808, ptr %732, align 4, !tbaa !5
  %29809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29810 = call i32 @s2n_print_stacktrace(ptr noundef %29809)
  %29811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29812 = trunc i8 %29811 to i1
  br i1 %29812, label %29813, label %29835

29813:                                            ; preds = %29806
  %29814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29815 = call i32 @fileno(ptr noundef %29814) #11
  %29816 = call i32 @isatty(i32 noundef %29815) #11
  %29817 = icmp ne i32 %29816, 0
  br i1 %29817, label %29818, label %29835

29818:                                            ; preds = %29813
  %29819 = load i32, ptr %732, align 4, !tbaa !5
  %29820 = call ptr @__errno_location() #12
  store i32 %29819, ptr %29820, align 4, !tbaa !5
  %29821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29822 = load i32, ptr @test_count, align 4, !tbaa !5
  %29823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29824 = load i32, ptr %29823, align 4, !tbaa !5
  %29825 = call ptr @s2n_strerror(i32 noundef %29824, ptr noundef @.str.25)
  %29826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29827 = load i32, ptr %29826, align 4, !tbaa !5
  %29828 = call ptr @s2n_strerror_debug(i32 noundef %29827, ptr noundef @.str.25)
  %29829 = call ptr @__errno_location() #12
  %29830 = load i32, ptr %29829, align 4, !tbaa !5
  %29831 = call ptr @strerror(i32 noundef %29830) #11
  %29832 = call ptr @__errno_location() #12
  %29833 = load i32, ptr %29832, align 4, !tbaa !5
  %29834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29821, ptr noundef @.str.23, i32 noundef %29822, ptr noundef @.str.201, ptr noundef @.str.22, i32 noundef 1363, ptr noundef %29825, ptr noundef %29828, ptr noundef %29831, i32 noundef %29833) #11
  br label %29852

29835:                                            ; preds = %29813, %29806
  %29836 = load i32, ptr %732, align 4, !tbaa !5
  %29837 = call ptr @__errno_location() #12
  store i32 %29836, ptr %29837, align 4, !tbaa !5
  %29838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29839 = load i32, ptr @test_count, align 4, !tbaa !5
  %29840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29841 = load i32, ptr %29840, align 4, !tbaa !5
  %29842 = call ptr @s2n_strerror(i32 noundef %29841, ptr noundef @.str.25)
  %29843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29844 = load i32, ptr %29843, align 4, !tbaa !5
  %29845 = call ptr @s2n_strerror_debug(i32 noundef %29844, ptr noundef @.str.25)
  %29846 = call ptr @__errno_location() #12
  %29847 = load i32, ptr %29846, align 4, !tbaa !5
  %29848 = call ptr @strerror(i32 noundef %29847) #11
  %29849 = call ptr @__errno_location() #12
  %29850 = load i32, ptr %29849, align 4, !tbaa !5
  %29851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29838, ptr noundef @.str.26, i32 noundef %29839, ptr noundef @.str.201, ptr noundef @.str.22, i32 noundef 1363, ptr noundef %29842, ptr noundef %29845, ptr noundef %29848, i32 noundef %29850) #11
  br label %29852

29852:                                            ; preds = %29835, %29818
  call void @llvm.lifetime.end.p0(i64 4, ptr %732) #11
  br label %29853

29853:                                            ; preds = %29852
  br label %29854

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

29855:                                            ; No predecessors!
  br label %29856

29856:                                            ; preds = %29855
  br label %29857

29857:                                            ; preds = %29856, %29795
  br label %29858

29858:                                            ; preds = %29857
  br label %29859

29859:                                            ; preds = %29858
  br label %29860

29860:                                            ; preds = %29859
  %29861 = load i32, ptr @test_count, align 4, !tbaa !5
  %29862 = add nsw i32 %29861, 1
  store i32 %29862, ptr @test_count, align 4, !tbaa !5
  %29863 = call i32 @s2n_stuffer_rewrite(ptr noundef %718)
  %29864 = icmp eq i32 %29863, -1
  br i1 %29864, label %29865, label %29918

29865:                                            ; preds = %29860
  br label %29866

29866:                                            ; preds = %29865
  br label %29867

29867:                                            ; preds = %29866
  call void @llvm.lifetime.start.p0(i64 4, ptr %733) #11
  %29868 = call ptr @__errno_location() #12
  %29869 = load i32, ptr %29868, align 4, !tbaa !5
  store i32 %29869, ptr %733, align 4, !tbaa !5
  %29870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29871 = call i32 @s2n_print_stacktrace(ptr noundef %29870)
  %29872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29873 = trunc i8 %29872 to i1
  br i1 %29873, label %29874, label %29896

29874:                                            ; preds = %29867
  %29875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29876 = call i32 @fileno(ptr noundef %29875) #11
  %29877 = call i32 @isatty(i32 noundef %29876) #11
  %29878 = icmp ne i32 %29877, 0
  br i1 %29878, label %29879, label %29896

29879:                                            ; preds = %29874
  %29880 = load i32, ptr %733, align 4, !tbaa !5
  %29881 = call ptr @__errno_location() #12
  store i32 %29880, ptr %29881, align 4, !tbaa !5
  %29882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29883 = load i32, ptr @test_count, align 4, !tbaa !5
  %29884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29885 = load i32, ptr %29884, align 4, !tbaa !5
  %29886 = call ptr @s2n_strerror(i32 noundef %29885, ptr noundef @.str.25)
  %29887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29888 = load i32, ptr %29887, align 4, !tbaa !5
  %29889 = call ptr @s2n_strerror_debug(i32 noundef %29888, ptr noundef @.str.25)
  %29890 = call ptr @__errno_location() #12
  %29891 = load i32, ptr %29890, align 4, !tbaa !5
  %29892 = call ptr @strerror(i32 noundef %29891) #11
  %29893 = call ptr @__errno_location() #12
  %29894 = load i32, ptr %29893, align 4, !tbaa !5
  %29895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29882, ptr noundef @.str.23, i32 noundef %29883, ptr noundef @.str.202, ptr noundef @.str.22, i32 noundef 1366, ptr noundef %29886, ptr noundef %29889, ptr noundef %29892, i32 noundef %29894) #11
  br label %29913

29896:                                            ; preds = %29874, %29867
  %29897 = load i32, ptr %733, align 4, !tbaa !5
  %29898 = call ptr @__errno_location() #12
  store i32 %29897, ptr %29898, align 4, !tbaa !5
  %29899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29900 = load i32, ptr @test_count, align 4, !tbaa !5
  %29901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29902 = load i32, ptr %29901, align 4, !tbaa !5
  %29903 = call ptr @s2n_strerror(i32 noundef %29902, ptr noundef @.str.25)
  %29904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29905 = load i32, ptr %29904, align 4, !tbaa !5
  %29906 = call ptr @s2n_strerror_debug(i32 noundef %29905, ptr noundef @.str.25)
  %29907 = call ptr @__errno_location() #12
  %29908 = load i32, ptr %29907, align 4, !tbaa !5
  %29909 = call ptr @strerror(i32 noundef %29908) #11
  %29910 = call ptr @__errno_location() #12
  %29911 = load i32, ptr %29910, align 4, !tbaa !5
  %29912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29899, ptr noundef @.str.26, i32 noundef %29900, ptr noundef @.str.202, ptr noundef @.str.22, i32 noundef 1366, ptr noundef %29903, ptr noundef %29906, ptr noundef %29909, i32 noundef %29911) #11
  br label %29913

29913:                                            ; preds = %29896, %29879
  call void @llvm.lifetime.end.p0(i64 4, ptr %733) #11
  br label %29914

29914:                                            ; preds = %29913
  br label %29915

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

29916:                                            ; No predecessors!
  br label %29917

29917:                                            ; preds = %29916
  br label %29918

29918:                                            ; preds = %29917, %29860
  br label %29919

29919:                                            ; preds = %29918
  br label %29920

29920:                                            ; preds = %29919
  br label %29921

29921:                                            ; preds = %29920
  %29922 = load i32, ptr @test_count, align 4, !tbaa !5
  %29923 = add nsw i32 %29922, 1
  store i32 %29923, ptr @test_count, align 4, !tbaa !5
  %29924 = load ptr, ptr %711, align 8, !tbaa !9
  %29925 = call i32 @s2n_tls13_server_nst_send(ptr noundef %29924, ptr noundef %721)
  %29926 = getelementptr inbounds %struct.s2n_result, ptr %734, i32 0, i32 0
  store i32 %29925, ptr %29926, align 4
  %29927 = getelementptr inbounds %struct.s2n_result, ptr %734, i32 0, i32 0
  %29928 = load i32, ptr %29927, align 4
  %29929 = call zeroext i1 @s2n_result_is_ok(i32 %29928)
  br i1 %29929, label %29983, label %29930

29930:                                            ; preds = %29921
  br label %29931

29931:                                            ; preds = %29930
  br label %29932

29932:                                            ; preds = %29931
  call void @llvm.lifetime.start.p0(i64 4, ptr %735) #11
  %29933 = call ptr @__errno_location() #12
  %29934 = load i32, ptr %29933, align 4, !tbaa !5
  store i32 %29934, ptr %735, align 4, !tbaa !5
  %29935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29936 = call i32 @s2n_print_stacktrace(ptr noundef %29935)
  %29937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29938 = trunc i8 %29937 to i1
  br i1 %29938, label %29939, label %29961

29939:                                            ; preds = %29932
  %29940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29941 = call i32 @fileno(ptr noundef %29940) #11
  %29942 = call i32 @isatty(i32 noundef %29941) #11
  %29943 = icmp ne i32 %29942, 0
  br i1 %29943, label %29944, label %29961

29944:                                            ; preds = %29939
  %29945 = load i32, ptr %735, align 4, !tbaa !5
  %29946 = call ptr @__errno_location() #12
  store i32 %29945, ptr %29946, align 4, !tbaa !5
  %29947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29948 = load i32, ptr @test_count, align 4, !tbaa !5
  %29949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29950 = load i32, ptr %29949, align 4, !tbaa !5
  %29951 = call ptr @s2n_strerror(i32 noundef %29950, ptr noundef @.str.25)
  %29952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29953 = load i32, ptr %29952, align 4, !tbaa !5
  %29954 = call ptr @s2n_strerror_debug(i32 noundef %29953, ptr noundef @.str.25)
  %29955 = call ptr @__errno_location() #12
  %29956 = load i32, ptr %29955, align 4, !tbaa !5
  %29957 = call ptr @strerror(i32 noundef %29956) #11
  %29958 = call ptr @__errno_location() #12
  %29959 = load i32, ptr %29958, align 4, !tbaa !5
  %29960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29947, ptr noundef @.str.23, i32 noundef %29948, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1367, ptr noundef %29951, ptr noundef %29954, ptr noundef %29957, i32 noundef %29959) #11
  br label %29978

29961:                                            ; preds = %29939, %29932
  %29962 = load i32, ptr %735, align 4, !tbaa !5
  %29963 = call ptr @__errno_location() #12
  store i32 %29962, ptr %29963, align 4, !tbaa !5
  %29964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29965 = load i32, ptr @test_count, align 4, !tbaa !5
  %29966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29967 = load i32, ptr %29966, align 4, !tbaa !5
  %29968 = call ptr @s2n_strerror(i32 noundef %29967, ptr noundef @.str.25)
  %29969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29970 = load i32, ptr %29969, align 4, !tbaa !5
  %29971 = call ptr @s2n_strerror_debug(i32 noundef %29970, ptr noundef @.str.25)
  %29972 = call ptr @__errno_location() #12
  %29973 = load i32, ptr %29972, align 4, !tbaa !5
  %29974 = call ptr @strerror(i32 noundef %29973) #11
  %29975 = call ptr @__errno_location() #12
  %29976 = load i32, ptr %29975, align 4, !tbaa !5
  %29977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29964, ptr noundef @.str.26, i32 noundef %29965, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1367, ptr noundef %29968, ptr noundef %29971, ptr noundef %29974, i32 noundef %29976) #11
  br label %29978

29978:                                            ; preds = %29961, %29944
  call void @llvm.lifetime.end.p0(i64 4, ptr %735) #11
  br label %29979

29979:                                            ; preds = %29978
  br label %29980

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

29981:                                            ; No predecessors!
  br label %29982

29982:                                            ; preds = %29981
  br label %29983

29983:                                            ; preds = %29982, %29921
  br label %29984

29984:                                            ; preds = %29983
  br label %29985

29985:                                            ; preds = %29984
  br label %29986

29986:                                            ; preds = %29985
  %29987 = load i32, ptr @test_count, align 4, !tbaa !5
  %29988 = add nsw i32 %29987, 1
  store i32 %29988, ptr @test_count, align 4, !tbaa !5
  %29989 = getelementptr inbounds %struct.s2n_stuffer, ptr %718, i32 0, i32 2
  %29990 = load i32, ptr %29989, align 4, !tbaa !52
  %29991 = getelementptr inbounds %struct.s2n_stuffer, ptr %718, i32 0, i32 1
  %29992 = load i32, ptr %29991, align 8, !tbaa !53
  %29993 = sub i32 %29990, %29992
  %29994 = icmp eq i32 0, %29993
  br i1 %29994, label %30048, label %29995

29995:                                            ; preds = %29986
  br label %29996

29996:                                            ; preds = %29995
  br label %29997

29997:                                            ; preds = %29996
  call void @llvm.lifetime.start.p0(i64 4, ptr %736) #11
  %29998 = call ptr @__errno_location() #12
  %29999 = load i32, ptr %29998, align 4, !tbaa !5
  store i32 %29999, ptr %736, align 4, !tbaa !5
  %30000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30001 = call i32 @s2n_print_stacktrace(ptr noundef %30000)
  %30002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30003 = trunc i8 %30002 to i1
  br i1 %30003, label %30004, label %30026

30004:                                            ; preds = %29997
  %30005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30006 = call i32 @fileno(ptr noundef %30005) #11
  %30007 = call i32 @isatty(i32 noundef %30006) #11
  %30008 = icmp ne i32 %30007, 0
  br i1 %30008, label %30009, label %30026

30009:                                            ; preds = %30004
  %30010 = load i32, ptr %736, align 4, !tbaa !5
  %30011 = call ptr @__errno_location() #12
  store i32 %30010, ptr %30011, align 4, !tbaa !5
  %30012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30013 = load i32, ptr @test_count, align 4, !tbaa !5
  %30014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30015 = load i32, ptr %30014, align 4, !tbaa !5
  %30016 = call ptr @s2n_strerror(i32 noundef %30015, ptr noundef @.str.25)
  %30017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30018 = load i32, ptr %30017, align 4, !tbaa !5
  %30019 = call ptr @s2n_strerror_debug(i32 noundef %30018, ptr noundef @.str.25)
  %30020 = call ptr @__errno_location() #12
  %30021 = load i32, ptr %30020, align 4, !tbaa !5
  %30022 = call ptr @strerror(i32 noundef %30021) #11
  %30023 = call ptr @__errno_location() #12
  %30024 = load i32, ptr %30023, align 4, !tbaa !5
  %30025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30012, ptr noundef @.str.23, i32 noundef %30013, ptr noundef @.str.169, ptr noundef @.str.22, i32 noundef 1368, ptr noundef %30016, ptr noundef %30019, ptr noundef %30022, i32 noundef %30024) #11
  br label %30043

30026:                                            ; preds = %30004, %29997
  %30027 = load i32, ptr %736, align 4, !tbaa !5
  %30028 = call ptr @__errno_location() #12
  store i32 %30027, ptr %30028, align 4, !tbaa !5
  %30029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30030 = load i32, ptr @test_count, align 4, !tbaa !5
  %30031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30032 = load i32, ptr %30031, align 4, !tbaa !5
  %30033 = call ptr @s2n_strerror(i32 noundef %30032, ptr noundef @.str.25)
  %30034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30035 = load i32, ptr %30034, align 4, !tbaa !5
  %30036 = call ptr @s2n_strerror_debug(i32 noundef %30035, ptr noundef @.str.25)
  %30037 = call ptr @__errno_location() #12
  %30038 = load i32, ptr %30037, align 4, !tbaa !5
  %30039 = call ptr @strerror(i32 noundef %30038) #11
  %30040 = call ptr @__errno_location() #12
  %30041 = load i32, ptr %30040, align 4, !tbaa !5
  %30042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30029, ptr noundef @.str.26, i32 noundef %30030, ptr noundef @.str.169, ptr noundef @.str.22, i32 noundef 1368, ptr noundef %30033, ptr noundef %30036, ptr noundef %30039, i32 noundef %30041) #11
  br label %30043

30043:                                            ; preds = %30026, %30009
  call void @llvm.lifetime.end.p0(i64 4, ptr %736) #11
  br label %30044

30044:                                            ; preds = %30043
  br label %30045

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

30046:                                            ; No predecessors!
  br label %30047

30047:                                            ; preds = %30046
  br label %30048

30048:                                            ; preds = %30047, %29986
  br label %30049

30049:                                            ; preds = %30048
  br label %30050

30050:                                            ; preds = %30049
  br label %30051

30051:                                            ; preds = %30050
  %30052 = load i32, ptr @test_count, align 4, !tbaa !5
  %30053 = add nsw i32 %30052, 1
  store i32 %30053, ptr @test_count, align 4, !tbaa !5
  %30054 = call i32 @s2n_stuffer_free(ptr noundef %718)
  %30055 = icmp eq i32 %30054, -1
  br i1 %30055, label %30056, label %30109

30056:                                            ; preds = %30051
  br label %30057

30057:                                            ; preds = %30056
  br label %30058

30058:                                            ; preds = %30057
  call void @llvm.lifetime.start.p0(i64 4, ptr %737) #11
  %30059 = call ptr @__errno_location() #12
  %30060 = load i32, ptr %30059, align 4, !tbaa !5
  store i32 %30060, ptr %737, align 4, !tbaa !5
  %30061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30062 = call i32 @s2n_print_stacktrace(ptr noundef %30061)
  %30063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30064 = trunc i8 %30063 to i1
  br i1 %30064, label %30065, label %30087

30065:                                            ; preds = %30058
  %30066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30067 = call i32 @fileno(ptr noundef %30066) #11
  %30068 = call i32 @isatty(i32 noundef %30067) #11
  %30069 = icmp ne i32 %30068, 0
  br i1 %30069, label %30070, label %30087

30070:                                            ; preds = %30065
  %30071 = load i32, ptr %737, align 4, !tbaa !5
  %30072 = call ptr @__errno_location() #12
  store i32 %30071, ptr %30072, align 4, !tbaa !5
  %30073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30074 = load i32, ptr @test_count, align 4, !tbaa !5
  %30075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30076 = load i32, ptr %30075, align 4, !tbaa !5
  %30077 = call ptr @s2n_strerror(i32 noundef %30076, ptr noundef @.str.25)
  %30078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30079 = load i32, ptr %30078, align 4, !tbaa !5
  %30080 = call ptr @s2n_strerror_debug(i32 noundef %30079, ptr noundef @.str.25)
  %30081 = call ptr @__errno_location() #12
  %30082 = load i32, ptr %30081, align 4, !tbaa !5
  %30083 = call ptr @strerror(i32 noundef %30082) #11
  %30084 = call ptr @__errno_location() #12
  %30085 = load i32, ptr %30084, align 4, !tbaa !5
  %30086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30073, ptr noundef @.str.23, i32 noundef %30074, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1370, ptr noundef %30077, ptr noundef %30080, ptr noundef %30083, i32 noundef %30085) #11
  br label %30104

30087:                                            ; preds = %30065, %30058
  %30088 = load i32, ptr %737, align 4, !tbaa !5
  %30089 = call ptr @__errno_location() #12
  store i32 %30088, ptr %30089, align 4, !tbaa !5
  %30090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30091 = load i32, ptr @test_count, align 4, !tbaa !5
  %30092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30093 = load i32, ptr %30092, align 4, !tbaa !5
  %30094 = call ptr @s2n_strerror(i32 noundef %30093, ptr noundef @.str.25)
  %30095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30096 = load i32, ptr %30095, align 4, !tbaa !5
  %30097 = call ptr @s2n_strerror_debug(i32 noundef %30096, ptr noundef @.str.25)
  %30098 = call ptr @__errno_location() #12
  %30099 = load i32, ptr %30098, align 4, !tbaa !5
  %30100 = call ptr @strerror(i32 noundef %30099) #11
  %30101 = call ptr @__errno_location() #12
  %30102 = load i32, ptr %30101, align 4, !tbaa !5
  %30103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30090, ptr noundef @.str.26, i32 noundef %30091, ptr noundef @.str.142, ptr noundef @.str.22, i32 noundef 1370, ptr noundef %30094, ptr noundef %30097, ptr noundef %30100, i32 noundef %30102) #11
  br label %30104

30104:                                            ; preds = %30087, %30070
  call void @llvm.lifetime.end.p0(i64 4, ptr %737) #11
  br label %30105

30105:                                            ; preds = %30104
  br label %30106

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

30107:                                            ; No predecessors!
  br label %30108

30108:                                            ; preds = %30107
  br label %30109

30109:                                            ; preds = %30108, %30051
  br label %30110

30110:                                            ; preds = %30109
  br label %30111

30111:                                            ; preds = %30110
  br label %30112

30112:                                            ; preds = %30111
  %30113 = load i32, ptr @test_count, align 4, !tbaa !5
  %30114 = add nsw i32 %30113, 1
  store i32 %30114, ptr @test_count, align 4, !tbaa !5
  %30115 = load ptr, ptr %711, align 8, !tbaa !9
  %30116 = call i32 @s2n_connection_free(ptr noundef %30115)
  %30117 = icmp eq i32 %30116, -1
  br i1 %30117, label %30118, label %30171

30118:                                            ; preds = %30112
  br label %30119

30119:                                            ; preds = %30118
  br label %30120

30120:                                            ; preds = %30119
  call void @llvm.lifetime.start.p0(i64 4, ptr %738) #11
  %30121 = call ptr @__errno_location() #12
  %30122 = load i32, ptr %30121, align 4, !tbaa !5
  store i32 %30122, ptr %738, align 4, !tbaa !5
  %30123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30124 = call i32 @s2n_print_stacktrace(ptr noundef %30123)
  %30125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30126 = trunc i8 %30125 to i1
  br i1 %30126, label %30127, label %30149

30127:                                            ; preds = %30120
  %30128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30129 = call i32 @fileno(ptr noundef %30128) #11
  %30130 = call i32 @isatty(i32 noundef %30129) #11
  %30131 = icmp ne i32 %30130, 0
  br i1 %30131, label %30132, label %30149

30132:                                            ; preds = %30127
  %30133 = load i32, ptr %738, align 4, !tbaa !5
  %30134 = call ptr @__errno_location() #12
  store i32 %30133, ptr %30134, align 4, !tbaa !5
  %30135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30136 = load i32, ptr @test_count, align 4, !tbaa !5
  %30137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30138 = load i32, ptr %30137, align 4, !tbaa !5
  %30139 = call ptr @s2n_strerror(i32 noundef %30138, ptr noundef @.str.25)
  %30140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30141 = load i32, ptr %30140, align 4, !tbaa !5
  %30142 = call ptr @s2n_strerror_debug(i32 noundef %30141, ptr noundef @.str.25)
  %30143 = call ptr @__errno_location() #12
  %30144 = load i32, ptr %30143, align 4, !tbaa !5
  %30145 = call ptr @strerror(i32 noundef %30144) #11
  %30146 = call ptr @__errno_location() #12
  %30147 = load i32, ptr %30146, align 4, !tbaa !5
  %30148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30135, ptr noundef @.str.23, i32 noundef %30136, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1371, ptr noundef %30139, ptr noundef %30142, ptr noundef %30145, i32 noundef %30147) #11
  br label %30166

30149:                                            ; preds = %30127, %30120
  %30150 = load i32, ptr %738, align 4, !tbaa !5
  %30151 = call ptr @__errno_location() #12
  store i32 %30150, ptr %30151, align 4, !tbaa !5
  %30152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30153 = load i32, ptr @test_count, align 4, !tbaa !5
  %30154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30155 = load i32, ptr %30154, align 4, !tbaa !5
  %30156 = call ptr @s2n_strerror(i32 noundef %30155, ptr noundef @.str.25)
  %30157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30158 = load i32, ptr %30157, align 4, !tbaa !5
  %30159 = call ptr @s2n_strerror_debug(i32 noundef %30158, ptr noundef @.str.25)
  %30160 = call ptr @__errno_location() #12
  %30161 = load i32, ptr %30160, align 4, !tbaa !5
  %30162 = call ptr @strerror(i32 noundef %30161) #11
  %30163 = call ptr @__errno_location() #12
  %30164 = load i32, ptr %30163, align 4, !tbaa !5
  %30165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30152, ptr noundef @.str.26, i32 noundef %30153, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1371, ptr noundef %30156, ptr noundef %30159, ptr noundef %30162, i32 noundef %30164) #11
  br label %30166

30166:                                            ; preds = %30149, %30132
  call void @llvm.lifetime.end.p0(i64 4, ptr %738) #11
  br label %30167

30167:                                            ; preds = %30166
  br label %30168

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

30169:                                            ; No predecessors!
  br label %30170

30170:                                            ; preds = %30169
  br label %30171

30171:                                            ; preds = %30170, %30112
  br label %30172

30172:                                            ; preds = %30171
  br label %30173

30173:                                            ; preds = %30172
  br label %30174

30174:                                            ; preds = %30173
  %30175 = load i32, ptr @test_count, align 4, !tbaa !5
  %30176 = add nsw i32 %30175, 1
  store i32 %30176, ptr @test_count, align 4, !tbaa !5
  %30177 = load ptr, ptr %710, align 8, !tbaa !9
  %30178 = call i32 @s2n_config_free(ptr noundef %30177)
  %30179 = icmp eq i32 %30178, -1
  br i1 %30179, label %30180, label %30233

30180:                                            ; preds = %30174
  br label %30181

30181:                                            ; preds = %30180
  br label %30182

30182:                                            ; preds = %30181
  call void @llvm.lifetime.start.p0(i64 4, ptr %739) #11
  %30183 = call ptr @__errno_location() #12
  %30184 = load i32, ptr %30183, align 4, !tbaa !5
  store i32 %30184, ptr %739, align 4, !tbaa !5
  %30185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30186 = call i32 @s2n_print_stacktrace(ptr noundef %30185)
  %30187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30188 = trunc i8 %30187 to i1
  br i1 %30188, label %30189, label %30211

30189:                                            ; preds = %30182
  %30190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30191 = call i32 @fileno(ptr noundef %30190) #11
  %30192 = call i32 @isatty(i32 noundef %30191) #11
  %30193 = icmp ne i32 %30192, 0
  br i1 %30193, label %30194, label %30211

30194:                                            ; preds = %30189
  %30195 = load i32, ptr %739, align 4, !tbaa !5
  %30196 = call ptr @__errno_location() #12
  store i32 %30195, ptr %30196, align 4, !tbaa !5
  %30197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30198 = load i32, ptr @test_count, align 4, !tbaa !5
  %30199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30200 = load i32, ptr %30199, align 4, !tbaa !5
  %30201 = call ptr @s2n_strerror(i32 noundef %30200, ptr noundef @.str.25)
  %30202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30203 = load i32, ptr %30202, align 4, !tbaa !5
  %30204 = call ptr @s2n_strerror_debug(i32 noundef %30203, ptr noundef @.str.25)
  %30205 = call ptr @__errno_location() #12
  %30206 = load i32, ptr %30205, align 4, !tbaa !5
  %30207 = call ptr @strerror(i32 noundef %30206) #11
  %30208 = call ptr @__errno_location() #12
  %30209 = load i32, ptr %30208, align 4, !tbaa !5
  %30210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30197, ptr noundef @.str.23, i32 noundef %30198, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1372, ptr noundef %30201, ptr noundef %30204, ptr noundef %30207, i32 noundef %30209) #11
  br label %30228

30211:                                            ; preds = %30189, %30182
  %30212 = load i32, ptr %739, align 4, !tbaa !5
  %30213 = call ptr @__errno_location() #12
  store i32 %30212, ptr %30213, align 4, !tbaa !5
  %30214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30215 = load i32, ptr @test_count, align 4, !tbaa !5
  %30216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30217 = load i32, ptr %30216, align 4, !tbaa !5
  %30218 = call ptr @s2n_strerror(i32 noundef %30217, ptr noundef @.str.25)
  %30219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30220 = load i32, ptr %30219, align 4, !tbaa !5
  %30221 = call ptr @s2n_strerror_debug(i32 noundef %30220, ptr noundef @.str.25)
  %30222 = call ptr @__errno_location() #12
  %30223 = load i32, ptr %30222, align 4, !tbaa !5
  %30224 = call ptr @strerror(i32 noundef %30223) #11
  %30225 = call ptr @__errno_location() #12
  %30226 = load i32, ptr %30225, align 4, !tbaa !5
  %30227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30214, ptr noundef @.str.26, i32 noundef %30215, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1372, ptr noundef %30218, ptr noundef %30221, ptr noundef %30224, i32 noundef %30226) #11
  br label %30228

30228:                                            ; preds = %30211, %30194
  call void @llvm.lifetime.end.p0(i64 4, ptr %739) #11
  br label %30229

30229:                                            ; preds = %30228
  br label %30230

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

30231:                                            ; No predecessors!
  br label %30232

30232:                                            ; preds = %30231
  br label %30233

30233:                                            ; preds = %30232, %30174
  br label %30234

30234:                                            ; preds = %30233
  br label %30235

30235:                                            ; preds = %30234
  call void @llvm.lifetime.end.p0(i64 2, ptr %726) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %721) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %718) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %717) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %711) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %710) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %740) #11
  %30236 = call ptr @s2n_config_new()
  store ptr %30236, ptr %740, align 8, !tbaa !9
  br label %30237

30237:                                            ; preds = %30235
  %30238 = load i32, ptr @test_count, align 4, !tbaa !5
  %30239 = add nsw i32 %30238, 1
  store i32 %30239, ptr @test_count, align 4, !tbaa !5
  %30240 = load ptr, ptr %740, align 8, !tbaa !9
  %30241 = icmp eq ptr %30240, null
  br i1 %30241, label %30242, label %30295

30242:                                            ; preds = %30237
  br label %30243

30243:                                            ; preds = %30242
  br label %30244

30244:                                            ; preds = %30243
  call void @llvm.lifetime.start.p0(i64 4, ptr %741) #11
  %30245 = call ptr @__errno_location() #12
  %30246 = load i32, ptr %30245, align 4, !tbaa !5
  store i32 %30246, ptr %741, align 4, !tbaa !5
  %30247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30248 = call i32 @s2n_print_stacktrace(ptr noundef %30247)
  %30249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30250 = trunc i8 %30249 to i1
  br i1 %30250, label %30251, label %30273

30251:                                            ; preds = %30244
  %30252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30253 = call i32 @fileno(ptr noundef %30252) #11
  %30254 = call i32 @isatty(i32 noundef %30253) #11
  %30255 = icmp ne i32 %30254, 0
  br i1 %30255, label %30256, label %30273

30256:                                            ; preds = %30251
  %30257 = load i32, ptr %741, align 4, !tbaa !5
  %30258 = call ptr @__errno_location() #12
  store i32 %30257, ptr %30258, align 4, !tbaa !5
  %30259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30260 = load i32, ptr @test_count, align 4, !tbaa !5
  %30261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30262 = load i32, ptr %30261, align 4, !tbaa !5
  %30263 = call ptr @s2n_strerror(i32 noundef %30262, ptr noundef @.str.25)
  %30264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30265 = load i32, ptr %30264, align 4, !tbaa !5
  %30266 = call ptr @s2n_strerror_debug(i32 noundef %30265, ptr noundef @.str.25)
  %30267 = call ptr @__errno_location() #12
  %30268 = load i32, ptr %30267, align 4, !tbaa !5
  %30269 = call ptr @strerror(i32 noundef %30268) #11
  %30270 = call ptr @__errno_location() #12
  %30271 = load i32, ptr %30270, align 4, !tbaa !5
  %30272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30259, ptr noundef @.str.23, i32 noundef %30260, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1378, ptr noundef %30263, ptr noundef %30266, ptr noundef %30269, i32 noundef %30271) #11
  br label %30290

30273:                                            ; preds = %30251, %30244
  %30274 = load i32, ptr %741, align 4, !tbaa !5
  %30275 = call ptr @__errno_location() #12
  store i32 %30274, ptr %30275, align 4, !tbaa !5
  %30276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30277 = load i32, ptr @test_count, align 4, !tbaa !5
  %30278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30279 = load i32, ptr %30278, align 4, !tbaa !5
  %30280 = call ptr @s2n_strerror(i32 noundef %30279, ptr noundef @.str.25)
  %30281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30282 = load i32, ptr %30281, align 4, !tbaa !5
  %30283 = call ptr @s2n_strerror_debug(i32 noundef %30282, ptr noundef @.str.25)
  %30284 = call ptr @__errno_location() #12
  %30285 = load i32, ptr %30284, align 4, !tbaa !5
  %30286 = call ptr @strerror(i32 noundef %30285) #11
  %30287 = call ptr @__errno_location() #12
  %30288 = load i32, ptr %30287, align 4, !tbaa !5
  %30289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30276, ptr noundef @.str.26, i32 noundef %30277, ptr noundef @.str.62, ptr noundef @.str.22, i32 noundef 1378, ptr noundef %30280, ptr noundef %30283, ptr noundef %30286, i32 noundef %30288) #11
  br label %30290

30290:                                            ; preds = %30273, %30256
  call void @llvm.lifetime.end.p0(i64 4, ptr %741) #11
  br label %30291

30291:                                            ; preds = %30290
  br label %30292

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

30293:                                            ; No predecessors!
  br label %30294

30294:                                            ; preds = %30293
  br label %30295

30295:                                            ; preds = %30294, %30237
  br label %30296

30296:                                            ; preds = %30295
  br label %30297

30297:                                            ; preds = %30296
  br label %30298

30298:                                            ; preds = %30297
  %30299 = load i32, ptr @test_count, align 4, !tbaa !5
  %30300 = add nsw i32 %30299, 1
  store i32 %30300, ptr @test_count, align 4, !tbaa !5
  %30301 = load ptr, ptr %740, align 8, !tbaa !9
  %30302 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %30301)
  %30303 = getelementptr inbounds %struct.s2n_result, ptr %742, i32 0, i32 0
  store i32 %30302, ptr %30303, align 4
  %30304 = getelementptr inbounds %struct.s2n_result, ptr %742, i32 0, i32 0
  %30305 = load i32, ptr %30304, align 4
  %30306 = call zeroext i1 @s2n_result_is_ok(i32 %30305)
  br i1 %30306, label %30360, label %30307

30307:                                            ; preds = %30298
  br label %30308

30308:                                            ; preds = %30307
  br label %30309

30309:                                            ; preds = %30308
  call void @llvm.lifetime.start.p0(i64 4, ptr %743) #11
  %30310 = call ptr @__errno_location() #12
  %30311 = load i32, ptr %30310, align 4, !tbaa !5
  store i32 %30311, ptr %743, align 4, !tbaa !5
  %30312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30313 = call i32 @s2n_print_stacktrace(ptr noundef %30312)
  %30314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30315 = trunc i8 %30314 to i1
  br i1 %30315, label %30316, label %30338

30316:                                            ; preds = %30309
  %30317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30318 = call i32 @fileno(ptr noundef %30317) #11
  %30319 = call i32 @isatty(i32 noundef %30318) #11
  %30320 = icmp ne i32 %30319, 0
  br i1 %30320, label %30321, label %30338

30321:                                            ; preds = %30316
  %30322 = load i32, ptr %743, align 4, !tbaa !5
  %30323 = call ptr @__errno_location() #12
  store i32 %30322, ptr %30323, align 4, !tbaa !5
  %30324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30325 = load i32, ptr @test_count, align 4, !tbaa !5
  %30326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30327 = load i32, ptr %30326, align 4, !tbaa !5
  %30328 = call ptr @s2n_strerror(i32 noundef %30327, ptr noundef @.str.25)
  %30329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30330 = load i32, ptr %30329, align 4, !tbaa !5
  %30331 = call ptr @s2n_strerror_debug(i32 noundef %30330, ptr noundef @.str.25)
  %30332 = call ptr @__errno_location() #12
  %30333 = load i32, ptr %30332, align 4, !tbaa !5
  %30334 = call ptr @strerror(i32 noundef %30333) #11
  %30335 = call ptr @__errno_location() #12
  %30336 = load i32, ptr %30335, align 4, !tbaa !5
  %30337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30324, ptr noundef @.str.23, i32 noundef %30325, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1379, ptr noundef %30328, ptr noundef %30331, ptr noundef %30334, i32 noundef %30336) #11
  br label %30355

30338:                                            ; preds = %30316, %30309
  %30339 = load i32, ptr %743, align 4, !tbaa !5
  %30340 = call ptr @__errno_location() #12
  store i32 %30339, ptr %30340, align 4, !tbaa !5
  %30341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30342 = load i32, ptr @test_count, align 4, !tbaa !5
  %30343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30344 = load i32, ptr %30343, align 4, !tbaa !5
  %30345 = call ptr @s2n_strerror(i32 noundef %30344, ptr noundef @.str.25)
  %30346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30347 = load i32, ptr %30346, align 4, !tbaa !5
  %30348 = call ptr @s2n_strerror_debug(i32 noundef %30347, ptr noundef @.str.25)
  %30349 = call ptr @__errno_location() #12
  %30350 = load i32, ptr %30349, align 4, !tbaa !5
  %30351 = call ptr @strerror(i32 noundef %30350) #11
  %30352 = call ptr @__errno_location() #12
  %30353 = load i32, ptr %30352, align 4, !tbaa !5
  %30354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30341, ptr noundef @.str.26, i32 noundef %30342, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1379, ptr noundef %30345, ptr noundef %30348, ptr noundef %30351, i32 noundef %30353) #11
  br label %30355

30355:                                            ; preds = %30338, %30321
  call void @llvm.lifetime.end.p0(i64 4, ptr %743) #11
  br label %30356

30356:                                            ; preds = %30355
  br label %30357

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

30358:                                            ; No predecessors!
  br label %30359

30359:                                            ; preds = %30358
  br label %30360

30360:                                            ; preds = %30359, %30298
  br label %30361

30361:                                            ; preds = %30360
  br label %30362

30362:                                            ; preds = %30361
  call void @llvm.lifetime.start.p0(i64 8, ptr %744) #11
  %30363 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %30363, ptr %744, align 8, !tbaa !9
  br label %30364

30364:                                            ; preds = %30362
  %30365 = load i32, ptr @test_count, align 4, !tbaa !5
  %30366 = add nsw i32 %30365, 1
  store i32 %30366, ptr @test_count, align 4, !tbaa !5
  %30367 = load ptr, ptr %744, align 8, !tbaa !9
  %30368 = icmp eq ptr %30367, null
  br i1 %30368, label %30369, label %30422

30369:                                            ; preds = %30364
  br label %30370

30370:                                            ; preds = %30369
  br label %30371

30371:                                            ; preds = %30370
  call void @llvm.lifetime.start.p0(i64 4, ptr %745) #11
  %30372 = call ptr @__errno_location() #12
  %30373 = load i32, ptr %30372, align 4, !tbaa !5
  store i32 %30373, ptr %745, align 4, !tbaa !5
  %30374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30375 = call i32 @s2n_print_stacktrace(ptr noundef %30374)
  %30376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30377 = trunc i8 %30376 to i1
  br i1 %30377, label %30378, label %30400

30378:                                            ; preds = %30371
  %30379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30380 = call i32 @fileno(ptr noundef %30379) #11
  %30381 = call i32 @isatty(i32 noundef %30380) #11
  %30382 = icmp ne i32 %30381, 0
  br i1 %30382, label %30383, label %30400

30383:                                            ; preds = %30378
  %30384 = load i32, ptr %745, align 4, !tbaa !5
  %30385 = call ptr @__errno_location() #12
  store i32 %30384, ptr %30385, align 4, !tbaa !5
  %30386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30387 = load i32, ptr @test_count, align 4, !tbaa !5
  %30388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30389 = load i32, ptr %30388, align 4, !tbaa !5
  %30390 = call ptr @s2n_strerror(i32 noundef %30389, ptr noundef @.str.25)
  %30391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30392 = load i32, ptr %30391, align 4, !tbaa !5
  %30393 = call ptr @s2n_strerror_debug(i32 noundef %30392, ptr noundef @.str.25)
  %30394 = call ptr @__errno_location() #12
  %30395 = load i32, ptr %30394, align 4, !tbaa !5
  %30396 = call ptr @strerror(i32 noundef %30395) #11
  %30397 = call ptr @__errno_location() #12
  %30398 = load i32, ptr %30397, align 4, !tbaa !5
  %30399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30386, ptr noundef @.str.23, i32 noundef %30387, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1382, ptr noundef %30390, ptr noundef %30393, ptr noundef %30396, i32 noundef %30398) #11
  br label %30417

30400:                                            ; preds = %30378, %30371
  %30401 = load i32, ptr %745, align 4, !tbaa !5
  %30402 = call ptr @__errno_location() #12
  store i32 %30401, ptr %30402, align 4, !tbaa !5
  %30403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30404 = load i32, ptr @test_count, align 4, !tbaa !5
  %30405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30406 = load i32, ptr %30405, align 4, !tbaa !5
  %30407 = call ptr @s2n_strerror(i32 noundef %30406, ptr noundef @.str.25)
  %30408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30409 = load i32, ptr %30408, align 4, !tbaa !5
  %30410 = call ptr @s2n_strerror_debug(i32 noundef %30409, ptr noundef @.str.25)
  %30411 = call ptr @__errno_location() #12
  %30412 = load i32, ptr %30411, align 4, !tbaa !5
  %30413 = call ptr @strerror(i32 noundef %30412) #11
  %30414 = call ptr @__errno_location() #12
  %30415 = load i32, ptr %30414, align 4, !tbaa !5
  %30416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30403, ptr noundef @.str.26, i32 noundef %30404, ptr noundef @.str.63, ptr noundef @.str.22, i32 noundef 1382, ptr noundef %30407, ptr noundef %30410, ptr noundef %30413, i32 noundef %30415) #11
  br label %30417

30417:                                            ; preds = %30400, %30383
  call void @llvm.lifetime.end.p0(i64 4, ptr %745) #11
  br label %30418

30418:                                            ; preds = %30417
  br label %30419

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

30420:                                            ; No predecessors!
  br label %30421

30421:                                            ; preds = %30420
  br label %30422

30422:                                            ; preds = %30421, %30364
  br label %30423

30423:                                            ; preds = %30422
  br label %30424

30424:                                            ; preds = %30423
  br label %30425

30425:                                            ; preds = %30424
  %30426 = load i32, ptr @test_count, align 4, !tbaa !5
  %30427 = add nsw i32 %30426, 1
  store i32 %30427, ptr @test_count, align 4, !tbaa !5
  %30428 = load ptr, ptr %744, align 8, !tbaa !9
  %30429 = load ptr, ptr %740, align 8, !tbaa !9
  %30430 = call i32 @s2n_connection_set_config(ptr noundef %30428, ptr noundef %30429)
  %30431 = icmp eq i32 %30430, -1
  br i1 %30431, label %30432, label %30485

30432:                                            ; preds = %30425
  br label %30433

30433:                                            ; preds = %30432
  br label %30434

30434:                                            ; preds = %30433
  call void @llvm.lifetime.start.p0(i64 4, ptr %746) #11
  %30435 = call ptr @__errno_location() #12
  %30436 = load i32, ptr %30435, align 4, !tbaa !5
  store i32 %30436, ptr %746, align 4, !tbaa !5
  %30437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30438 = call i32 @s2n_print_stacktrace(ptr noundef %30437)
  %30439 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30440 = trunc i8 %30439 to i1
  br i1 %30440, label %30441, label %30463

30441:                                            ; preds = %30434
  %30442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30443 = call i32 @fileno(ptr noundef %30442) #11
  %30444 = call i32 @isatty(i32 noundef %30443) #11
  %30445 = icmp ne i32 %30444, 0
  br i1 %30445, label %30446, label %30463

30446:                                            ; preds = %30441
  %30447 = load i32, ptr %746, align 4, !tbaa !5
  %30448 = call ptr @__errno_location() #12
  store i32 %30447, ptr %30448, align 4, !tbaa !5
  %30449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30450 = load i32, ptr @test_count, align 4, !tbaa !5
  %30451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30452 = load i32, ptr %30451, align 4, !tbaa !5
  %30453 = call ptr @s2n_strerror(i32 noundef %30452, ptr noundef @.str.25)
  %30454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30455 = load i32, ptr %30454, align 4, !tbaa !5
  %30456 = call ptr @s2n_strerror_debug(i32 noundef %30455, ptr noundef @.str.25)
  %30457 = call ptr @__errno_location() #12
  %30458 = load i32, ptr %30457, align 4, !tbaa !5
  %30459 = call ptr @strerror(i32 noundef %30458) #11
  %30460 = call ptr @__errno_location() #12
  %30461 = load i32, ptr %30460, align 4, !tbaa !5
  %30462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30449, ptr noundef @.str.23, i32 noundef %30450, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1383, ptr noundef %30453, ptr noundef %30456, ptr noundef %30459, i32 noundef %30461) #11
  br label %30480

30463:                                            ; preds = %30441, %30434
  %30464 = load i32, ptr %746, align 4, !tbaa !5
  %30465 = call ptr @__errno_location() #12
  store i32 %30464, ptr %30465, align 4, !tbaa !5
  %30466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30467 = load i32, ptr @test_count, align 4, !tbaa !5
  %30468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30469 = load i32, ptr %30468, align 4, !tbaa !5
  %30470 = call ptr @s2n_strerror(i32 noundef %30469, ptr noundef @.str.25)
  %30471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30472 = load i32, ptr %30471, align 4, !tbaa !5
  %30473 = call ptr @s2n_strerror_debug(i32 noundef %30472, ptr noundef @.str.25)
  %30474 = call ptr @__errno_location() #12
  %30475 = load i32, ptr %30474, align 4, !tbaa !5
  %30476 = call ptr @strerror(i32 noundef %30475) #11
  %30477 = call ptr @__errno_location() #12
  %30478 = load i32, ptr %30477, align 4, !tbaa !5
  %30479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30466, ptr noundef @.str.26, i32 noundef %30467, ptr noundef @.str.33, ptr noundef @.str.22, i32 noundef 1383, ptr noundef %30470, ptr noundef %30473, ptr noundef %30476, i32 noundef %30478) #11
  br label %30480

30480:                                            ; preds = %30463, %30446
  call void @llvm.lifetime.end.p0(i64 4, ptr %746) #11
  br label %30481

30481:                                            ; preds = %30480
  br label %30482

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

30483:                                            ; No predecessors!
  br label %30484

30484:                                            ; preds = %30483
  br label %30485

30485:                                            ; preds = %30484, %30425
  br label %30486

30486:                                            ; preds = %30485
  br label %30487

30487:                                            ; preds = %30486
  %30488 = load ptr, ptr %744, align 8, !tbaa !9
  %30489 = getelementptr inbounds %struct.s2n_connection, ptr %30488, i32 0, i32 23
  store i8 34, ptr %30489, align 4, !tbaa !17
  %30490 = load ptr, ptr %744, align 8, !tbaa !9
  %30491 = getelementptr inbounds %struct.s2n_connection, ptr %30490, i32 0, i32 27
  %30492 = load ptr, ptr %30491, align 8, !tbaa !43
  %30493 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %30492, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %30493, align 8, !tbaa !44
  br label %30494

30494:                                            ; preds = %30487
  %30495 = load i32, ptr @test_count, align 4, !tbaa !5
  %30496 = add nsw i32 %30495, 1
  store i32 %30496, ptr @test_count, align 4, !tbaa !5
  %30497 = load ptr, ptr %744, align 8, !tbaa !9
  %30498 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %30497, i32 noundef 10)
  %30499 = icmp eq i32 %30498, -1
  br i1 %30499, label %30500, label %30553

30500:                                            ; preds = %30494
  br label %30501

30501:                                            ; preds = %30500
  br label %30502

30502:                                            ; preds = %30501
  call void @llvm.lifetime.start.p0(i64 4, ptr %747) #11
  %30503 = call ptr @__errno_location() #12
  %30504 = load i32, ptr %30503, align 4, !tbaa !5
  store i32 %30504, ptr %747, align 4, !tbaa !5
  %30505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30506 = call i32 @s2n_print_stacktrace(ptr noundef %30505)
  %30507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30508 = trunc i8 %30507 to i1
  br i1 %30508, label %30509, label %30531

30509:                                            ; preds = %30502
  %30510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30511 = call i32 @fileno(ptr noundef %30510) #11
  %30512 = call i32 @isatty(i32 noundef %30511) #11
  %30513 = icmp ne i32 %30512, 0
  br i1 %30513, label %30514, label %30531

30514:                                            ; preds = %30509
  %30515 = load i32, ptr %747, align 4, !tbaa !5
  %30516 = call ptr @__errno_location() #12
  store i32 %30515, ptr %30516, align 4, !tbaa !5
  %30517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30518 = load i32, ptr @test_count, align 4, !tbaa !5
  %30519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30520 = load i32, ptr %30519, align 4, !tbaa !5
  %30521 = call ptr @s2n_strerror(i32 noundef %30520, ptr noundef @.str.25)
  %30522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30523 = load i32, ptr %30522, align 4, !tbaa !5
  %30524 = call ptr @s2n_strerror_debug(i32 noundef %30523, ptr noundef @.str.25)
  %30525 = call ptr @__errno_location() #12
  %30526 = load i32, ptr %30525, align 4, !tbaa !5
  %30527 = call ptr @strerror(i32 noundef %30526) #11
  %30528 = call ptr @__errno_location() #12
  %30529 = load i32, ptr %30528, align 4, !tbaa !5
  %30530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30517, ptr noundef @.str.23, i32 noundef %30518, ptr noundef @.str.203, ptr noundef @.str.22, i32 noundef 1390, ptr noundef %30521, ptr noundef %30524, ptr noundef %30527, i32 noundef %30529) #11
  br label %30548

30531:                                            ; preds = %30509, %30502
  %30532 = load i32, ptr %747, align 4, !tbaa !5
  %30533 = call ptr @__errno_location() #12
  store i32 %30532, ptr %30533, align 4, !tbaa !5
  %30534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30535 = load i32, ptr @test_count, align 4, !tbaa !5
  %30536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30537 = load i32, ptr %30536, align 4, !tbaa !5
  %30538 = call ptr @s2n_strerror(i32 noundef %30537, ptr noundef @.str.25)
  %30539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30540 = load i32, ptr %30539, align 4, !tbaa !5
  %30541 = call ptr @s2n_strerror_debug(i32 noundef %30540, ptr noundef @.str.25)
  %30542 = call ptr @__errno_location() #12
  %30543 = load i32, ptr %30542, align 4, !tbaa !5
  %30544 = call ptr @strerror(i32 noundef %30543) #11
  %30545 = call ptr @__errno_location() #12
  %30546 = load i32, ptr %30545, align 4, !tbaa !5
  %30547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30534, ptr noundef @.str.26, i32 noundef %30535, ptr noundef @.str.203, ptr noundef @.str.22, i32 noundef 1390, ptr noundef %30538, ptr noundef %30541, ptr noundef %30544, i32 noundef %30546) #11
  br label %30548

30548:                                            ; preds = %30531, %30514
  call void @llvm.lifetime.end.p0(i64 4, ptr %747) #11
  br label %30549

30549:                                            ; preds = %30548
  br label %30550

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

30551:                                            ; No predecessors!
  br label %30552

30552:                                            ; preds = %30551
  br label %30553

30553:                                            ; preds = %30552, %30494
  br label %30554

30554:                                            ; preds = %30553
  br label %30555

30555:                                            ; preds = %30554
  call void @llvm.lifetime.start.p0(i64 40, ptr %748) #11
  call void @llvm.memset.p0.i64(ptr align 8 %748, i8 0, i64 40, i1 false)
  br label %30556

30556:                                            ; preds = %30555
  %30557 = load i32, ptr @test_count, align 4, !tbaa !5
  %30558 = add nsw i32 %30557, 1
  store i32 %30558, ptr @test_count, align 4, !tbaa !5
  %30559 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %748, i32 noundef 0)
  %30560 = icmp eq i32 %30559, -1
  br i1 %30560, label %30561, label %30614

30561:                                            ; preds = %30556
  br label %30562

30562:                                            ; preds = %30561
  br label %30563

30563:                                            ; preds = %30562
  call void @llvm.lifetime.start.p0(i64 4, ptr %749) #11
  %30564 = call ptr @__errno_location() #12
  %30565 = load i32, ptr %30564, align 4, !tbaa !5
  store i32 %30565, ptr %749, align 4, !tbaa !5
  %30566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30567 = call i32 @s2n_print_stacktrace(ptr noundef %30566)
  %30568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30569 = trunc i8 %30568 to i1
  br i1 %30569, label %30570, label %30592

30570:                                            ; preds = %30563
  %30571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30572 = call i32 @fileno(ptr noundef %30571) #11
  %30573 = call i32 @isatty(i32 noundef %30572) #11
  %30574 = icmp ne i32 %30573, 0
  br i1 %30574, label %30575, label %30592

30575:                                            ; preds = %30570
  %30576 = load i32, ptr %749, align 4, !tbaa !5
  %30577 = call ptr @__errno_location() #12
  store i32 %30576, ptr %30577, align 4, !tbaa !5
  %30578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30579 = load i32, ptr @test_count, align 4, !tbaa !5
  %30580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30581 = load i32, ptr %30580, align 4, !tbaa !5
  %30582 = call ptr @s2n_strerror(i32 noundef %30581, ptr noundef @.str.25)
  %30583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30584 = load i32, ptr %30583, align 4, !tbaa !5
  %30585 = call ptr @s2n_strerror_debug(i32 noundef %30584, ptr noundef @.str.25)
  %30586 = call ptr @__errno_location() #12
  %30587 = load i32, ptr %30586, align 4, !tbaa !5
  %30588 = call ptr @strerror(i32 noundef %30587) #11
  %30589 = call ptr @__errno_location() #12
  %30590 = load i32, ptr %30589, align 4, !tbaa !5
  %30591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30578, ptr noundef @.str.23, i32 noundef %30579, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 1394, ptr noundef %30582, ptr noundef %30585, ptr noundef %30588, i32 noundef %30590) #11
  br label %30609

30592:                                            ; preds = %30570, %30563
  %30593 = load i32, ptr %749, align 4, !tbaa !5
  %30594 = call ptr @__errno_location() #12
  store i32 %30593, ptr %30594, align 4, !tbaa !5
  %30595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30596 = load i32, ptr @test_count, align 4, !tbaa !5
  %30597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30598 = load i32, ptr %30597, align 4, !tbaa !5
  %30599 = call ptr @s2n_strerror(i32 noundef %30598, ptr noundef @.str.25)
  %30600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30601 = load i32, ptr %30600, align 4, !tbaa !5
  %30602 = call ptr @s2n_strerror_debug(i32 noundef %30601, ptr noundef @.str.25)
  %30603 = call ptr @__errno_location() #12
  %30604 = load i32, ptr %30603, align 4, !tbaa !5
  %30605 = call ptr @strerror(i32 noundef %30604) #11
  %30606 = call ptr @__errno_location() #12
  %30607 = load i32, ptr %30606, align 4, !tbaa !5
  %30608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30595, ptr noundef @.str.26, i32 noundef %30596, ptr noundef @.str.34, ptr noundef @.str.22, i32 noundef 1394, ptr noundef %30599, ptr noundef %30602, ptr noundef %30605, i32 noundef %30607) #11
  br label %30609

30609:                                            ; preds = %30592, %30575
  call void @llvm.lifetime.end.p0(i64 4, ptr %749) #11
  br label %30610

30610:                                            ; preds = %30609
  br label %30611

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

30612:                                            ; No predecessors!
  br label %30613

30613:                                            ; preds = %30612
  br label %30614

30614:                                            ; preds = %30613, %30556
  br label %30615

30615:                                            ; preds = %30614
  br label %30616

30616:                                            ; preds = %30615
  br label %30617

30617:                                            ; preds = %30616
  %30618 = load i32, ptr @test_count, align 4, !tbaa !5
  %30619 = add nsw i32 %30618, 1
  store i32 %30619, ptr @test_count, align 4, !tbaa !5
  %30620 = load ptr, ptr %744, align 8, !tbaa !9
  %30621 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %748, ptr noundef %748, ptr noundef %30620)
  %30622 = icmp eq i32 %30621, -1
  br i1 %30622, label %30623, label %30676

30623:                                            ; preds = %30617
  br label %30624

30624:                                            ; preds = %30623
  br label %30625

30625:                                            ; preds = %30624
  call void @llvm.lifetime.start.p0(i64 4, ptr %750) #11
  %30626 = call ptr @__errno_location() #12
  %30627 = load i32, ptr %30626, align 4, !tbaa !5
  store i32 %30627, ptr %750, align 4, !tbaa !5
  %30628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30629 = call i32 @s2n_print_stacktrace(ptr noundef %30628)
  %30630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30631 = trunc i8 %30630 to i1
  br i1 %30631, label %30632, label %30654

30632:                                            ; preds = %30625
  %30633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30634 = call i32 @fileno(ptr noundef %30633) #11
  %30635 = call i32 @isatty(i32 noundef %30634) #11
  %30636 = icmp ne i32 %30635, 0
  br i1 %30636, label %30637, label %30654

30637:                                            ; preds = %30632
  %30638 = load i32, ptr %750, align 4, !tbaa !5
  %30639 = call ptr @__errno_location() #12
  store i32 %30638, ptr %30639, align 4, !tbaa !5
  %30640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30641 = load i32, ptr @test_count, align 4, !tbaa !5
  %30642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30643 = load i32, ptr %30642, align 4, !tbaa !5
  %30644 = call ptr @s2n_strerror(i32 noundef %30643, ptr noundef @.str.25)
  %30645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30646 = load i32, ptr %30645, align 4, !tbaa !5
  %30647 = call ptr @s2n_strerror_debug(i32 noundef %30646, ptr noundef @.str.25)
  %30648 = call ptr @__errno_location() #12
  %30649 = load i32, ptr %30648, align 4, !tbaa !5
  %30650 = call ptr @strerror(i32 noundef %30649) #11
  %30651 = call ptr @__errno_location() #12
  %30652 = load i32, ptr %30651, align 4, !tbaa !5
  %30653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30640, ptr noundef @.str.23, i32 noundef %30641, ptr noundef @.str.204, ptr noundef @.str.22, i32 noundef 1395, ptr noundef %30644, ptr noundef %30647, ptr noundef %30650, i32 noundef %30652) #11
  br label %30671

30654:                                            ; preds = %30632, %30625
  %30655 = load i32, ptr %750, align 4, !tbaa !5
  %30656 = call ptr @__errno_location() #12
  store i32 %30655, ptr %30656, align 4, !tbaa !5
  %30657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30658 = load i32, ptr @test_count, align 4, !tbaa !5
  %30659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30660 = load i32, ptr %30659, align 4, !tbaa !5
  %30661 = call ptr @s2n_strerror(i32 noundef %30660, ptr noundef @.str.25)
  %30662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30663 = load i32, ptr %30662, align 4, !tbaa !5
  %30664 = call ptr @s2n_strerror_debug(i32 noundef %30663, ptr noundef @.str.25)
  %30665 = call ptr @__errno_location() #12
  %30666 = load i32, ptr %30665, align 4, !tbaa !5
  %30667 = call ptr @strerror(i32 noundef %30666) #11
  %30668 = call ptr @__errno_location() #12
  %30669 = load i32, ptr %30668, align 4, !tbaa !5
  %30670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30657, ptr noundef @.str.26, i32 noundef %30658, ptr noundef @.str.204, ptr noundef @.str.22, i32 noundef 1395, ptr noundef %30661, ptr noundef %30664, ptr noundef %30667, i32 noundef %30669) #11
  br label %30671

30671:                                            ; preds = %30654, %30637
  call void @llvm.lifetime.end.p0(i64 4, ptr %750) #11
  br label %30672

30672:                                            ; preds = %30671
  br label %30673

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

30674:                                            ; No predecessors!
  br label %30675

30675:                                            ; preds = %30674
  br label %30676

30676:                                            ; preds = %30675, %30617
  br label %30677

30677:                                            ; preds = %30676
  br label %30678

30678:                                            ; preds = %30677
  call void @llvm.lifetime.start.p0(i64 8, ptr %751) #11
  store i64 0, ptr %751, align 8, !tbaa !15
  br label %30679

30679:                                            ; preds = %30678
  %30680 = load i32, ptr @test_count, align 4, !tbaa !5
  %30681 = add nsw i32 %30680, 1
  store i32 %30681, ptr @test_count, align 4, !tbaa !5
  %30682 = load ptr, ptr %744, align 8, !tbaa !9
  %30683 = call i32 @s2n_connection_get_session_state_size(ptr noundef %30682, ptr noundef %751)
  %30684 = getelementptr inbounds %struct.s2n_result, ptr %752, i32 0, i32 0
  store i32 %30683, ptr %30684, align 4
  %30685 = getelementptr inbounds %struct.s2n_result, ptr %752, i32 0, i32 0
  %30686 = load i32, ptr %30685, align 4
  %30687 = call zeroext i1 @s2n_result_is_ok(i32 %30686)
  br i1 %30687, label %30741, label %30688

30688:                                            ; preds = %30679
  br label %30689

30689:                                            ; preds = %30688
  br label %30690

30690:                                            ; preds = %30689
  call void @llvm.lifetime.start.p0(i64 4, ptr %753) #11
  %30691 = call ptr @__errno_location() #12
  %30692 = load i32, ptr %30691, align 4, !tbaa !5
  store i32 %30692, ptr %753, align 4, !tbaa !5
  %30693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30694 = call i32 @s2n_print_stacktrace(ptr noundef %30693)
  %30695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30696 = trunc i8 %30695 to i1
  br i1 %30696, label %30697, label %30719

30697:                                            ; preds = %30690
  %30698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30699 = call i32 @fileno(ptr noundef %30698) #11
  %30700 = call i32 @isatty(i32 noundef %30699) #11
  %30701 = icmp ne i32 %30700, 0
  br i1 %30701, label %30702, label %30719

30702:                                            ; preds = %30697
  %30703 = load i32, ptr %753, align 4, !tbaa !5
  %30704 = call ptr @__errno_location() #12
  store i32 %30703, ptr %30704, align 4, !tbaa !5
  %30705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30706 = load i32, ptr @test_count, align 4, !tbaa !5
  %30707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30708 = load i32, ptr %30707, align 4, !tbaa !5
  %30709 = call ptr @s2n_strerror(i32 noundef %30708, ptr noundef @.str.25)
  %30710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30711 = load i32, ptr %30710, align 4, !tbaa !5
  %30712 = call ptr @s2n_strerror_debug(i32 noundef %30711, ptr noundef @.str.25)
  %30713 = call ptr @__errno_location() #12
  %30714 = load i32, ptr %30713, align 4, !tbaa !5
  %30715 = call ptr @strerror(i32 noundef %30714) #11
  %30716 = call ptr @__errno_location() #12
  %30717 = load i32, ptr %30716, align 4, !tbaa !5
  %30718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30705, ptr noundef @.str.23, i32 noundef %30706, ptr noundef @.str.205, ptr noundef @.str.22, i32 noundef 1400, ptr noundef %30709, ptr noundef %30712, ptr noundef %30715, i32 noundef %30717) #11
  br label %30736

30719:                                            ; preds = %30697, %30690
  %30720 = load i32, ptr %753, align 4, !tbaa !5
  %30721 = call ptr @__errno_location() #12
  store i32 %30720, ptr %30721, align 4, !tbaa !5
  %30722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30723 = load i32, ptr @test_count, align 4, !tbaa !5
  %30724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30725 = load i32, ptr %30724, align 4, !tbaa !5
  %30726 = call ptr @s2n_strerror(i32 noundef %30725, ptr noundef @.str.25)
  %30727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30728 = load i32, ptr %30727, align 4, !tbaa !5
  %30729 = call ptr @s2n_strerror_debug(i32 noundef %30728, ptr noundef @.str.25)
  %30730 = call ptr @__errno_location() #12
  %30731 = load i32, ptr %30730, align 4, !tbaa !5
  %30732 = call ptr @strerror(i32 noundef %30731) #11
  %30733 = call ptr @__errno_location() #12
  %30734 = load i32, ptr %30733, align 4, !tbaa !5
  %30735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30722, ptr noundef @.str.26, i32 noundef %30723, ptr noundef @.str.205, ptr noundef @.str.22, i32 noundef 1400, ptr noundef %30726, ptr noundef %30729, ptr noundef %30732, i32 noundef %30734) #11
  br label %30736

30736:                                            ; preds = %30719, %30702
  call void @llvm.lifetime.end.p0(i64 4, ptr %753) #11
  br label %30737

30737:                                            ; preds = %30736
  br label %30738

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

30739:                                            ; No predecessors!
  br label %30740

30740:                                            ; preds = %30739
  br label %30741

30741:                                            ; preds = %30740, %30679
  br label %30742

30742:                                            ; preds = %30741
  br label %30743

30743:                                            ; preds = %30742
  br label %30744

30744:                                            ; preds = %30743
  %30745 = load i32, ptr @test_count, align 4, !tbaa !5
  %30746 = add nsw i32 %30745, 1
  store i32 %30746, ptr @test_count, align 4, !tbaa !5
  %30747 = load i64, ptr %751, align 8, !tbaa !15
  %30748 = icmp eq i64 %30747, 0
  br i1 %30748, label %30749, label %30802

30749:                                            ; preds = %30744
  br label %30750

30750:                                            ; preds = %30749
  br label %30751

30751:                                            ; preds = %30750
  call void @llvm.lifetime.start.p0(i64 4, ptr %754) #11
  %30752 = call ptr @__errno_location() #12
  %30753 = load i32, ptr %30752, align 4, !tbaa !5
  store i32 %30753, ptr %754, align 4, !tbaa !5
  %30754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30755 = call i32 @s2n_print_stacktrace(ptr noundef %30754)
  %30756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30757 = trunc i8 %30756 to i1
  br i1 %30757, label %30758, label %30780

30758:                                            ; preds = %30751
  %30759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30760 = call i32 @fileno(ptr noundef %30759) #11
  %30761 = call i32 @isatty(i32 noundef %30760) #11
  %30762 = icmp ne i32 %30761, 0
  br i1 %30762, label %30763, label %30780

30763:                                            ; preds = %30758
  %30764 = load i32, ptr %754, align 4, !tbaa !5
  %30765 = call ptr @__errno_location() #12
  store i32 %30764, ptr %30765, align 4, !tbaa !5
  %30766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30767 = load i32, ptr @test_count, align 4, !tbaa !5
  %30768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30769 = load i32, ptr %30768, align 4, !tbaa !5
  %30770 = call ptr @s2n_strerror(i32 noundef %30769, ptr noundef @.str.25)
  %30771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30772 = load i32, ptr %30771, align 4, !tbaa !5
  %30773 = call ptr @s2n_strerror_debug(i32 noundef %30772, ptr noundef @.str.25)
  %30774 = call ptr @__errno_location() #12
  %30775 = load i32, ptr %30774, align 4, !tbaa !5
  %30776 = call ptr @strerror(i32 noundef %30775) #11
  %30777 = call ptr @__errno_location() #12
  %30778 = load i32, ptr %30777, align 4, !tbaa !5
  %30779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30766, ptr noundef @.str.23, i32 noundef %30767, ptr noundef @.str.206, ptr noundef @.str.22, i32 noundef 1401, ptr noundef %30770, ptr noundef %30773, ptr noundef %30776, i32 noundef %30778) #11
  br label %30797

30780:                                            ; preds = %30758, %30751
  %30781 = load i32, ptr %754, align 4, !tbaa !5
  %30782 = call ptr @__errno_location() #12
  store i32 %30781, ptr %30782, align 4, !tbaa !5
  %30783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30784 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30786, ptr noundef @.str.25)
  %30788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30789 = load i32, ptr %30788, align 4, !tbaa !5
  %30790 = call ptr @s2n_strerror_debug(i32 noundef %30789, ptr noundef @.str.25)
  %30791 = call ptr @__errno_location() #12
  %30792 = load i32, ptr %30791, align 4, !tbaa !5
  %30793 = call ptr @strerror(i32 noundef %30792) #11
  %30794 = call ptr @__errno_location() #12
  %30795 = load i32, ptr %30794, align 4, !tbaa !5
  %30796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30783, ptr noundef @.str.26, i32 noundef %30784, ptr noundef @.str.206, ptr noundef @.str.22, i32 noundef 1401, ptr noundef %30787, ptr noundef %30790, ptr noundef %30793, i32 noundef %30795) #11
  br label %30797

30797:                                            ; preds = %30780, %30763
  call void @llvm.lifetime.end.p0(i64 4, ptr %754) #11
  br label %30798

30798:                                            ; preds = %30797
  br label %30799

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

30800:                                            ; No predecessors!
  br label %30801

30801:                                            ; preds = %30800
  br label %30802

30802:                                            ; preds = %30801, %30744
  br label %30803

30803:                                            ; preds = %30802
  br label %30804

30804:                                            ; preds = %30803
  call void @llvm.lifetime.start.p0(i64 4, ptr %755) #11
  store i32 0, ptr %755, align 4, !tbaa !5
  br label %30805

30805:                                            ; preds = %30804
  %30806 = load i32, ptr @test_count, align 4, !tbaa !5
  %30807 = add nsw i32 %30806, 1
  store i32 %30807, ptr @test_count, align 4, !tbaa !5
  %30808 = load ptr, ptr %744, align 8, !tbaa !9
  %30809 = call i32 @s2n_tls13_server_nst_send(ptr noundef %30808, ptr noundef %755)
  %30810 = getelementptr inbounds %struct.s2n_result, ptr %756, i32 0, i32 0
  store i32 %30809, ptr %30810, align 4
  %30811 = getelementptr inbounds %struct.s2n_result, ptr %756, i32 0, i32 0
  %30812 = load i32, ptr %30811, align 4
  %30813 = call zeroext i1 @s2n_result_is_ok(i32 %30812)
  br i1 %30813, label %30867, label %30814

30814:                                            ; preds = %30805
  br label %30815

30815:                                            ; preds = %30814
  br label %30816

30816:                                            ; preds = %30815
  call void @llvm.lifetime.start.p0(i64 4, ptr %757) #11
  %30817 = call ptr @__errno_location() #12
  %30818 = load i32, ptr %30817, align 4, !tbaa !5
  store i32 %30818, ptr %757, align 4, !tbaa !5
  %30819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30820 = call i32 @s2n_print_stacktrace(ptr noundef %30819)
  %30821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30822 = trunc i8 %30821 to i1
  br i1 %30822, label %30823, label %30845

30823:                                            ; preds = %30816
  %30824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30825 = call i32 @fileno(ptr noundef %30824) #11
  %30826 = call i32 @isatty(i32 noundef %30825) #11
  %30827 = icmp ne i32 %30826, 0
  br i1 %30827, label %30828, label %30845

30828:                                            ; preds = %30823
  %30829 = load i32, ptr %757, align 4, !tbaa !5
  %30830 = call ptr @__errno_location() #12
  store i32 %30829, ptr %30830, align 4, !tbaa !5
  %30831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30832 = load i32, ptr @test_count, align 4, !tbaa !5
  %30833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30834 = load i32, ptr %30833, align 4, !tbaa !5
  %30835 = call ptr @s2n_strerror(i32 noundef %30834, ptr noundef @.str.25)
  %30836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30837 = load i32, ptr %30836, align 4, !tbaa !5
  %30838 = call ptr @s2n_strerror_debug(i32 noundef %30837, ptr noundef @.str.25)
  %30839 = call ptr @__errno_location() #12
  %30840 = load i32, ptr %30839, align 4, !tbaa !5
  %30841 = call ptr @strerror(i32 noundef %30840) #11
  %30842 = call ptr @__errno_location() #12
  %30843 = load i32, ptr %30842, align 4, !tbaa !5
  %30844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30831, ptr noundef @.str.23, i32 noundef %30832, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1404, ptr noundef %30835, ptr noundef %30838, ptr noundef %30841, i32 noundef %30843) #11
  br label %30862

30845:                                            ; preds = %30823, %30816
  %30846 = load i32, ptr %757, align 4, !tbaa !5
  %30847 = call ptr @__errno_location() #12
  store i32 %30846, ptr %30847, align 4, !tbaa !5
  %30848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30849 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30851, ptr noundef @.str.25)
  %30853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30854 = load i32, ptr %30853, align 4, !tbaa !5
  %30855 = call ptr @s2n_strerror_debug(i32 noundef %30854, ptr noundef @.str.25)
  %30856 = call ptr @__errno_location() #12
  %30857 = load i32, ptr %30856, align 4, !tbaa !5
  %30858 = call ptr @strerror(i32 noundef %30857) #11
  %30859 = call ptr @__errno_location() #12
  %30860 = load i32, ptr %30859, align 4, !tbaa !5
  %30861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30848, ptr noundef @.str.26, i32 noundef %30849, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1404, ptr noundef %30852, ptr noundef %30855, ptr noundef %30858, i32 noundef %30860) #11
  br label %30862

30862:                                            ; preds = %30845, %30828
  call void @llvm.lifetime.end.p0(i64 4, ptr %757) #11
  br label %30863

30863:                                            ; preds = %30862
  br label %30864

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

30865:                                            ; No predecessors!
  br label %30866

30866:                                            ; preds = %30865
  br label %30867

30867:                                            ; preds = %30866, %30805
  br label %30868

30868:                                            ; preds = %30867
  br label %30869

30869:                                            ; preds = %30868
  br label %30870

30870:                                            ; preds = %30869
  %30871 = load i32, ptr @test_count, align 4, !tbaa !5
  %30872 = add nsw i32 %30871, 1
  store i32 %30872, ptr @test_count, align 4, !tbaa !5
  %30873 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 2
  %30874 = load i32, ptr %30873, align 4, !tbaa !52
  %30875 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 1
  %30876 = load i32, ptr %30875, align 8, !tbaa !53
  %30877 = sub i32 %30874, %30876
  %30878 = icmp eq i32 %30877, 0
  br i1 %30878, label %30879, label %30932

30879:                                            ; preds = %30870
  br label %30880

30880:                                            ; preds = %30879
  br label %30881

30881:                                            ; preds = %30880
  call void @llvm.lifetime.start.p0(i64 4, ptr %758) #11
  %30882 = call ptr @__errno_location() #12
  %30883 = load i32, ptr %30882, align 4, !tbaa !5
  store i32 %30883, ptr %758, align 4, !tbaa !5
  %30884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30885 = call i32 @s2n_print_stacktrace(ptr noundef %30884)
  %30886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30887 = trunc i8 %30886 to i1
  br i1 %30887, label %30888, label %30910

30888:                                            ; preds = %30881
  %30889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30890 = call i32 @fileno(ptr noundef %30889) #11
  %30891 = call i32 @isatty(i32 noundef %30890) #11
  %30892 = icmp ne i32 %30891, 0
  br i1 %30892, label %30893, label %30910

30893:                                            ; preds = %30888
  %30894 = load i32, ptr %758, align 4, !tbaa !5
  %30895 = call ptr @__errno_location() #12
  store i32 %30894, ptr %30895, align 4, !tbaa !5
  %30896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30897 = load i32, ptr @test_count, align 4, !tbaa !5
  %30898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30899 = load i32, ptr %30898, align 4, !tbaa !5
  %30900 = call ptr @s2n_strerror(i32 noundef %30899, ptr noundef @.str.25)
  %30901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30902 = load i32, ptr %30901, align 4, !tbaa !5
  %30903 = call ptr @s2n_strerror_debug(i32 noundef %30902, ptr noundef @.str.25)
  %30904 = call ptr @__errno_location() #12
  %30905 = load i32, ptr %30904, align 4, !tbaa !5
  %30906 = call ptr @strerror(i32 noundef %30905) #11
  %30907 = call ptr @__errno_location() #12
  %30908 = load i32, ptr %30907, align 4, !tbaa !5
  %30909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30896, ptr noundef @.str.23, i32 noundef %30897, ptr noundef @.str.207, ptr noundef @.str.22, i32 noundef 1405, ptr noundef %30900, ptr noundef %30903, ptr noundef %30906, i32 noundef %30908) #11
  br label %30927

30910:                                            ; preds = %30888, %30881
  %30911 = load i32, ptr %758, align 4, !tbaa !5
  %30912 = call ptr @__errno_location() #12
  store i32 %30911, ptr %30912, align 4, !tbaa !5
  %30913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30914 = load i32, ptr @test_count, align 4, !tbaa !5
  %30915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30916 = load i32, ptr %30915, align 4, !tbaa !5
  %30917 = call ptr @s2n_strerror(i32 noundef %30916, ptr noundef @.str.25)
  %30918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30919 = load i32, ptr %30918, align 4, !tbaa !5
  %30920 = call ptr @s2n_strerror_debug(i32 noundef %30919, ptr noundef @.str.25)
  %30921 = call ptr @__errno_location() #12
  %30922 = load i32, ptr %30921, align 4, !tbaa !5
  %30923 = call ptr @strerror(i32 noundef %30922) #11
  %30924 = call ptr @__errno_location() #12
  %30925 = load i32, ptr %30924, align 4, !tbaa !5
  %30926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30913, ptr noundef @.str.26, i32 noundef %30914, ptr noundef @.str.207, ptr noundef @.str.22, i32 noundef 1405, ptr noundef %30917, ptr noundef %30920, ptr noundef %30923, i32 noundef %30925) #11
  br label %30927

30927:                                            ; preds = %30910, %30893
  call void @llvm.lifetime.end.p0(i64 4, ptr %758) #11
  br label %30928

30928:                                            ; preds = %30927
  br label %30929

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

30930:                                            ; No predecessors!
  br label %30931

30931:                                            ; preds = %30930
  br label %30932

30932:                                            ; preds = %30931, %30870
  br label %30933

30933:                                            ; preds = %30932
  br label %30934

30934:                                            ; preds = %30933
  call void @llvm.lifetime.start.p0(i64 4, ptr %759) #11
  %30935 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 2
  %30936 = load i32, ptr %30935, align 4, !tbaa !52
  %30937 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 1
  %30938 = load i32, ptr %30937, align 8, !tbaa !53
  %30939 = sub i32 %30936, %30938
  %30940 = sub i32 %30939, 5
  store i32 %30940, ptr %759, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %760) #11
  %30941 = load i32, ptr %759, align 4, !tbaa !5
  %30942 = zext i32 %30941 to i64
  %30943 = load i64, ptr %751, align 8, !tbaa !15
  %30944 = sub i64 %30942, %30943
  %30945 = trunc i64 %30944 to i32
  store i32 %30945, ptr %760, align 4, !tbaa !5
  %30946 = load i32, ptr %760, align 4, !tbaa !5
  %30947 = icmp ne i32 112, %30946
  br i1 %30947, label %30948, label %30952

30948:                                            ; preds = %30934
  %30949 = load ptr, ptr @stdout, align 8, !tbaa !9
  %30950 = load i32, ptr %760, align 4, !tbaa !5
  %30951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30949, ptr noundef @.str.208, i32 noundef 112, i32 noundef %30950) #11
  br label %30952

30952:                                            ; preds = %30948, %30934
  br label %30953

30953:                                            ; preds = %30952
  %30954 = load i32, ptr @test_count, align 4, !tbaa !5
  %30955 = add nsw i32 %30954, 1
  store i32 %30955, ptr @test_count, align 4, !tbaa !5
  %30956 = load i32, ptr %760, align 4, !tbaa !5
  %30957 = icmp eq i32 112, %30956
  br i1 %30957, label %31011, label %30958

30958:                                            ; preds = %30953
  br label %30959

30959:                                            ; preds = %30958
  br label %30960

30960:                                            ; preds = %30959
  call void @llvm.lifetime.start.p0(i64 4, ptr %761) #11
  %30961 = call ptr @__errno_location() #12
  %30962 = load i32, ptr %30961, align 4, !tbaa !5
  store i32 %30962, ptr %761, align 4, !tbaa !5
  %30963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30964 = call i32 @s2n_print_stacktrace(ptr noundef %30963)
  %30965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30966 = trunc i8 %30965 to i1
  br i1 %30966, label %30967, label %30989

30967:                                            ; preds = %30960
  %30968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30969 = call i32 @fileno(ptr noundef %30968) #11
  %30970 = call i32 @isatty(i32 noundef %30969) #11
  %30971 = icmp ne i32 %30970, 0
  br i1 %30971, label %30972, label %30989

30972:                                            ; preds = %30967
  %30973 = load i32, ptr %761, align 4, !tbaa !5
  %30974 = call ptr @__errno_location() #12
  store i32 %30973, ptr %30974, align 4, !tbaa !5
  %30975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30976 = load i32, ptr @test_count, align 4, !tbaa !5
  %30977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30978 = load i32, ptr %30977, align 4, !tbaa !5
  %30979 = call ptr @s2n_strerror(i32 noundef %30978, ptr noundef @.str.25)
  %30980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30981 = load i32, ptr %30980, align 4, !tbaa !5
  %30982 = call ptr @s2n_strerror_debug(i32 noundef %30981, ptr noundef @.str.25)
  %30983 = call ptr @__errno_location() #12
  %30984 = load i32, ptr %30983, align 4, !tbaa !5
  %30985 = call ptr @strerror(i32 noundef %30984) #11
  %30986 = call ptr @__errno_location() #12
  %30987 = load i32, ptr %30986, align 4, !tbaa !5
  %30988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30975, ptr noundef @.str.23, i32 noundef %30976, ptr noundef @.str.209, ptr noundef @.str.22, i32 noundef 1413, ptr noundef %30979, ptr noundef %30982, ptr noundef %30985, i32 noundef %30987) #11
  br label %31006

30989:                                            ; preds = %30967, %30960
  %30990 = load i32, ptr %761, align 4, !tbaa !5
  %30991 = call ptr @__errno_location() #12
  store i32 %30990, ptr %30991, align 4, !tbaa !5
  %30992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30993 = load i32, ptr @test_count, align 4, !tbaa !5
  %30994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30995 = load i32, ptr %30994, align 4, !tbaa !5
  %30996 = call ptr @s2n_strerror(i32 noundef %30995, ptr noundef @.str.25)
  %30997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30998 = load i32, ptr %30997, align 4, !tbaa !5
  %30999 = call ptr @s2n_strerror_debug(i32 noundef %30998, ptr noundef @.str.25)
  %31000 = call ptr @__errno_location() #12
  %31001 = load i32, ptr %31000, align 4, !tbaa !5
  %31002 = call ptr @strerror(i32 noundef %31001) #11
  %31003 = call ptr @__errno_location() #12
  %31004 = load i32, ptr %31003, align 4, !tbaa !5
  %31005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30992, ptr noundef @.str.26, i32 noundef %30993, ptr noundef @.str.209, ptr noundef @.str.22, i32 noundef 1413, ptr noundef %30996, ptr noundef %30999, ptr noundef %31002, i32 noundef %31004) #11
  br label %31006

31006:                                            ; preds = %30989, %30972
  call void @llvm.lifetime.end.p0(i64 4, ptr %761) #11
  br label %31007

31007:                                            ; preds = %31006
  br label %31008

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

31009:                                            ; No predecessors!
  br label %31010

31010:                                            ; preds = %31009
  br label %31011

31011:                                            ; preds = %31010, %30953
  br label %31012

31012:                                            ; preds = %31011
  br label %31013

31013:                                            ; preds = %31012
  call void @llvm.lifetime.end.p0(i64 4, ptr %760) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %759) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %755) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %751) #11
  br label %31014

31014:                                            ; preds = %31013
  %31015 = load i32, ptr @test_count, align 4, !tbaa !5
  %31016 = add nsw i32 %31015, 1
  store i32 %31016, ptr @test_count, align 4, !tbaa !5
  %31017 = call i32 @s2n_stuffer_wipe(ptr noundef %748)
  %31018 = icmp eq i32 %31017, -1
  br i1 %31018, label %31019, label %31072

31019:                                            ; preds = %31014
  br label %31020

31020:                                            ; preds = %31019
  br label %31021

31021:                                            ; preds = %31020
  call void @llvm.lifetime.start.p0(i64 4, ptr %762) #11
  %31022 = call ptr @__errno_location() #12
  %31023 = load i32, ptr %31022, align 4, !tbaa !5
  store i32 %31023, ptr %762, align 4, !tbaa !5
  %31024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31025 = call i32 @s2n_print_stacktrace(ptr noundef %31024)
  %31026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31027 = trunc i8 %31026 to i1
  br i1 %31027, label %31028, label %31050

31028:                                            ; preds = %31021
  %31029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31030 = call i32 @fileno(ptr noundef %31029) #11
  %31031 = call i32 @isatty(i32 noundef %31030) #11
  %31032 = icmp ne i32 %31031, 0
  br i1 %31032, label %31033, label %31050

31033:                                            ; preds = %31028
  %31034 = load i32, ptr %762, align 4, !tbaa !5
  %31035 = call ptr @__errno_location() #12
  store i32 %31034, ptr %31035, align 4, !tbaa !5
  %31036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31037 = load i32, ptr @test_count, align 4, !tbaa !5
  %31038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31039 = load i32, ptr %31038, align 4, !tbaa !5
  %31040 = call ptr @s2n_strerror(i32 noundef %31039, ptr noundef @.str.25)
  %31041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31042 = load i32, ptr %31041, align 4, !tbaa !5
  %31043 = call ptr @s2n_strerror_debug(i32 noundef %31042, ptr noundef @.str.25)
  %31044 = call ptr @__errno_location() #12
  %31045 = load i32, ptr %31044, align 4, !tbaa !5
  %31046 = call ptr @strerror(i32 noundef %31045) #11
  %31047 = call ptr @__errno_location() #12
  %31048 = load i32, ptr %31047, align 4, !tbaa !5
  %31049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31036, ptr noundef @.str.23, i32 noundef %31037, ptr noundef @.str.67, ptr noundef @.str.22, i32 noundef 1416, ptr noundef %31040, ptr noundef %31043, ptr noundef %31046, i32 noundef %31048) #11
  br label %31067

31050:                                            ; preds = %31028, %31021
  %31051 = load i32, ptr %762, align 4, !tbaa !5
  %31052 = call ptr @__errno_location() #12
  store i32 %31051, ptr %31052, align 4, !tbaa !5
  %31053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31054 = load i32, ptr @test_count, align 4, !tbaa !5
  %31055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31056 = load i32, ptr %31055, align 4, !tbaa !5
  %31057 = call ptr @s2n_strerror(i32 noundef %31056, ptr noundef @.str.25)
  %31058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31059 = load i32, ptr %31058, align 4, !tbaa !5
  %31060 = call ptr @s2n_strerror_debug(i32 noundef %31059, ptr noundef @.str.25)
  %31061 = call ptr @__errno_location() #12
  %31062 = load i32, ptr %31061, align 4, !tbaa !5
  %31063 = call ptr @strerror(i32 noundef %31062) #11
  %31064 = call ptr @__errno_location() #12
  %31065 = load i32, ptr %31064, align 4, !tbaa !5
  %31066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31053, ptr noundef @.str.26, i32 noundef %31054, ptr noundef @.str.67, ptr noundef @.str.22, i32 noundef 1416, ptr noundef %31057, ptr noundef %31060, ptr noundef %31063, i32 noundef %31065) #11
  br label %31067

31067:                                            ; preds = %31050, %31033
  call void @llvm.lifetime.end.p0(i64 4, ptr %762) #11
  br label %31068

31068:                                            ; preds = %31067
  br label %31069

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

31070:                                            ; No predecessors!
  br label %31071

31071:                                            ; preds = %31070
  br label %31072

31072:                                            ; preds = %31071, %31014
  br label %31073

31073:                                            ; preds = %31072
  br label %31074

31074:                                            ; preds = %31073
  %31075 = load ptr, ptr %744, align 8, !tbaa !9
  %31076 = getelementptr inbounds %struct.s2n_connection, ptr %31075, i32 0, i32 87
  %31077 = load i16, ptr %31076, align 4, !tbaa !81
  %31078 = add i16 %31077, 1
  store i16 %31078, ptr %31076, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 19, ptr %763) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %763, ptr align 16 @__const.main.early_data_context, i64 19, i1 false)
  br label %31079

31079:                                            ; preds = %31074
  %31080 = load i32, ptr @test_count, align 4, !tbaa !5
  %31081 = add nsw i32 %31080, 1
  store i32 %31081, ptr @test_count, align 4, !tbaa !5
  %31082 = load ptr, ptr %744, align 8, !tbaa !9
  %31083 = getelementptr inbounds [19 x i8], ptr %763, i64 0, i64 0
  %31084 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef %31082, ptr noundef %31083, i16 noundef zeroext 19)
  %31085 = icmp eq i32 %31084, -1
  br i1 %31085, label %31086, label %31139

31086:                                            ; preds = %31079
  br label %31087

31087:                                            ; preds = %31086
  br label %31088

31088:                                            ; preds = %31087
  call void @llvm.lifetime.start.p0(i64 4, ptr %764) #11
  %31089 = call ptr @__errno_location() #12
  %31090 = load i32, ptr %31089, align 4, !tbaa !5
  store i32 %31090, ptr %764, align 4, !tbaa !5
  %31091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31092 = call i32 @s2n_print_stacktrace(ptr noundef %31091)
  %31093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31094 = trunc i8 %31093 to i1
  br i1 %31094, label %31095, label %31117

31095:                                            ; preds = %31088
  %31096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31097 = call i32 @fileno(ptr noundef %31096) #11
  %31098 = call i32 @isatty(i32 noundef %31097) #11
  %31099 = icmp ne i32 %31098, 0
  br i1 %31099, label %31100, label %31117

31100:                                            ; preds = %31095
  %31101 = load i32, ptr %764, align 4, !tbaa !5
  %31102 = call ptr @__errno_location() #12
  store i32 %31101, ptr %31102, align 4, !tbaa !5
  %31103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31104 = load i32, ptr @test_count, align 4, !tbaa !5
  %31105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31106 = load i32, ptr %31105, align 4, !tbaa !5
  %31107 = call ptr @s2n_strerror(i32 noundef %31106, ptr noundef @.str.25)
  %31108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31109 = load i32, ptr %31108, align 4, !tbaa !5
  %31110 = call ptr @s2n_strerror_debug(i32 noundef %31109, ptr noundef @.str.25)
  %31111 = call ptr @__errno_location() #12
  %31112 = load i32, ptr %31111, align 4, !tbaa !5
  %31113 = call ptr @strerror(i32 noundef %31112) #11
  %31114 = call ptr @__errno_location() #12
  %31115 = load i32, ptr %31114, align 4, !tbaa !5
  %31116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31103, ptr noundef @.str.23, i32 noundef %31104, ptr noundef @.str.210, ptr noundef @.str.22, i32 noundef 1423, ptr noundef %31107, ptr noundef %31110, ptr noundef %31113, i32 noundef %31115) #11
  br label %31134

31117:                                            ; preds = %31095, %31088
  %31118 = load i32, ptr %764, align 4, !tbaa !5
  %31119 = call ptr @__errno_location() #12
  store i32 %31118, ptr %31119, align 4, !tbaa !5
  %31120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31121 = load i32, ptr @test_count, align 4, !tbaa !5
  %31122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31123 = load i32, ptr %31122, align 4, !tbaa !5
  %31124 = call ptr @s2n_strerror(i32 noundef %31123, ptr noundef @.str.25)
  %31125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31126 = load i32, ptr %31125, align 4, !tbaa !5
  %31127 = call ptr @s2n_strerror_debug(i32 noundef %31126, ptr noundef @.str.25)
  %31128 = call ptr @__errno_location() #12
  %31129 = load i32, ptr %31128, align 4, !tbaa !5
  %31130 = call ptr @strerror(i32 noundef %31129) #11
  %31131 = call ptr @__errno_location() #12
  %31132 = load i32, ptr %31131, align 4, !tbaa !5
  %31133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31120, ptr noundef @.str.26, i32 noundef %31121, ptr noundef @.str.210, ptr noundef @.str.22, i32 noundef 1423, ptr noundef %31124, ptr noundef %31127, ptr noundef %31130, i32 noundef %31132) #11
  br label %31134

31134:                                            ; preds = %31117, %31100
  call void @llvm.lifetime.end.p0(i64 4, ptr %764) #11
  br label %31135

31135:                                            ; preds = %31134
  br label %31136

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

31137:                                            ; No predecessors!
  br label %31138

31138:                                            ; preds = %31137
  br label %31139

31139:                                            ; preds = %31138, %31079
  br label %31140

31140:                                            ; preds = %31139
  br label %31141

31141:                                            ; preds = %31140
  call void @llvm.lifetime.start.p0(i64 8, ptr %765) #11
  store i64 0, ptr %765, align 8, !tbaa !15
  br label %31142

31142:                                            ; preds = %31141
  %31143 = load i32, ptr @test_count, align 4, !tbaa !5
  %31144 = add nsw i32 %31143, 1
  store i32 %31144, ptr @test_count, align 4, !tbaa !5
  %31145 = load ptr, ptr %744, align 8, !tbaa !9
  %31146 = call i32 @s2n_connection_get_session_state_size(ptr noundef %31145, ptr noundef %765)
  %31147 = getelementptr inbounds %struct.s2n_result, ptr %766, i32 0, i32 0
  store i32 %31146, ptr %31147, align 4
  %31148 = getelementptr inbounds %struct.s2n_result, ptr %766, i32 0, i32 0
  %31149 = load i32, ptr %31148, align 4
  %31150 = call zeroext i1 @s2n_result_is_ok(i32 %31149)
  br i1 %31150, label %31204, label %31151

31151:                                            ; preds = %31142
  br label %31152

31152:                                            ; preds = %31151
  br label %31153

31153:                                            ; preds = %31152
  call void @llvm.lifetime.start.p0(i64 4, ptr %767) #11
  %31154 = call ptr @__errno_location() #12
  %31155 = load i32, ptr %31154, align 4, !tbaa !5
  store i32 %31155, ptr %767, align 4, !tbaa !5
  %31156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31157 = call i32 @s2n_print_stacktrace(ptr noundef %31156)
  %31158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31159 = trunc i8 %31158 to i1
  br i1 %31159, label %31160, label %31182

31160:                                            ; preds = %31153
  %31161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31162 = call i32 @fileno(ptr noundef %31161) #11
  %31163 = call i32 @isatty(i32 noundef %31162) #11
  %31164 = icmp ne i32 %31163, 0
  br i1 %31164, label %31165, label %31182

31165:                                            ; preds = %31160
  %31166 = load i32, ptr %767, align 4, !tbaa !5
  %31167 = call ptr @__errno_location() #12
  store i32 %31166, ptr %31167, align 4, !tbaa !5
  %31168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31169 = load i32, ptr @test_count, align 4, !tbaa !5
  %31170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31171 = load i32, ptr %31170, align 4, !tbaa !5
  %31172 = call ptr @s2n_strerror(i32 noundef %31171, ptr noundef @.str.25)
  %31173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31174 = load i32, ptr %31173, align 4, !tbaa !5
  %31175 = call ptr @s2n_strerror_debug(i32 noundef %31174, ptr noundef @.str.25)
  %31176 = call ptr @__errno_location() #12
  %31177 = load i32, ptr %31176, align 4, !tbaa !5
  %31178 = call ptr @strerror(i32 noundef %31177) #11
  %31179 = call ptr @__errno_location() #12
  %31180 = load i32, ptr %31179, align 4, !tbaa !5
  %31181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31168, ptr noundef @.str.23, i32 noundef %31169, ptr noundef @.str.205, ptr noundef @.str.22, i32 noundef 1426, ptr noundef %31172, ptr noundef %31175, ptr noundef %31178, i32 noundef %31180) #11
  br label %31199

31182:                                            ; preds = %31160, %31153
  %31183 = load i32, ptr %767, align 4, !tbaa !5
  %31184 = call ptr @__errno_location() #12
  store i32 %31183, ptr %31184, align 4, !tbaa !5
  %31185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31186 = load i32, ptr @test_count, align 4, !tbaa !5
  %31187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31188 = load i32, ptr %31187, align 4, !tbaa !5
  %31189 = call ptr @s2n_strerror(i32 noundef %31188, ptr noundef @.str.25)
  %31190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31191 = load i32, ptr %31190, align 4, !tbaa !5
  %31192 = call ptr @s2n_strerror_debug(i32 noundef %31191, ptr noundef @.str.25)
  %31193 = call ptr @__errno_location() #12
  %31194 = load i32, ptr %31193, align 4, !tbaa !5
  %31195 = call ptr @strerror(i32 noundef %31194) #11
  %31196 = call ptr @__errno_location() #12
  %31197 = load i32, ptr %31196, align 4, !tbaa !5
  %31198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31185, ptr noundef @.str.26, i32 noundef %31186, ptr noundef @.str.205, ptr noundef @.str.22, i32 noundef 1426, ptr noundef %31189, ptr noundef %31192, ptr noundef %31195, i32 noundef %31197) #11
  br label %31199

31199:                                            ; preds = %31182, %31165
  call void @llvm.lifetime.end.p0(i64 4, ptr %767) #11
  br label %31200

31200:                                            ; preds = %31199
  br label %31201

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

31202:                                            ; No predecessors!
  br label %31203

31203:                                            ; preds = %31202
  br label %31204

31204:                                            ; preds = %31203, %31142
  br label %31205

31205:                                            ; preds = %31204
  br label %31206

31206:                                            ; preds = %31205
  br label %31207

31207:                                            ; preds = %31206
  %31208 = load i32, ptr @test_count, align 4, !tbaa !5
  %31209 = add nsw i32 %31208, 1
  store i32 %31209, ptr @test_count, align 4, !tbaa !5
  %31210 = load i64, ptr %765, align 8, !tbaa !15
  %31211 = icmp eq i64 %31210, 0
  br i1 %31211, label %31212, label %31265

31212:                                            ; preds = %31207
  br label %31213

31213:                                            ; preds = %31212
  br label %31214

31214:                                            ; preds = %31213
  call void @llvm.lifetime.start.p0(i64 4, ptr %768) #11
  %31215 = call ptr @__errno_location() #12
  %31216 = load i32, ptr %31215, align 4, !tbaa !5
  store i32 %31216, ptr %768, align 4, !tbaa !5
  %31217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31218 = call i32 @s2n_print_stacktrace(ptr noundef %31217)
  %31219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31220 = trunc i8 %31219 to i1
  br i1 %31220, label %31221, label %31243

31221:                                            ; preds = %31214
  %31222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31223 = call i32 @fileno(ptr noundef %31222) #11
  %31224 = call i32 @isatty(i32 noundef %31223) #11
  %31225 = icmp ne i32 %31224, 0
  br i1 %31225, label %31226, label %31243

31226:                                            ; preds = %31221
  %31227 = load i32, ptr %768, align 4, !tbaa !5
  %31228 = call ptr @__errno_location() #12
  store i32 %31227, ptr %31228, align 4, !tbaa !5
  %31229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31230 = load i32, ptr @test_count, align 4, !tbaa !5
  %31231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31232 = load i32, ptr %31231, align 4, !tbaa !5
  %31233 = call ptr @s2n_strerror(i32 noundef %31232, ptr noundef @.str.25)
  %31234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31235 = load i32, ptr %31234, align 4, !tbaa !5
  %31236 = call ptr @s2n_strerror_debug(i32 noundef %31235, ptr noundef @.str.25)
  %31237 = call ptr @__errno_location() #12
  %31238 = load i32, ptr %31237, align 4, !tbaa !5
  %31239 = call ptr @strerror(i32 noundef %31238) #11
  %31240 = call ptr @__errno_location() #12
  %31241 = load i32, ptr %31240, align 4, !tbaa !5
  %31242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31229, ptr noundef @.str.23, i32 noundef %31230, ptr noundef @.str.206, ptr noundef @.str.22, i32 noundef 1427, ptr noundef %31233, ptr noundef %31236, ptr noundef %31239, i32 noundef %31241) #11
  br label %31260

31243:                                            ; preds = %31221, %31214
  %31244 = load i32, ptr %768, align 4, !tbaa !5
  %31245 = call ptr @__errno_location() #12
  store i32 %31244, ptr %31245, align 4, !tbaa !5
  %31246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31247 = load i32, ptr @test_count, align 4, !tbaa !5
  %31248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31249 = load i32, ptr %31248, align 4, !tbaa !5
  %31250 = call ptr @s2n_strerror(i32 noundef %31249, ptr noundef @.str.25)
  %31251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31252 = load i32, ptr %31251, align 4, !tbaa !5
  %31253 = call ptr @s2n_strerror_debug(i32 noundef %31252, ptr noundef @.str.25)
  %31254 = call ptr @__errno_location() #12
  %31255 = load i32, ptr %31254, align 4, !tbaa !5
  %31256 = call ptr @strerror(i32 noundef %31255) #11
  %31257 = call ptr @__errno_location() #12
  %31258 = load i32, ptr %31257, align 4, !tbaa !5
  %31259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31246, ptr noundef @.str.26, i32 noundef %31247, ptr noundef @.str.206, ptr noundef @.str.22, i32 noundef 1427, ptr noundef %31250, ptr noundef %31253, ptr noundef %31256, i32 noundef %31258) #11
  br label %31260

31260:                                            ; preds = %31243, %31226
  call void @llvm.lifetime.end.p0(i64 4, ptr %768) #11
  br label %31261

31261:                                            ; preds = %31260
  br label %31262

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

31263:                                            ; No predecessors!
  br label %31264

31264:                                            ; preds = %31263
  br label %31265

31265:                                            ; preds = %31264, %31207
  br label %31266

31266:                                            ; preds = %31265
  br label %31267

31267:                                            ; preds = %31266
  call void @llvm.lifetime.start.p0(i64 4, ptr %769) #11
  store i32 0, ptr %769, align 4, !tbaa !5
  br label %31268

31268:                                            ; preds = %31267
  %31269 = load i32, ptr @test_count, align 4, !tbaa !5
  %31270 = add nsw i32 %31269, 1
  store i32 %31270, ptr @test_count, align 4, !tbaa !5
  %31271 = load ptr, ptr %744, align 8, !tbaa !9
  %31272 = call i32 @s2n_tls13_server_nst_send(ptr noundef %31271, ptr noundef %769)
  %31273 = getelementptr inbounds %struct.s2n_result, ptr %770, i32 0, i32 0
  store i32 %31272, ptr %31273, align 4
  %31274 = getelementptr inbounds %struct.s2n_result, ptr %770, i32 0, i32 0
  %31275 = load i32, ptr %31274, align 4
  %31276 = call zeroext i1 @s2n_result_is_ok(i32 %31275)
  br i1 %31276, label %31330, label %31277

31277:                                            ; preds = %31268
  br label %31278

31278:                                            ; preds = %31277
  br label %31279

31279:                                            ; preds = %31278
  call void @llvm.lifetime.start.p0(i64 4, ptr %771) #11
  %31280 = call ptr @__errno_location() #12
  %31281 = load i32, ptr %31280, align 4, !tbaa !5
  store i32 %31281, ptr %771, align 4, !tbaa !5
  %31282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31283 = call i32 @s2n_print_stacktrace(ptr noundef %31282)
  %31284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31285 = trunc i8 %31284 to i1
  br i1 %31285, label %31286, label %31308

31286:                                            ; preds = %31279
  %31287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31288 = call i32 @fileno(ptr noundef %31287) #11
  %31289 = call i32 @isatty(i32 noundef %31288) #11
  %31290 = icmp ne i32 %31289, 0
  br i1 %31290, label %31291, label %31308

31291:                                            ; preds = %31286
  %31292 = load i32, ptr %771, align 4, !tbaa !5
  %31293 = call ptr @__errno_location() #12
  store i32 %31292, ptr %31293, align 4, !tbaa !5
  %31294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31295 = load i32, ptr @test_count, align 4, !tbaa !5
  %31296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31297 = load i32, ptr %31296, align 4, !tbaa !5
  %31298 = call ptr @s2n_strerror(i32 noundef %31297, ptr noundef @.str.25)
  %31299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31300 = load i32, ptr %31299, align 4, !tbaa !5
  %31301 = call ptr @s2n_strerror_debug(i32 noundef %31300, ptr noundef @.str.25)
  %31302 = call ptr @__errno_location() #12
  %31303 = load i32, ptr %31302, align 4, !tbaa !5
  %31304 = call ptr @strerror(i32 noundef %31303) #11
  %31305 = call ptr @__errno_location() #12
  %31306 = load i32, ptr %31305, align 4, !tbaa !5
  %31307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31294, ptr noundef @.str.23, i32 noundef %31295, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1430, ptr noundef %31298, ptr noundef %31301, ptr noundef %31304, i32 noundef %31306) #11
  br label %31325

31308:                                            ; preds = %31286, %31279
  %31309 = load i32, ptr %771, align 4, !tbaa !5
  %31310 = call ptr @__errno_location() #12
  store i32 %31309, ptr %31310, align 4, !tbaa !5
  %31311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31312 = load i32, ptr @test_count, align 4, !tbaa !5
  %31313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31314 = load i32, ptr %31313, align 4, !tbaa !5
  %31315 = call ptr @s2n_strerror(i32 noundef %31314, ptr noundef @.str.25)
  %31316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31317 = load i32, ptr %31316, align 4, !tbaa !5
  %31318 = call ptr @s2n_strerror_debug(i32 noundef %31317, ptr noundef @.str.25)
  %31319 = call ptr @__errno_location() #12
  %31320 = load i32, ptr %31319, align 4, !tbaa !5
  %31321 = call ptr @strerror(i32 noundef %31320) #11
  %31322 = call ptr @__errno_location() #12
  %31323 = load i32, ptr %31322, align 4, !tbaa !5
  %31324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31311, ptr noundef @.str.26, i32 noundef %31312, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1430, ptr noundef %31315, ptr noundef %31318, ptr noundef %31321, i32 noundef %31323) #11
  br label %31325

31325:                                            ; preds = %31308, %31291
  call void @llvm.lifetime.end.p0(i64 4, ptr %771) #11
  br label %31326

31326:                                            ; preds = %31325
  br label %31327

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

31328:                                            ; No predecessors!
  br label %31329

31329:                                            ; preds = %31328
  br label %31330

31330:                                            ; preds = %31329, %31268
  br label %31331

31331:                                            ; preds = %31330
  br label %31332

31332:                                            ; preds = %31331
  br label %31333

31333:                                            ; preds = %31332
  %31334 = load i32, ptr @test_count, align 4, !tbaa !5
  %31335 = add nsw i32 %31334, 1
  store i32 %31335, ptr @test_count, align 4, !tbaa !5
  %31336 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 2
  %31337 = load i32, ptr %31336, align 4, !tbaa !52
  %31338 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 1
  %31339 = load i32, ptr %31338, align 8, !tbaa !53
  %31340 = sub i32 %31337, %31339
  %31341 = icmp eq i32 %31340, 0
  br i1 %31341, label %31342, label %31395

31342:                                            ; preds = %31333
  br label %31343

31343:                                            ; preds = %31342
  br label %31344

31344:                                            ; preds = %31343
  call void @llvm.lifetime.start.p0(i64 4, ptr %772) #11
  %31345 = call ptr @__errno_location() #12
  %31346 = load i32, ptr %31345, align 4, !tbaa !5
  store i32 %31346, ptr %772, align 4, !tbaa !5
  %31347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31348 = call i32 @s2n_print_stacktrace(ptr noundef %31347)
  %31349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31350 = trunc i8 %31349 to i1
  br i1 %31350, label %31351, label %31373

31351:                                            ; preds = %31344
  %31352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31353 = call i32 @fileno(ptr noundef %31352) #11
  %31354 = call i32 @isatty(i32 noundef %31353) #11
  %31355 = icmp ne i32 %31354, 0
  br i1 %31355, label %31356, label %31373

31356:                                            ; preds = %31351
  %31357 = load i32, ptr %772, align 4, !tbaa !5
  %31358 = call ptr @__errno_location() #12
  store i32 %31357, ptr %31358, align 4, !tbaa !5
  %31359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31360 = load i32, ptr @test_count, align 4, !tbaa !5
  %31361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31362 = load i32, ptr %31361, align 4, !tbaa !5
  %31363 = call ptr @s2n_strerror(i32 noundef %31362, ptr noundef @.str.25)
  %31364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31365 = load i32, ptr %31364, align 4, !tbaa !5
  %31366 = call ptr @s2n_strerror_debug(i32 noundef %31365, ptr noundef @.str.25)
  %31367 = call ptr @__errno_location() #12
  %31368 = load i32, ptr %31367, align 4, !tbaa !5
  %31369 = call ptr @strerror(i32 noundef %31368) #11
  %31370 = call ptr @__errno_location() #12
  %31371 = load i32, ptr %31370, align 4, !tbaa !5
  %31372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31359, ptr noundef @.str.23, i32 noundef %31360, ptr noundef @.str.207, ptr noundef @.str.22, i32 noundef 1431, ptr noundef %31363, ptr noundef %31366, ptr noundef %31369, i32 noundef %31371) #11
  br label %31390

31373:                                            ; preds = %31351, %31344
  %31374 = load i32, ptr %772, align 4, !tbaa !5
  %31375 = call ptr @__errno_location() #12
  store i32 %31374, ptr %31375, align 4, !tbaa !5
  %31376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31377 = load i32, ptr @test_count, align 4, !tbaa !5
  %31378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31379 = load i32, ptr %31378, align 4, !tbaa !5
  %31380 = call ptr @s2n_strerror(i32 noundef %31379, ptr noundef @.str.25)
  %31381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31382 = load i32, ptr %31381, align 4, !tbaa !5
  %31383 = call ptr @s2n_strerror_debug(i32 noundef %31382, ptr noundef @.str.25)
  %31384 = call ptr @__errno_location() #12
  %31385 = load i32, ptr %31384, align 4, !tbaa !5
  %31386 = call ptr @strerror(i32 noundef %31385) #11
  %31387 = call ptr @__errno_location() #12
  %31388 = load i32, ptr %31387, align 4, !tbaa !5
  %31389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31376, ptr noundef @.str.26, i32 noundef %31377, ptr noundef @.str.207, ptr noundef @.str.22, i32 noundef 1431, ptr noundef %31380, ptr noundef %31383, ptr noundef %31386, i32 noundef %31388) #11
  br label %31390

31390:                                            ; preds = %31373, %31356
  call void @llvm.lifetime.end.p0(i64 4, ptr %772) #11
  br label %31391

31391:                                            ; preds = %31390
  br label %31392

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

31393:                                            ; No predecessors!
  br label %31394

31394:                                            ; preds = %31393
  br label %31395

31395:                                            ; preds = %31394, %31333
  br label %31396

31396:                                            ; preds = %31395
  br label %31397

31397:                                            ; preds = %31396
  call void @llvm.lifetime.start.p0(i64 4, ptr %773) #11
  %31398 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 2
  %31399 = load i32, ptr %31398, align 4, !tbaa !52
  %31400 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 1
  %31401 = load i32, ptr %31400, align 8, !tbaa !53
  %31402 = sub i32 %31399, %31401
  %31403 = sub i32 %31402, 5
  store i32 %31403, ptr %773, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %774) #11
  %31404 = load i32, ptr %773, align 4, !tbaa !5
  %31405 = zext i32 %31404 to i64
  %31406 = load i64, ptr %765, align 8, !tbaa !15
  %31407 = sub i64 %31405, %31406
  %31408 = trunc i64 %31407 to i32
  store i32 %31408, ptr %774, align 4, !tbaa !5
  br label %31409

31409:                                            ; preds = %31397
  %31410 = load i32, ptr @test_count, align 4, !tbaa !5
  %31411 = add nsw i32 %31410, 1
  store i32 %31411, ptr @test_count, align 4, !tbaa !5
  %31412 = load i32, ptr %774, align 4, !tbaa !5
  %31413 = icmp eq i32 112, %31412
  br i1 %31413, label %31467, label %31414

31414:                                            ; preds = %31409
  br label %31415

31415:                                            ; preds = %31414
  br label %31416

31416:                                            ; preds = %31415
  call void @llvm.lifetime.start.p0(i64 4, ptr %775) #11
  %31417 = call ptr @__errno_location() #12
  %31418 = load i32, ptr %31417, align 4, !tbaa !5
  store i32 %31418, ptr %775, align 4, !tbaa !5
  %31419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31420 = call i32 @s2n_print_stacktrace(ptr noundef %31419)
  %31421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31422 = trunc i8 %31421 to i1
  br i1 %31422, label %31423, label %31445

31423:                                            ; preds = %31416
  %31424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31425 = call i32 @fileno(ptr noundef %31424) #11
  %31426 = call i32 @isatty(i32 noundef %31425) #11
  %31427 = icmp ne i32 %31426, 0
  br i1 %31427, label %31428, label %31445

31428:                                            ; preds = %31423
  %31429 = load i32, ptr %775, align 4, !tbaa !5
  %31430 = call ptr @__errno_location() #12
  store i32 %31429, ptr %31430, align 4, !tbaa !5
  %31431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31432 = load i32, ptr @test_count, align 4, !tbaa !5
  %31433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31434 = load i32, ptr %31433, align 4, !tbaa !5
  %31435 = call ptr @s2n_strerror(i32 noundef %31434, ptr noundef @.str.25)
  %31436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31437 = load i32, ptr %31436, align 4, !tbaa !5
  %31438 = call ptr @s2n_strerror_debug(i32 noundef %31437, ptr noundef @.str.25)
  %31439 = call ptr @__errno_location() #12
  %31440 = load i32, ptr %31439, align 4, !tbaa !5
  %31441 = call ptr @strerror(i32 noundef %31440) #11
  %31442 = call ptr @__errno_location() #12
  %31443 = load i32, ptr %31442, align 4, !tbaa !5
  %31444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31431, ptr noundef @.str.23, i32 noundef %31432, ptr noundef @.str.209, ptr noundef @.str.22, i32 noundef 1435, ptr noundef %31435, ptr noundef %31438, ptr noundef %31441, i32 noundef %31443) #11
  br label %31462

31445:                                            ; preds = %31423, %31416
  %31446 = load i32, ptr %775, align 4, !tbaa !5
  %31447 = call ptr @__errno_location() #12
  store i32 %31446, ptr %31447, align 4, !tbaa !5
  %31448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31449 = load i32, ptr @test_count, align 4, !tbaa !5
  %31450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31451 = load i32, ptr %31450, align 4, !tbaa !5
  %31452 = call ptr @s2n_strerror(i32 noundef %31451, ptr noundef @.str.25)
  %31453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31454 = load i32, ptr %31453, align 4, !tbaa !5
  %31455 = call ptr @s2n_strerror_debug(i32 noundef %31454, ptr noundef @.str.25)
  %31456 = call ptr @__errno_location() #12
  %31457 = load i32, ptr %31456, align 4, !tbaa !5
  %31458 = call ptr @strerror(i32 noundef %31457) #11
  %31459 = call ptr @__errno_location() #12
  %31460 = load i32, ptr %31459, align 4, !tbaa !5
  %31461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31448, ptr noundef @.str.26, i32 noundef %31449, ptr noundef @.str.209, ptr noundef @.str.22, i32 noundef 1435, ptr noundef %31452, ptr noundef %31455, ptr noundef %31458, i32 noundef %31460) #11
  br label %31462

31462:                                            ; preds = %31445, %31428
  call void @llvm.lifetime.end.p0(i64 4, ptr %775) #11
  br label %31463

31463:                                            ; preds = %31462
  br label %31464

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

31465:                                            ; No predecessors!
  br label %31466

31466:                                            ; preds = %31465
  br label %31467

31467:                                            ; preds = %31466, %31409
  br label %31468

31468:                                            ; preds = %31467
  br label %31469

31469:                                            ; preds = %31468
  call void @llvm.lifetime.end.p0(i64 4, ptr %774) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %773) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %769) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %765) #11
  call void @llvm.lifetime.end.p0(i64 19, ptr %763) #11
  br label %31470

31470:                                            ; preds = %31469
  %31471 = load i32, ptr @test_count, align 4, !tbaa !5
  %31472 = add nsw i32 %31471, 1
  store i32 %31472, ptr @test_count, align 4, !tbaa !5
  %31473 = call i32 @s2n_stuffer_wipe(ptr noundef %748)
  %31474 = icmp eq i32 %31473, -1
  br i1 %31474, label %31475, label %31528

31475:                                            ; preds = %31470
  br label %31476

31476:                                            ; preds = %31475
  br label %31477

31477:                                            ; preds = %31476
  call void @llvm.lifetime.start.p0(i64 4, ptr %776) #11
  %31478 = call ptr @__errno_location() #12
  %31479 = load i32, ptr %31478, align 4, !tbaa !5
  store i32 %31479, ptr %776, align 4, !tbaa !5
  %31480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31481 = call i32 @s2n_print_stacktrace(ptr noundef %31480)
  %31482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31483 = trunc i8 %31482 to i1
  br i1 %31483, label %31484, label %31506

31484:                                            ; preds = %31477
  %31485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31486 = call i32 @fileno(ptr noundef %31485) #11
  %31487 = call i32 @isatty(i32 noundef %31486) #11
  %31488 = icmp ne i32 %31487, 0
  br i1 %31488, label %31489, label %31506

31489:                                            ; preds = %31484
  %31490 = load i32, ptr %776, align 4, !tbaa !5
  %31491 = call ptr @__errno_location() #12
  store i32 %31490, ptr %31491, align 4, !tbaa !5
  %31492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31493 = load i32, ptr @test_count, align 4, !tbaa !5
  %31494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31495 = load i32, ptr %31494, align 4, !tbaa !5
  %31496 = call ptr @s2n_strerror(i32 noundef %31495, ptr noundef @.str.25)
  %31497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31498 = load i32, ptr %31497, align 4, !tbaa !5
  %31499 = call ptr @s2n_strerror_debug(i32 noundef %31498, ptr noundef @.str.25)
  %31500 = call ptr @__errno_location() #12
  %31501 = load i32, ptr %31500, align 4, !tbaa !5
  %31502 = call ptr @strerror(i32 noundef %31501) #11
  %31503 = call ptr @__errno_location() #12
  %31504 = load i32, ptr %31503, align 4, !tbaa !5
  %31505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31492, ptr noundef @.str.23, i32 noundef %31493, ptr noundef @.str.67, ptr noundef @.str.22, i32 noundef 1438, ptr noundef %31496, ptr noundef %31499, ptr noundef %31502, i32 noundef %31504) #11
  br label %31523

31506:                                            ; preds = %31484, %31477
  %31507 = load i32, ptr %776, align 4, !tbaa !5
  %31508 = call ptr @__errno_location() #12
  store i32 %31507, ptr %31508, align 4, !tbaa !5
  %31509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31510 = load i32, ptr @test_count, align 4, !tbaa !5
  %31511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31512 = load i32, ptr %31511, align 4, !tbaa !5
  %31513 = call ptr @s2n_strerror(i32 noundef %31512, ptr noundef @.str.25)
  %31514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31515 = load i32, ptr %31514, align 4, !tbaa !5
  %31516 = call ptr @s2n_strerror_debug(i32 noundef %31515, ptr noundef @.str.25)
  %31517 = call ptr @__errno_location() #12
  %31518 = load i32, ptr %31517, align 4, !tbaa !5
  %31519 = call ptr @strerror(i32 noundef %31518) #11
  %31520 = call ptr @__errno_location() #12
  %31521 = load i32, ptr %31520, align 4, !tbaa !5
  %31522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31509, ptr noundef @.str.26, i32 noundef %31510, ptr noundef @.str.67, ptr noundef @.str.22, i32 noundef 1438, ptr noundef %31513, ptr noundef %31516, ptr noundef %31519, i32 noundef %31521) #11
  br label %31523

31523:                                            ; preds = %31506, %31489
  call void @llvm.lifetime.end.p0(i64 4, ptr %776) #11
  br label %31524

31524:                                            ; preds = %31523
  br label %31525

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

31526:                                            ; No predecessors!
  br label %31527

31527:                                            ; preds = %31526
  br label %31528

31528:                                            ; preds = %31527, %31470
  br label %31529

31529:                                            ; preds = %31528
  br label %31530

31530:                                            ; preds = %31529
  %31531 = load ptr, ptr %744, align 8, !tbaa !9
  %31532 = getelementptr inbounds %struct.s2n_connection, ptr %31531, i32 0, i32 87
  %31533 = load i16, ptr %31532, align 4, !tbaa !81
  %31534 = add i16 %31533, 1
  store i16 %31534, ptr %31532, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 29, ptr %777) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %777, ptr align 16 @__const.main.early_data_context.211, i64 29, i1 false)
  br label %31535

31535:                                            ; preds = %31530
  %31536 = load i32, ptr @test_count, align 4, !tbaa !5
  %31537 = add nsw i32 %31536, 1
  store i32 %31537, ptr @test_count, align 4, !tbaa !5
  %31538 = load ptr, ptr %744, align 8, !tbaa !9
  %31539 = getelementptr inbounds [29 x i8], ptr %777, i64 0, i64 0
  %31540 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef %31538, ptr noundef %31539, i16 noundef zeroext 29)
  %31541 = icmp eq i32 %31540, -1
  br i1 %31541, label %31542, label %31595

31542:                                            ; preds = %31535
  br label %31543

31543:                                            ; preds = %31542
  br label %31544

31544:                                            ; preds = %31543
  call void @llvm.lifetime.start.p0(i64 4, ptr %778) #11
  %31545 = call ptr @__errno_location() #12
  %31546 = load i32, ptr %31545, align 4, !tbaa !5
  store i32 %31546, ptr %778, align 4, !tbaa !5
  %31547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31548 = call i32 @s2n_print_stacktrace(ptr noundef %31547)
  %31549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31550 = trunc i8 %31549 to i1
  br i1 %31550, label %31551, label %31573

31551:                                            ; preds = %31544
  %31552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31553 = call i32 @fileno(ptr noundef %31552) #11
  %31554 = call i32 @isatty(i32 noundef %31553) #11
  %31555 = icmp ne i32 %31554, 0
  br i1 %31555, label %31556, label %31573

31556:                                            ; preds = %31551
  %31557 = load i32, ptr %778, align 4, !tbaa !5
  %31558 = call ptr @__errno_location() #12
  store i32 %31557, ptr %31558, align 4, !tbaa !5
  %31559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31560 = load i32, ptr @test_count, align 4, !tbaa !5
  %31561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31562 = load i32, ptr %31561, align 4, !tbaa !5
  %31563 = call ptr @s2n_strerror(i32 noundef %31562, ptr noundef @.str.25)
  %31564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31565 = load i32, ptr %31564, align 4, !tbaa !5
  %31566 = call ptr @s2n_strerror_debug(i32 noundef %31565, ptr noundef @.str.25)
  %31567 = call ptr @__errno_location() #12
  %31568 = load i32, ptr %31567, align 4, !tbaa !5
  %31569 = call ptr @strerror(i32 noundef %31568) #11
  %31570 = call ptr @__errno_location() #12
  %31571 = load i32, ptr %31570, align 4, !tbaa !5
  %31572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31559, ptr noundef @.str.23, i32 noundef %31560, ptr noundef @.str.210, ptr noundef @.str.22, i32 noundef 1445, ptr noundef %31563, ptr noundef %31566, ptr noundef %31569, i32 noundef %31571) #11
  br label %31590

31573:                                            ; preds = %31551, %31544
  %31574 = load i32, ptr %778, align 4, !tbaa !5
  %31575 = call ptr @__errno_location() #12
  store i32 %31574, ptr %31575, align 4, !tbaa !5
  %31576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31577 = load i32, ptr @test_count, align 4, !tbaa !5
  %31578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31579 = load i32, ptr %31578, align 4, !tbaa !5
  %31580 = call ptr @s2n_strerror(i32 noundef %31579, ptr noundef @.str.25)
  %31581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31582 = load i32, ptr %31581, align 4, !tbaa !5
  %31583 = call ptr @s2n_strerror_debug(i32 noundef %31582, ptr noundef @.str.25)
  %31584 = call ptr @__errno_location() #12
  %31585 = load i32, ptr %31584, align 4, !tbaa !5
  %31586 = call ptr @strerror(i32 noundef %31585) #11
  %31587 = call ptr @__errno_location() #12
  %31588 = load i32, ptr %31587, align 4, !tbaa !5
  %31589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31576, ptr noundef @.str.26, i32 noundef %31577, ptr noundef @.str.210, ptr noundef @.str.22, i32 noundef 1445, ptr noundef %31580, ptr noundef %31583, ptr noundef %31586, i32 noundef %31588) #11
  br label %31590

31590:                                            ; preds = %31573, %31556
  call void @llvm.lifetime.end.p0(i64 4, ptr %778) #11
  br label %31591

31591:                                            ; preds = %31590
  br label %31592

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

31593:                                            ; No predecessors!
  br label %31594

31594:                                            ; preds = %31593
  br label %31595

31595:                                            ; preds = %31594, %31535
  br label %31596

31596:                                            ; preds = %31595
  br label %31597

31597:                                            ; preds = %31596
  call void @llvm.lifetime.start.p0(i64 6, ptr %779) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %779, ptr align 1 @__const.main.app_protocol, i64 6, i1 false)
  br label %31598

31598:                                            ; preds = %31597
  call void @llvm.lifetime.start.p0(i64 8, ptr %780) #11
  store i64 6, ptr %780, align 8, !tbaa !15
  %31599 = load i64, ptr %780, align 8, !tbaa !15
  %31600 = icmp ne i64 %31599, 0
  br i1 %31600, label %31601, label %31662

31601:                                            ; preds = %31598
  %31602 = load ptr, ptr %744, align 8, !tbaa !9
  %31603 = getelementptr inbounds %struct.s2n_connection, ptr %31602, i32 0, i32 64
  %31604 = getelementptr inbounds [256 x i8], ptr %31603, i64 0, i64 0
  %31605 = getelementptr inbounds [6 x i8], ptr %779, i64 0, i64 0
  %31606 = load i64, ptr %780, align 8, !tbaa !15
  call void @llvm.memmove.p0.p0.i64(ptr align 8 %31604, ptr align 1 %31605, i64 %31606, i1 false)
  %31607 = icmp eq ptr %31604, null
  br i1 %31607, label %31608, label %31661

31608:                                            ; preds = %31601
  br label %31609

31609:                                            ; preds = %31608
  br label %31610

31610:                                            ; preds = %31609
  call void @llvm.lifetime.start.p0(i64 4, ptr %781) #11
  %31611 = call ptr @__errno_location() #12
  %31612 = load i32, ptr %31611, align 4, !tbaa !5
  store i32 %31612, ptr %781, align 4, !tbaa !5
  %31613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31614 = call i32 @s2n_print_stacktrace(ptr noundef %31613)
  %31615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31616 = trunc i8 %31615 to i1
  br i1 %31616, label %31617, label %31639

31617:                                            ; preds = %31610
  %31618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31619 = call i32 @fileno(ptr noundef %31618) #11
  %31620 = call i32 @isatty(i32 noundef %31619) #11
  %31621 = icmp ne i32 %31620, 0
  br i1 %31621, label %31622, label %31639

31622:                                            ; preds = %31617
  %31623 = load i32, ptr %781, align 4, !tbaa !5
  %31624 = call ptr @__errno_location() #12
  store i32 %31623, ptr %31624, align 4, !tbaa !5
  %31625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31626 = load i32, ptr @test_count, align 4, !tbaa !5
  %31627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31628 = load i32, ptr %31627, align 4, !tbaa !5
  %31629 = call ptr @s2n_strerror(i32 noundef %31628, ptr noundef @.str.25)
  %31630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31631 = load i32, ptr %31630, align 4, !tbaa !5
  %31632 = call ptr @s2n_strerror_debug(i32 noundef %31631, ptr noundef @.str.25)
  %31633 = call ptr @__errno_location() #12
  %31634 = load i32, ptr %31633, align 4, !tbaa !5
  %31635 = call ptr @strerror(i32 noundef %31634) #11
  %31636 = call ptr @__errno_location() #12
  %31637 = load i32, ptr %31636, align 4, !tbaa !5
  %31638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31625, ptr noundef @.str.23, i32 noundef %31626, ptr noundef @.str.212, ptr noundef @.str.22, i32 noundef 1448, ptr noundef %31629, ptr noundef %31632, ptr noundef %31635, i32 noundef %31637) #11
  br label %31656

31639:                                            ; preds = %31617, %31610
  %31640 = load i32, ptr %781, align 4, !tbaa !5
  %31641 = call ptr @__errno_location() #12
  store i32 %31640, ptr %31641, align 4, !tbaa !5
  %31642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31643 = load i32, ptr @test_count, align 4, !tbaa !5
  %31644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31645 = load i32, ptr %31644, align 4, !tbaa !5
  %31646 = call ptr @s2n_strerror(i32 noundef %31645, ptr noundef @.str.25)
  %31647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31648 = load i32, ptr %31647, align 4, !tbaa !5
  %31649 = call ptr @s2n_strerror_debug(i32 noundef %31648, ptr noundef @.str.25)
  %31650 = call ptr @__errno_location() #12
  %31651 = load i32, ptr %31650, align 4, !tbaa !5
  %31652 = call ptr @strerror(i32 noundef %31651) #11
  %31653 = call ptr @__errno_location() #12
  %31654 = load i32, ptr %31653, align 4, !tbaa !5
  %31655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31642, ptr noundef @.str.26, i32 noundef %31643, ptr noundef @.str.212, ptr noundef @.str.22, i32 noundef 1448, ptr noundef %31646, ptr noundef %31649, ptr noundef %31652, i32 noundef %31654) #11
  br label %31656

31656:                                            ; preds = %31639, %31622
  call void @llvm.lifetime.end.p0(i64 4, ptr %781) #11
  br label %31657

31657:                                            ; preds = %31656
  br label %31658

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

31659:                                            ; No predecessors!
  br label %31660

31660:                                            ; preds = %31659
  br label %31661

31661:                                            ; preds = %31660, %31601
  br label %31662

31662:                                            ; preds = %31661, %31598
  call void @llvm.lifetime.end.p0(i64 8, ptr %780) #11
  br label %31663

31663:                                            ; preds = %31662
  br label %31664

31664:                                            ; preds = %31663
  call void @llvm.lifetime.start.p0(i64 8, ptr %782) #11
  store i64 0, ptr %782, align 8, !tbaa !15
  br label %31665

31665:                                            ; preds = %31664
  %31666 = load i32, ptr @test_count, align 4, !tbaa !5
  %31667 = add nsw i32 %31666, 1
  store i32 %31667, ptr @test_count, align 4, !tbaa !5
  %31668 = load ptr, ptr %744, align 8, !tbaa !9
  %31669 = call i32 @s2n_connection_get_session_state_size(ptr noundef %31668, ptr noundef %782)
  %31670 = getelementptr inbounds %struct.s2n_result, ptr %783, i32 0, i32 0
  store i32 %31669, ptr %31670, align 4
  %31671 = getelementptr inbounds %struct.s2n_result, ptr %783, i32 0, i32 0
  %31672 = load i32, ptr %31671, align 4
  %31673 = call zeroext i1 @s2n_result_is_ok(i32 %31672)
  br i1 %31673, label %31727, label %31674

31674:                                            ; preds = %31665
  br label %31675

31675:                                            ; preds = %31674
  br label %31676

31676:                                            ; preds = %31675
  call void @llvm.lifetime.start.p0(i64 4, ptr %784) #11
  %31677 = call ptr @__errno_location() #12
  %31678 = load i32, ptr %31677, align 4, !tbaa !5
  store i32 %31678, ptr %784, align 4, !tbaa !5
  %31679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31680 = call i32 @s2n_print_stacktrace(ptr noundef %31679)
  %31681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31682 = trunc i8 %31681 to i1
  br i1 %31682, label %31683, label %31705

31683:                                            ; preds = %31676
  %31684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31685 = call i32 @fileno(ptr noundef %31684) #11
  %31686 = call i32 @isatty(i32 noundef %31685) #11
  %31687 = icmp ne i32 %31686, 0
  br i1 %31687, label %31688, label %31705

31688:                                            ; preds = %31683
  %31689 = load i32, ptr %784, align 4, !tbaa !5
  %31690 = call ptr @__errno_location() #12
  store i32 %31689, ptr %31690, align 4, !tbaa !5
  %31691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31692 = load i32, ptr @test_count, align 4, !tbaa !5
  %31693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31694 = load i32, ptr %31693, align 4, !tbaa !5
  %31695 = call ptr @s2n_strerror(i32 noundef %31694, ptr noundef @.str.25)
  %31696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31697 = load i32, ptr %31696, align 4, !tbaa !5
  %31698 = call ptr @s2n_strerror_debug(i32 noundef %31697, ptr noundef @.str.25)
  %31699 = call ptr @__errno_location() #12
  %31700 = load i32, ptr %31699, align 4, !tbaa !5
  %31701 = call ptr @strerror(i32 noundef %31700) #11
  %31702 = call ptr @__errno_location() #12
  %31703 = load i32, ptr %31702, align 4, !tbaa !5
  %31704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31691, ptr noundef @.str.23, i32 noundef %31692, ptr noundef @.str.205, ptr noundef @.str.22, i32 noundef 1451, ptr noundef %31695, ptr noundef %31698, ptr noundef %31701, i32 noundef %31703) #11
  br label %31722

31705:                                            ; preds = %31683, %31676
  %31706 = load i32, ptr %784, align 4, !tbaa !5
  %31707 = call ptr @__errno_location() #12
  store i32 %31706, ptr %31707, align 4, !tbaa !5
  %31708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31709 = load i32, ptr @test_count, align 4, !tbaa !5
  %31710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31711 = load i32, ptr %31710, align 4, !tbaa !5
  %31712 = call ptr @s2n_strerror(i32 noundef %31711, ptr noundef @.str.25)
  %31713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31714 = load i32, ptr %31713, align 4, !tbaa !5
  %31715 = call ptr @s2n_strerror_debug(i32 noundef %31714, ptr noundef @.str.25)
  %31716 = call ptr @__errno_location() #12
  %31717 = load i32, ptr %31716, align 4, !tbaa !5
  %31718 = call ptr @strerror(i32 noundef %31717) #11
  %31719 = call ptr @__errno_location() #12
  %31720 = load i32, ptr %31719, align 4, !tbaa !5
  %31721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31708, ptr noundef @.str.26, i32 noundef %31709, ptr noundef @.str.205, ptr noundef @.str.22, i32 noundef 1451, ptr noundef %31712, ptr noundef %31715, ptr noundef %31718, i32 noundef %31720) #11
  br label %31722

31722:                                            ; preds = %31705, %31688
  call void @llvm.lifetime.end.p0(i64 4, ptr %784) #11
  br label %31723

31723:                                            ; preds = %31722
  br label %31724

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

31725:                                            ; No predecessors!
  br label %31726

31726:                                            ; preds = %31725
  br label %31727

31727:                                            ; preds = %31726, %31665
  br label %31728

31728:                                            ; preds = %31727
  br label %31729

31729:                                            ; preds = %31728
  br label %31730

31730:                                            ; preds = %31729
  %31731 = load i32, ptr @test_count, align 4, !tbaa !5
  %31732 = add nsw i32 %31731, 1
  store i32 %31732, ptr @test_count, align 4, !tbaa !5
  %31733 = load i64, ptr %782, align 8, !tbaa !15
  %31734 = icmp eq i64 %31733, 0
  br i1 %31734, label %31735, label %31788

31735:                                            ; preds = %31730
  br label %31736

31736:                                            ; preds = %31735
  br label %31737

31737:                                            ; preds = %31736
  call void @llvm.lifetime.start.p0(i64 4, ptr %785) #11
  %31738 = call ptr @__errno_location() #12
  %31739 = load i32, ptr %31738, align 4, !tbaa !5
  store i32 %31739, ptr %785, align 4, !tbaa !5
  %31740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31741 = call i32 @s2n_print_stacktrace(ptr noundef %31740)
  %31742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31743 = trunc i8 %31742 to i1
  br i1 %31743, label %31744, label %31766

31744:                                            ; preds = %31737
  %31745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31746 = call i32 @fileno(ptr noundef %31745) #11
  %31747 = call i32 @isatty(i32 noundef %31746) #11
  %31748 = icmp ne i32 %31747, 0
  br i1 %31748, label %31749, label %31766

31749:                                            ; preds = %31744
  %31750 = load i32, ptr %785, align 4, !tbaa !5
  %31751 = call ptr @__errno_location() #12
  store i32 %31750, ptr %31751, align 4, !tbaa !5
  %31752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31753 = load i32, ptr @test_count, align 4, !tbaa !5
  %31754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31755 = load i32, ptr %31754, align 4, !tbaa !5
  %31756 = call ptr @s2n_strerror(i32 noundef %31755, ptr noundef @.str.25)
  %31757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31758 = load i32, ptr %31757, align 4, !tbaa !5
  %31759 = call ptr @s2n_strerror_debug(i32 noundef %31758, ptr noundef @.str.25)
  %31760 = call ptr @__errno_location() #12
  %31761 = load i32, ptr %31760, align 4, !tbaa !5
  %31762 = call ptr @strerror(i32 noundef %31761) #11
  %31763 = call ptr @__errno_location() #12
  %31764 = load i32, ptr %31763, align 4, !tbaa !5
  %31765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31752, ptr noundef @.str.23, i32 noundef %31753, ptr noundef @.str.206, ptr noundef @.str.22, i32 noundef 1452, ptr noundef %31756, ptr noundef %31759, ptr noundef %31762, i32 noundef %31764) #11
  br label %31783

31766:                                            ; preds = %31744, %31737
  %31767 = load i32, ptr %785, align 4, !tbaa !5
  %31768 = call ptr @__errno_location() #12
  store i32 %31767, ptr %31768, align 4, !tbaa !5
  %31769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31770 = load i32, ptr @test_count, align 4, !tbaa !5
  %31771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31772 = load i32, ptr %31771, align 4, !tbaa !5
  %31773 = call ptr @s2n_strerror(i32 noundef %31772, ptr noundef @.str.25)
  %31774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31775 = load i32, ptr %31774, align 4, !tbaa !5
  %31776 = call ptr @s2n_strerror_debug(i32 noundef %31775, ptr noundef @.str.25)
  %31777 = call ptr @__errno_location() #12
  %31778 = load i32, ptr %31777, align 4, !tbaa !5
  %31779 = call ptr @strerror(i32 noundef %31778) #11
  %31780 = call ptr @__errno_location() #12
  %31781 = load i32, ptr %31780, align 4, !tbaa !5
  %31782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31769, ptr noundef @.str.26, i32 noundef %31770, ptr noundef @.str.206, ptr noundef @.str.22, i32 noundef 1452, ptr noundef %31773, ptr noundef %31776, ptr noundef %31779, i32 noundef %31781) #11
  br label %31783

31783:                                            ; preds = %31766, %31749
  call void @llvm.lifetime.end.p0(i64 4, ptr %785) #11
  br label %31784

31784:                                            ; preds = %31783
  br label %31785

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

31786:                                            ; No predecessors!
  br label %31787

31787:                                            ; preds = %31786
  br label %31788

31788:                                            ; preds = %31787, %31730
  br label %31789

31789:                                            ; preds = %31788
  br label %31790

31790:                                            ; preds = %31789
  call void @llvm.lifetime.start.p0(i64 4, ptr %786) #11
  store i32 0, ptr %786, align 4, !tbaa !5
  br label %31791

31791:                                            ; preds = %31790
  %31792 = load i32, ptr @test_count, align 4, !tbaa !5
  %31793 = add nsw i32 %31792, 1
  store i32 %31793, ptr @test_count, align 4, !tbaa !5
  %31794 = load ptr, ptr %744, align 8, !tbaa !9
  %31795 = call i32 @s2n_tls13_server_nst_send(ptr noundef %31794, ptr noundef %786)
  %31796 = getelementptr inbounds %struct.s2n_result, ptr %787, i32 0, i32 0
  store i32 %31795, ptr %31796, align 4
  %31797 = getelementptr inbounds %struct.s2n_result, ptr %787, i32 0, i32 0
  %31798 = load i32, ptr %31797, align 4
  %31799 = call zeroext i1 @s2n_result_is_ok(i32 %31798)
  br i1 %31799, label %31853, label %31800

31800:                                            ; preds = %31791
  br label %31801

31801:                                            ; preds = %31800
  br label %31802

31802:                                            ; preds = %31801
  call void @llvm.lifetime.start.p0(i64 4, ptr %788) #11
  %31803 = call ptr @__errno_location() #12
  %31804 = load i32, ptr %31803, align 4, !tbaa !5
  store i32 %31804, ptr %788, align 4, !tbaa !5
  %31805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31806 = call i32 @s2n_print_stacktrace(ptr noundef %31805)
  %31807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31808 = trunc i8 %31807 to i1
  br i1 %31808, label %31809, label %31831

31809:                                            ; preds = %31802
  %31810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31811 = call i32 @fileno(ptr noundef %31810) #11
  %31812 = call i32 @isatty(i32 noundef %31811) #11
  %31813 = icmp ne i32 %31812, 0
  br i1 %31813, label %31814, label %31831

31814:                                            ; preds = %31809
  %31815 = load i32, ptr %788, align 4, !tbaa !5
  %31816 = call ptr @__errno_location() #12
  store i32 %31815, ptr %31816, align 4, !tbaa !5
  %31817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31818 = load i32, ptr @test_count, align 4, !tbaa !5
  %31819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31820 = load i32, ptr %31819, align 4, !tbaa !5
  %31821 = call ptr @s2n_strerror(i32 noundef %31820, ptr noundef @.str.25)
  %31822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31823 = load i32, ptr %31822, align 4, !tbaa !5
  %31824 = call ptr @s2n_strerror_debug(i32 noundef %31823, ptr noundef @.str.25)
  %31825 = call ptr @__errno_location() #12
  %31826 = load i32, ptr %31825, align 4, !tbaa !5
  %31827 = call ptr @strerror(i32 noundef %31826) #11
  %31828 = call ptr @__errno_location() #12
  %31829 = load i32, ptr %31828, align 4, !tbaa !5
  %31830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31817, ptr noundef @.str.23, i32 noundef %31818, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1455, ptr noundef %31821, ptr noundef %31824, ptr noundef %31827, i32 noundef %31829) #11
  br label %31848

31831:                                            ; preds = %31809, %31802
  %31832 = load i32, ptr %788, align 4, !tbaa !5
  %31833 = call ptr @__errno_location() #12
  store i32 %31832, ptr %31833, align 4, !tbaa !5
  %31834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31835 = load i32, ptr @test_count, align 4, !tbaa !5
  %31836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31837 = load i32, ptr %31836, align 4, !tbaa !5
  %31838 = call ptr @s2n_strerror(i32 noundef %31837, ptr noundef @.str.25)
  %31839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31840 = load i32, ptr %31839, align 4, !tbaa !5
  %31841 = call ptr @s2n_strerror_debug(i32 noundef %31840, ptr noundef @.str.25)
  %31842 = call ptr @__errno_location() #12
  %31843 = load i32, ptr %31842, align 4, !tbaa !5
  %31844 = call ptr @strerror(i32 noundef %31843) #11
  %31845 = call ptr @__errno_location() #12
  %31846 = load i32, ptr %31845, align 4, !tbaa !5
  %31847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31834, ptr noundef @.str.26, i32 noundef %31835, ptr noundef @.str.168, ptr noundef @.str.22, i32 noundef 1455, ptr noundef %31838, ptr noundef %31841, ptr noundef %31844, i32 noundef %31846) #11
  br label %31848

31848:                                            ; preds = %31831, %31814
  call void @llvm.lifetime.end.p0(i64 4, ptr %788) #11
  br label %31849

31849:                                            ; preds = %31848
  br label %31850

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

31851:                                            ; No predecessors!
  br label %31852

31852:                                            ; preds = %31851
  br label %31853

31853:                                            ; preds = %31852, %31791
  br label %31854

31854:                                            ; preds = %31853
  br label %31855

31855:                                            ; preds = %31854
  br label %31856

31856:                                            ; preds = %31855
  %31857 = load i32, ptr @test_count, align 4, !tbaa !5
  %31858 = add nsw i32 %31857, 1
  store i32 %31858, ptr @test_count, align 4, !tbaa !5
  %31859 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 2
  %31860 = load i32, ptr %31859, align 4, !tbaa !52
  %31861 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 1
  %31862 = load i32, ptr %31861, align 8, !tbaa !53
  %31863 = sub i32 %31860, %31862
  %31864 = icmp eq i32 %31863, 0
  br i1 %31864, label %31865, label %31918

31865:                                            ; preds = %31856
  br label %31866

31866:                                            ; preds = %31865
  br label %31867

31867:                                            ; preds = %31866
  call void @llvm.lifetime.start.p0(i64 4, ptr %789) #11
  %31868 = call ptr @__errno_location() #12
  %31869 = load i32, ptr %31868, align 4, !tbaa !5
  store i32 %31869, ptr %789, align 4, !tbaa !5
  %31870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31871 = call i32 @s2n_print_stacktrace(ptr noundef %31870)
  %31872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31873 = trunc i8 %31872 to i1
  br i1 %31873, label %31874, label %31896

31874:                                            ; preds = %31867
  %31875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31876 = call i32 @fileno(ptr noundef %31875) #11
  %31877 = call i32 @isatty(i32 noundef %31876) #11
  %31878 = icmp ne i32 %31877, 0
  br i1 %31878, label %31879, label %31896

31879:                                            ; preds = %31874
  %31880 = load i32, ptr %789, align 4, !tbaa !5
  %31881 = call ptr @__errno_location() #12
  store i32 %31880, ptr %31881, align 4, !tbaa !5
  %31882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31883 = load i32, ptr @test_count, align 4, !tbaa !5
  %31884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31885 = load i32, ptr %31884, align 4, !tbaa !5
  %31886 = call ptr @s2n_strerror(i32 noundef %31885, ptr noundef @.str.25)
  %31887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31888 = load i32, ptr %31887, align 4, !tbaa !5
  %31889 = call ptr @s2n_strerror_debug(i32 noundef %31888, ptr noundef @.str.25)
  %31890 = call ptr @__errno_location() #12
  %31891 = load i32, ptr %31890, align 4, !tbaa !5
  %31892 = call ptr @strerror(i32 noundef %31891) #11
  %31893 = call ptr @__errno_location() #12
  %31894 = load i32, ptr %31893, align 4, !tbaa !5
  %31895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31882, ptr noundef @.str.23, i32 noundef %31883, ptr noundef @.str.207, ptr noundef @.str.22, i32 noundef 1456, ptr noundef %31886, ptr noundef %31889, ptr noundef %31892, i32 noundef %31894) #11
  br label %31913

31896:                                            ; preds = %31874, %31867
  %31897 = load i32, ptr %789, align 4, !tbaa !5
  %31898 = call ptr @__errno_location() #12
  store i32 %31897, ptr %31898, align 4, !tbaa !5
  %31899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31900 = load i32, ptr @test_count, align 4, !tbaa !5
  %31901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31902 = load i32, ptr %31901, align 4, !tbaa !5
  %31903 = call ptr @s2n_strerror(i32 noundef %31902, ptr noundef @.str.25)
  %31904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31905 = load i32, ptr %31904, align 4, !tbaa !5
  %31906 = call ptr @s2n_strerror_debug(i32 noundef %31905, ptr noundef @.str.25)
  %31907 = call ptr @__errno_location() #12
  %31908 = load i32, ptr %31907, align 4, !tbaa !5
  %31909 = call ptr @strerror(i32 noundef %31908) #11
  %31910 = call ptr @__errno_location() #12
  %31911 = load i32, ptr %31910, align 4, !tbaa !5
  %31912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31899, ptr noundef @.str.26, i32 noundef %31900, ptr noundef @.str.207, ptr noundef @.str.22, i32 noundef 1456, ptr noundef %31903, ptr noundef %31906, ptr noundef %31909, i32 noundef %31911) #11
  br label %31913

31913:                                            ; preds = %31896, %31879
  call void @llvm.lifetime.end.p0(i64 4, ptr %789) #11
  br label %31914

31914:                                            ; preds = %31913
  br label %31915

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

31916:                                            ; No predecessors!
  br label %31917

31917:                                            ; preds = %31916
  br label %31918

31918:                                            ; preds = %31917, %31856
  br label %31919

31919:                                            ; preds = %31918
  br label %31920

31920:                                            ; preds = %31919
  call void @llvm.lifetime.start.p0(i64 4, ptr %790) #11
  %31921 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 2
  %31922 = load i32, ptr %31921, align 4, !tbaa !52
  %31923 = getelementptr inbounds %struct.s2n_stuffer, ptr %748, i32 0, i32 1
  %31924 = load i32, ptr %31923, align 8, !tbaa !53
  %31925 = sub i32 %31922, %31924
  %31926 = sub i32 %31925, 5
  store i32 %31926, ptr %790, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %791) #11
  %31927 = load i32, ptr %790, align 4, !tbaa !5
  %31928 = zext i32 %31927 to i64
  %31929 = load i64, ptr %782, align 8, !tbaa !15
  %31930 = sub i64 %31928, %31929
  %31931 = trunc i64 %31930 to i32
  store i32 %31931, ptr %791, align 4, !tbaa !5
  br label %31932

31932:                                            ; preds = %31920
  %31933 = load i32, ptr @test_count, align 4, !tbaa !5
  %31934 = add nsw i32 %31933, 1
  store i32 %31934, ptr @test_count, align 4, !tbaa !5
  %31935 = load i32, ptr %791, align 4, !tbaa !5
  %31936 = icmp eq i32 112, %31935
  br i1 %31936, label %31990, label %31937

31937:                                            ; preds = %31932
  br label %31938

31938:                                            ; preds = %31937
  br label %31939

31939:                                            ; preds = %31938
  call void @llvm.lifetime.start.p0(i64 4, ptr %792) #11
  %31940 = call ptr @__errno_location() #12
  %31941 = load i32, ptr %31940, align 4, !tbaa !5
  store i32 %31941, ptr %792, align 4, !tbaa !5
  %31942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31943 = call i32 @s2n_print_stacktrace(ptr noundef %31942)
  %31944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31945 = trunc i8 %31944 to i1
  br i1 %31945, label %31946, label %31968

31946:                                            ; preds = %31939
  %31947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31948 = call i32 @fileno(ptr noundef %31947) #11
  %31949 = call i32 @isatty(i32 noundef %31948) #11
  %31950 = icmp ne i32 %31949, 0
  br i1 %31950, label %31951, label %31968

31951:                                            ; preds = %31946
  %31952 = load i32, ptr %792, align 4, !tbaa !5
  %31953 = call ptr @__errno_location() #12
  store i32 %31952, ptr %31953, align 4, !tbaa !5
  %31954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31955 = load i32, ptr @test_count, align 4, !tbaa !5
  %31956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31957 = load i32, ptr %31956, align 4, !tbaa !5
  %31958 = call ptr @s2n_strerror(i32 noundef %31957, ptr noundef @.str.25)
  %31959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31960 = load i32, ptr %31959, align 4, !tbaa !5
  %31961 = call ptr @s2n_strerror_debug(i32 noundef %31960, ptr noundef @.str.25)
  %31962 = call ptr @__errno_location() #12
  %31963 = load i32, ptr %31962, align 4, !tbaa !5
  %31964 = call ptr @strerror(i32 noundef %31963) #11
  %31965 = call ptr @__errno_location() #12
  %31966 = load i32, ptr %31965, align 4, !tbaa !5
  %31967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31954, ptr noundef @.str.23, i32 noundef %31955, ptr noundef @.str.209, ptr noundef @.str.22, i32 noundef 1460, ptr noundef %31958, ptr noundef %31961, ptr noundef %31964, i32 noundef %31966) #11
  br label %31985

31968:                                            ; preds = %31946, %31939
  %31969 = load i32, ptr %792, align 4, !tbaa !5
  %31970 = call ptr @__errno_location() #12
  store i32 %31969, ptr %31970, align 4, !tbaa !5
  %31971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31972 = load i32, ptr @test_count, align 4, !tbaa !5
  %31973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31974 = load i32, ptr %31973, align 4, !tbaa !5
  %31975 = call ptr @s2n_strerror(i32 noundef %31974, ptr noundef @.str.25)
  %31976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31977 = load i32, ptr %31976, align 4, !tbaa !5
  %31978 = call ptr @s2n_strerror_debug(i32 noundef %31977, ptr noundef @.str.25)
  %31979 = call ptr @__errno_location() #12
  %31980 = load i32, ptr %31979, align 4, !tbaa !5
  %31981 = call ptr @strerror(i32 noundef %31980) #11
  %31982 = call ptr @__errno_location() #12
  %31983 = load i32, ptr %31982, align 4, !tbaa !5
  %31984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31971, ptr noundef @.str.26, i32 noundef %31972, ptr noundef @.str.209, ptr noundef @.str.22, i32 noundef 1460, ptr noundef %31975, ptr noundef %31978, ptr noundef %31981, i32 noundef %31983) #11
  br label %31985

31985:                                            ; preds = %31968, %31951
  call void @llvm.lifetime.end.p0(i64 4, ptr %792) #11
  br label %31986

31986:                                            ; preds = %31985
  br label %31987

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

31988:                                            ; No predecessors!
  br label %31989

31989:                                            ; preds = %31988
  br label %31990

31990:                                            ; preds = %31989, %31932
  br label %31991

31991:                                            ; preds = %31990
  br label %31992

31992:                                            ; preds = %31991
  call void @llvm.lifetime.end.p0(i64 4, ptr %791) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %790) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %786) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %782) #11
  call void @llvm.lifetime.end.p0(i64 6, ptr %779) #11
  call void @llvm.lifetime.end.p0(i64 29, ptr %777) #11
  br label %31993

31993:                                            ; preds = %31992
  %31994 = load i32, ptr @test_count, align 4, !tbaa !5
  %31995 = add nsw i32 %31994, 1
  store i32 %31995, ptr @test_count, align 4, !tbaa !5
  %31996 = call i32 @s2n_stuffer_free(ptr noundef %748)
  %31997 = icmp eq i32 %31996, -1
  br i1 %31997, label %31998, label %32051

31998:                                            ; preds = %31993
  br label %31999

31999:                                            ; preds = %31998
  br label %32000

32000:                                            ; preds = %31999
  call void @llvm.lifetime.start.p0(i64 4, ptr %793) #11
  %32001 = call ptr @__errno_location() #12
  %32002 = load i32, ptr %32001, align 4, !tbaa !5
  store i32 %32002, ptr %793, align 4, !tbaa !5
  %32003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32004 = call i32 @s2n_print_stacktrace(ptr noundef %32003)
  %32005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32006 = trunc i8 %32005 to i1
  br i1 %32006, label %32007, label %32029

32007:                                            ; preds = %32000
  %32008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32009 = call i32 @fileno(ptr noundef %32008) #11
  %32010 = call i32 @isatty(i32 noundef %32009) #11
  %32011 = icmp ne i32 %32010, 0
  br i1 %32011, label %32012, label %32029

32012:                                            ; preds = %32007
  %32013 = load i32, ptr %793, align 4, !tbaa !5
  %32014 = call ptr @__errno_location() #12
  store i32 %32013, ptr %32014, align 4, !tbaa !5
  %32015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32016 = load i32, ptr @test_count, align 4, !tbaa !5
  %32017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32018 = load i32, ptr %32017, align 4, !tbaa !5
  %32019 = call ptr @s2n_strerror(i32 noundef %32018, ptr noundef @.str.25)
  %32020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32021 = load i32, ptr %32020, align 4, !tbaa !5
  %32022 = call ptr @s2n_strerror_debug(i32 noundef %32021, ptr noundef @.str.25)
  %32023 = call ptr @__errno_location() #12
  %32024 = load i32, ptr %32023, align 4, !tbaa !5
  %32025 = call ptr @strerror(i32 noundef %32024) #11
  %32026 = call ptr @__errno_location() #12
  %32027 = load i32, ptr %32026, align 4, !tbaa !5
  %32028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32015, ptr noundef @.str.23, i32 noundef %32016, ptr noundef @.str.57, ptr noundef @.str.22, i32 noundef 1463, ptr noundef %32019, ptr noundef %32022, ptr noundef %32025, i32 noundef %32027) #11
  br label %32046

32029:                                            ; preds = %32007, %32000
  %32030 = load i32, ptr %793, align 4, !tbaa !5
  %32031 = call ptr @__errno_location() #12
  store i32 %32030, ptr %32031, align 4, !tbaa !5
  %32032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32033 = load i32, ptr @test_count, align 4, !tbaa !5
  %32034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32035 = load i32, ptr %32034, align 4, !tbaa !5
  %32036 = call ptr @s2n_strerror(i32 noundef %32035, ptr noundef @.str.25)
  %32037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32038 = load i32, ptr %32037, align 4, !tbaa !5
  %32039 = call ptr @s2n_strerror_debug(i32 noundef %32038, ptr noundef @.str.25)
  %32040 = call ptr @__errno_location() #12
  %32041 = load i32, ptr %32040, align 4, !tbaa !5
  %32042 = call ptr @strerror(i32 noundef %32041) #11
  %32043 = call ptr @__errno_location() #12
  %32044 = load i32, ptr %32043, align 4, !tbaa !5
  %32045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32032, ptr noundef @.str.26, i32 noundef %32033, ptr noundef @.str.57, ptr noundef @.str.22, i32 noundef 1463, ptr noundef %32036, ptr noundef %32039, ptr noundef %32042, i32 noundef %32044) #11
  br label %32046

32046:                                            ; preds = %32029, %32012
  call void @llvm.lifetime.end.p0(i64 4, ptr %793) #11
  br label %32047

32047:                                            ; preds = %32046
  br label %32048

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

32049:                                            ; No predecessors!
  br label %32050

32050:                                            ; preds = %32049
  br label %32051

32051:                                            ; preds = %32050, %31993
  br label %32052

32052:                                            ; preds = %32051
  br label %32053

32053:                                            ; preds = %32052
  br label %32054

32054:                                            ; preds = %32053
  %32055 = load i32, ptr @test_count, align 4, !tbaa !5
  %32056 = add nsw i32 %32055, 1
  store i32 %32056, ptr @test_count, align 4, !tbaa !5
  %32057 = load ptr, ptr %744, align 8, !tbaa !9
  %32058 = call i32 @s2n_connection_free(ptr noundef %32057)
  %32059 = icmp eq i32 %32058, -1
  br i1 %32059, label %32060, label %32113

32060:                                            ; preds = %32054
  br label %32061

32061:                                            ; preds = %32060
  br label %32062

32062:                                            ; preds = %32061
  call void @llvm.lifetime.start.p0(i64 4, ptr %794) #11
  %32063 = call ptr @__errno_location() #12
  %32064 = load i32, ptr %32063, align 4, !tbaa !5
  store i32 %32064, ptr %794, align 4, !tbaa !5
  %32065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32066 = call i32 @s2n_print_stacktrace(ptr noundef %32065)
  %32067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32068 = trunc i8 %32067 to i1
  br i1 %32068, label %32069, label %32091

32069:                                            ; preds = %32062
  %32070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32071 = call i32 @fileno(ptr noundef %32070) #11
  %32072 = call i32 @isatty(i32 noundef %32071) #11
  %32073 = icmp ne i32 %32072, 0
  br i1 %32073, label %32074, label %32091

32074:                                            ; preds = %32069
  %32075 = load i32, ptr %794, align 4, !tbaa !5
  %32076 = call ptr @__errno_location() #12
  store i32 %32075, ptr %32076, align 4, !tbaa !5
  %32077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32078 = load i32, ptr @test_count, align 4, !tbaa !5
  %32079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32080 = load i32, ptr %32079, align 4, !tbaa !5
  %32081 = call ptr @s2n_strerror(i32 noundef %32080, ptr noundef @.str.25)
  %32082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32083 = load i32, ptr %32082, align 4, !tbaa !5
  %32084 = call ptr @s2n_strerror_debug(i32 noundef %32083, ptr noundef @.str.25)
  %32085 = call ptr @__errno_location() #12
  %32086 = load i32, ptr %32085, align 4, !tbaa !5
  %32087 = call ptr @strerror(i32 noundef %32086) #11
  %32088 = call ptr @__errno_location() #12
  %32089 = load i32, ptr %32088, align 4, !tbaa !5
  %32090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32077, ptr noundef @.str.23, i32 noundef %32078, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1464, ptr noundef %32081, ptr noundef %32084, ptr noundef %32087, i32 noundef %32089) #11
  br label %32108

32091:                                            ; preds = %32069, %32062
  %32092 = load i32, ptr %794, align 4, !tbaa !5
  %32093 = call ptr @__errno_location() #12
  store i32 %32092, ptr %32093, align 4, !tbaa !5
  %32094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32095 = load i32, ptr @test_count, align 4, !tbaa !5
  %32096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32097 = load i32, ptr %32096, align 4, !tbaa !5
  %32098 = call ptr @s2n_strerror(i32 noundef %32097, ptr noundef @.str.25)
  %32099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32100 = load i32, ptr %32099, align 4, !tbaa !5
  %32101 = call ptr @s2n_strerror_debug(i32 noundef %32100, ptr noundef @.str.25)
  %32102 = call ptr @__errno_location() #12
  %32103 = load i32, ptr %32102, align 4, !tbaa !5
  %32104 = call ptr @strerror(i32 noundef %32103) #11
  %32105 = call ptr @__errno_location() #12
  %32106 = load i32, ptr %32105, align 4, !tbaa !5
  %32107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32094, ptr noundef @.str.26, i32 noundef %32095, ptr noundef @.str.56, ptr noundef @.str.22, i32 noundef 1464, ptr noundef %32098, ptr noundef %32101, ptr noundef %32104, i32 noundef %32106) #11
  br label %32108

32108:                                            ; preds = %32091, %32074
  call void @llvm.lifetime.end.p0(i64 4, ptr %794) #11
  br label %32109

32109:                                            ; preds = %32108
  br label %32110

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

32111:                                            ; No predecessors!
  br label %32112

32112:                                            ; preds = %32111
  br label %32113

32113:                                            ; preds = %32112, %32054
  br label %32114

32114:                                            ; preds = %32113
  br label %32115

32115:                                            ; preds = %32114
  br label %32116

32116:                                            ; preds = %32115
  %32117 = load i32, ptr @test_count, align 4, !tbaa !5
  %32118 = add nsw i32 %32117, 1
  store i32 %32118, ptr @test_count, align 4, !tbaa !5
  %32119 = load ptr, ptr %740, align 8, !tbaa !9
  %32120 = call i32 @s2n_config_free(ptr noundef %32119)
  %32121 = icmp eq i32 %32120, -1
  br i1 %32121, label %32122, label %32175

32122:                                            ; preds = %32116
  br label %32123

32123:                                            ; preds = %32122
  br label %32124

32124:                                            ; preds = %32123
  call void @llvm.lifetime.start.p0(i64 4, ptr %795) #11
  %32125 = call ptr @__errno_location() #12
  %32126 = load i32, ptr %32125, align 4, !tbaa !5
  store i32 %32126, ptr %795, align 4, !tbaa !5
  %32127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32128 = call i32 @s2n_print_stacktrace(ptr noundef %32127)
  %32129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32130 = trunc i8 %32129 to i1
  br i1 %32130, label %32131, label %32153

32131:                                            ; preds = %32124
  %32132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32133 = call i32 @fileno(ptr noundef %32132) #11
  %32134 = call i32 @isatty(i32 noundef %32133) #11
  %32135 = icmp ne i32 %32134, 0
  br i1 %32135, label %32136, label %32153

32136:                                            ; preds = %32131
  %32137 = load i32, ptr %795, align 4, !tbaa !5
  %32138 = call ptr @__errno_location() #12
  store i32 %32137, ptr %32138, align 4, !tbaa !5
  %32139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32140 = load i32, ptr @test_count, align 4, !tbaa !5
  %32141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32142 = load i32, ptr %32141, align 4, !tbaa !5
  %32143 = call ptr @s2n_strerror(i32 noundef %32142, ptr noundef @.str.25)
  %32144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32145 = load i32, ptr %32144, align 4, !tbaa !5
  %32146 = call ptr @s2n_strerror_debug(i32 noundef %32145, ptr noundef @.str.25)
  %32147 = call ptr @__errno_location() #12
  %32148 = load i32, ptr %32147, align 4, !tbaa !5
  %32149 = call ptr @strerror(i32 noundef %32148) #11
  %32150 = call ptr @__errno_location() #12
  %32151 = load i32, ptr %32150, align 4, !tbaa !5
  %32152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32139, ptr noundef @.str.23, i32 noundef %32140, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1465, ptr noundef %32143, ptr noundef %32146, ptr noundef %32149, i32 noundef %32151) #11
  br label %32170

32153:                                            ; preds = %32131, %32124
  %32154 = load i32, ptr %795, align 4, !tbaa !5
  %32155 = call ptr @__errno_location() #12
  store i32 %32154, ptr %32155, align 4, !tbaa !5
  %32156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32157 = load i32, ptr @test_count, align 4, !tbaa !5
  %32158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32159 = load i32, ptr %32158, align 4, !tbaa !5
  %32160 = call ptr @s2n_strerror(i32 noundef %32159, ptr noundef @.str.25)
  %32161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32162 = load i32, ptr %32161, align 4, !tbaa !5
  %32163 = call ptr @s2n_strerror_debug(i32 noundef %32162, ptr noundef @.str.25)
  %32164 = call ptr @__errno_location() #12
  %32165 = load i32, ptr %32164, align 4, !tbaa !5
  %32166 = call ptr @strerror(i32 noundef %32165) #11
  %32167 = call ptr @__errno_location() #12
  %32168 = load i32, ptr %32167, align 4, !tbaa !5
  %32169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32156, ptr noundef @.str.26, i32 noundef %32157, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1465, ptr noundef %32160, ptr noundef %32163, ptr noundef %32166, i32 noundef %32168) #11
  br label %32170

32170:                                            ; preds = %32153, %32136
  call void @llvm.lifetime.end.p0(i64 4, ptr %795) #11
  br label %32171

32171:                                            ; preds = %32170
  br label %32172

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

32173:                                            ; No predecessors!
  br label %32174

32174:                                            ; preds = %32173
  br label %32175

32175:                                            ; preds = %32174, %32116
  br label %32176

32176:                                            ; preds = %32175
  br label %32177

32177:                                            ; preds = %32176
  call void @llvm.lifetime.end.p0(i64 40, ptr %748) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %744) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %740) #11
  %32178 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %32178, label %32179, label %34273

32179:                                            ; preds = %32177
  call void @llvm.lifetime.start.p0(i64 8, ptr %796) #11
  store ptr null, ptr %796, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %797) #11
  store ptr null, ptr %797, align 8, !tbaa !9
  br label %32180

32180:                                            ; preds = %32179
  %32181 = load i32, ptr @test_count, align 4, !tbaa !5
  %32182 = add nsw i32 %32181, 1
  store i32 %32182, ptr @test_count, align 4, !tbaa !5
  %32183 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %32183, ptr %796, align 8, !tbaa !9
  %32184 = icmp eq ptr %32183, null
  br i1 %32184, label %32185, label %32238

32185:                                            ; preds = %32180
  br label %32186

32186:                                            ; preds = %32185
  br label %32187

32187:                                            ; preds = %32186
  call void @llvm.lifetime.start.p0(i64 4, ptr %798) #11
  %32188 = call ptr @__errno_location() #12
  %32189 = load i32, ptr %32188, align 4, !tbaa !5
  store i32 %32189, ptr %798, align 4, !tbaa !5
  %32190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32191 = call i32 @s2n_print_stacktrace(ptr noundef %32190)
  %32192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32193 = trunc i8 %32192 to i1
  br i1 %32193, label %32194, label %32216

32194:                                            ; preds = %32187
  %32195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32196 = call i32 @fileno(ptr noundef %32195) #11
  %32197 = call i32 @isatty(i32 noundef %32196) #11
  %32198 = icmp ne i32 %32197, 0
  br i1 %32198, label %32199, label %32216

32199:                                            ; preds = %32194
  %32200 = load i32, ptr %798, align 4, !tbaa !5
  %32201 = call ptr @__errno_location() #12
  store i32 %32200, ptr %32201, align 4, !tbaa !5
  %32202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32203 = load i32, ptr @test_count, align 4, !tbaa !5
  %32204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32205 = load i32, ptr %32204, align 4, !tbaa !5
  %32206 = call ptr @s2n_strerror(i32 noundef %32205, ptr noundef @.str.25)
  %32207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32208 = load i32, ptr %32207, align 4, !tbaa !5
  %32209 = call ptr @s2n_strerror_debug(i32 noundef %32208, ptr noundef @.str.25)
  %32210 = call ptr @__errno_location() #12
  %32211 = load i32, ptr %32210, align 4, !tbaa !5
  %32212 = call ptr @strerror(i32 noundef %32211) #11
  %32213 = call ptr @__errno_location() #12
  %32214 = load i32, ptr %32213, align 4, !tbaa !5
  %32215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32202, ptr noundef @.str.23, i32 noundef %32203, ptr noundef @.str.213, ptr noundef @.str.22, i32 noundef 1473, ptr noundef %32206, ptr noundef %32209, ptr noundef %32212, i32 noundef %32214) #11
  br label %32233

32216:                                            ; preds = %32194, %32187
  %32217 = load i32, ptr %798, align 4, !tbaa !5
  %32218 = call ptr @__errno_location() #12
  store i32 %32217, ptr %32218, align 4, !tbaa !5
  %32219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32220 = load i32, ptr @test_count, align 4, !tbaa !5
  %32221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32222 = load i32, ptr %32221, align 4, !tbaa !5
  %32223 = call ptr @s2n_strerror(i32 noundef %32222, ptr noundef @.str.25)
  %32224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32225 = load i32, ptr %32224, align 4, !tbaa !5
  %32226 = call ptr @s2n_strerror_debug(i32 noundef %32225, ptr noundef @.str.25)
  %32227 = call ptr @__errno_location() #12
  %32228 = load i32, ptr %32227, align 4, !tbaa !5
  %32229 = call ptr @strerror(i32 noundef %32228) #11
  %32230 = call ptr @__errno_location() #12
  %32231 = load i32, ptr %32230, align 4, !tbaa !5
  %32232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32219, ptr noundef @.str.26, i32 noundef %32220, ptr noundef @.str.213, ptr noundef @.str.22, i32 noundef 1473, ptr noundef %32223, ptr noundef %32226, ptr noundef %32229, i32 noundef %32231) #11
  br label %32233

32233:                                            ; preds = %32216, %32199
  call void @llvm.lifetime.end.p0(i64 4, ptr %798) #11
  br label %32234

32234:                                            ; preds = %32233
  br label %32235

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

32236:                                            ; No predecessors!
  br label %32237

32237:                                            ; preds = %32236
  br label %32238

32238:                                            ; preds = %32237, %32180
  br label %32239

32239:                                            ; preds = %32238
  br label %32240

32240:                                            ; preds = %32239
  br label %32241

32241:                                            ; preds = %32240
  %32242 = load i32, ptr @test_count, align 4, !tbaa !5
  %32243 = add nsw i32 %32242, 1
  store i32 %32243, ptr @test_count, align 4, !tbaa !5
  %32244 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %32244, ptr %797, align 8, !tbaa !9
  %32245 = icmp eq ptr %32244, null
  br i1 %32245, label %32246, label %32299

32246:                                            ; preds = %32241
  br label %32247

32247:                                            ; preds = %32246
  br label %32248

32248:                                            ; preds = %32247
  call void @llvm.lifetime.start.p0(i64 4, ptr %799) #11
  %32249 = call ptr @__errno_location() #12
  %32250 = load i32, ptr %32249, align 4, !tbaa !5
  store i32 %32250, ptr %799, align 4, !tbaa !5
  %32251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32252 = call i32 @s2n_print_stacktrace(ptr noundef %32251)
  %32253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32254 = trunc i8 %32253 to i1
  br i1 %32254, label %32255, label %32277

32255:                                            ; preds = %32248
  %32256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32257 = call i32 @fileno(ptr noundef %32256) #11
  %32258 = call i32 @isatty(i32 noundef %32257) #11
  %32259 = icmp ne i32 %32258, 0
  br i1 %32259, label %32260, label %32277

32260:                                            ; preds = %32255
  %32261 = load i32, ptr %799, align 4, !tbaa !5
  %32262 = call ptr @__errno_location() #12
  store i32 %32261, ptr %32262, align 4, !tbaa !5
  %32263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32264 = load i32, ptr @test_count, align 4, !tbaa !5
  %32265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32266 = load i32, ptr %32265, align 4, !tbaa !5
  %32267 = call ptr @s2n_strerror(i32 noundef %32266, ptr noundef @.str.25)
  %32268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32269 = load i32, ptr %32268, align 4, !tbaa !5
  %32270 = call ptr @s2n_strerror_debug(i32 noundef %32269, ptr noundef @.str.25)
  %32271 = call ptr @__errno_location() #12
  %32272 = load i32, ptr %32271, align 4, !tbaa !5
  %32273 = call ptr @strerror(i32 noundef %32272) #11
  %32274 = call ptr @__errno_location() #12
  %32275 = load i32, ptr %32274, align 4, !tbaa !5
  %32276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32263, ptr noundef @.str.23, i32 noundef %32264, ptr noundef @.str.214, ptr noundef @.str.22, i32 noundef 1474, ptr noundef %32267, ptr noundef %32270, ptr noundef %32273, i32 noundef %32275) #11
  br label %32294

32277:                                            ; preds = %32255, %32248
  %32278 = load i32, ptr %799, align 4, !tbaa !5
  %32279 = call ptr @__errno_location() #12
  store i32 %32278, ptr %32279, align 4, !tbaa !5
  %32280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32281 = load i32, ptr @test_count, align 4, !tbaa !5
  %32282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32283 = load i32, ptr %32282, align 4, !tbaa !5
  %32284 = call ptr @s2n_strerror(i32 noundef %32283, ptr noundef @.str.25)
  %32285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32286 = load i32, ptr %32285, align 4, !tbaa !5
  %32287 = call ptr @s2n_strerror_debug(i32 noundef %32286, ptr noundef @.str.25)
  %32288 = call ptr @__errno_location() #12
  %32289 = load i32, ptr %32288, align 4, !tbaa !5
  %32290 = call ptr @strerror(i32 noundef %32289) #11
  %32291 = call ptr @__errno_location() #12
  %32292 = load i32, ptr %32291, align 4, !tbaa !5
  %32293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32280, ptr noundef @.str.26, i32 noundef %32281, ptr noundef @.str.214, ptr noundef @.str.22, i32 noundef 1474, ptr noundef %32284, ptr noundef %32287, ptr noundef %32290, i32 noundef %32292) #11
  br label %32294

32294:                                            ; preds = %32277, %32260
  call void @llvm.lifetime.end.p0(i64 4, ptr %799) #11
  br label %32295

32295:                                            ; preds = %32294
  br label %32296

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

32297:                                            ; No predecessors!
  br label %32298

32298:                                            ; preds = %32297
  br label %32299

32299:                                            ; preds = %32298, %32241
  br label %32300

32300:                                            ; preds = %32299
  br label %32301

32301:                                            ; preds = %32300
  call void @llvm.lifetime.start.p0(i64 8, ptr %800) #11
  store ptr null, ptr %800, align 8, !tbaa !9
  br label %32302

32302:                                            ; preds = %32301
  %32303 = load i32, ptr @test_count, align 4, !tbaa !5
  %32304 = add nsw i32 %32303, 1
  store i32 %32304, ptr @test_count, align 4, !tbaa !5
  %32305 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %800, ptr noundef @.str.215, ptr noundef @.str.216)
  %32306 = icmp eq i32 %32305, -1
  br i1 %32306, label %32307, label %32360

32307:                                            ; preds = %32302
  br label %32308

32308:                                            ; preds = %32307
  br label %32309

32309:                                            ; preds = %32308
  call void @llvm.lifetime.start.p0(i64 4, ptr %801) #11
  %32310 = call ptr @__errno_location() #12
  %32311 = load i32, ptr %32310, align 4, !tbaa !5
  store i32 %32311, ptr %801, align 4, !tbaa !5
  %32312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32313 = call i32 @s2n_print_stacktrace(ptr noundef %32312)
  %32314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32315 = trunc i8 %32314 to i1
  br i1 %32315, label %32316, label %32338

32316:                                            ; preds = %32309
  %32317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32318 = call i32 @fileno(ptr noundef %32317) #11
  %32319 = call i32 @isatty(i32 noundef %32318) #11
  %32320 = icmp ne i32 %32319, 0
  br i1 %32320, label %32321, label %32338

32321:                                            ; preds = %32316
  %32322 = load i32, ptr %801, align 4, !tbaa !5
  %32323 = call ptr @__errno_location() #12
  store i32 %32322, ptr %32323, align 4, !tbaa !5
  %32324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32325 = load i32, ptr @test_count, align 4, !tbaa !5
  %32326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32327 = load i32, ptr %32326, align 4, !tbaa !5
  %32328 = call ptr @s2n_strerror(i32 noundef %32327, ptr noundef @.str.25)
  %32329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32330 = load i32, ptr %32329, align 4, !tbaa !5
  %32331 = call ptr @s2n_strerror_debug(i32 noundef %32330, ptr noundef @.str.25)
  %32332 = call ptr @__errno_location() #12
  %32333 = load i32, ptr %32332, align 4, !tbaa !5
  %32334 = call ptr @strerror(i32 noundef %32333) #11
  %32335 = call ptr @__errno_location() #12
  %32336 = load i32, ptr %32335, align 4, !tbaa !5
  %32337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32324, ptr noundef @.str.23, i32 noundef %32325, ptr noundef @.str.217, ptr noundef @.str.22, i32 noundef 1479, ptr noundef %32328, ptr noundef %32331, ptr noundef %32334, i32 noundef %32336) #11
  br label %32355

32338:                                            ; preds = %32316, %32309
  %32339 = load i32, ptr %801, align 4, !tbaa !5
  %32340 = call ptr @__errno_location() #12
  store i32 %32339, ptr %32340, align 4, !tbaa !5
  %32341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32342 = load i32, ptr @test_count, align 4, !tbaa !5
  %32343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32344 = load i32, ptr %32343, align 4, !tbaa !5
  %32345 = call ptr @s2n_strerror(i32 noundef %32344, ptr noundef @.str.25)
  %32346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32347 = load i32, ptr %32346, align 4, !tbaa !5
  %32348 = call ptr @s2n_strerror_debug(i32 noundef %32347, ptr noundef @.str.25)
  %32349 = call ptr @__errno_location() #12
  %32350 = load i32, ptr %32349, align 4, !tbaa !5
  %32351 = call ptr @strerror(i32 noundef %32350) #11
  %32352 = call ptr @__errno_location() #12
  %32353 = load i32, ptr %32352, align 4, !tbaa !5
  %32354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32341, ptr noundef @.str.26, i32 noundef %32342, ptr noundef @.str.217, ptr noundef @.str.22, i32 noundef 1479, ptr noundef %32345, ptr noundef %32348, ptr noundef %32351, i32 noundef %32353) #11
  br label %32355

32355:                                            ; preds = %32338, %32321
  call void @llvm.lifetime.end.p0(i64 4, ptr %801) #11
  br label %32356

32356:                                            ; preds = %32355
  br label %32357

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

32358:                                            ; No predecessors!
  br label %32359

32359:                                            ; preds = %32358
  br label %32360

32360:                                            ; preds = %32359, %32302
  br label %32361

32361:                                            ; preds = %32360
  br label %32362

32362:                                            ; preds = %32361
  call void @llvm.lifetime.start.p0(i64 8, ptr %802) #11
  store ptr null, ptr %802, align 8, !tbaa !9
  br label %32363

32363:                                            ; preds = %32362
  %32364 = load i32, ptr @test_count, align 4, !tbaa !5
  %32365 = add nsw i32 %32364, 1
  store i32 %32365, ptr @test_count, align 4, !tbaa !5
  %32366 = call ptr @s2n_config_new()
  store ptr %32366, ptr %802, align 8, !tbaa !9
  %32367 = icmp eq ptr %32366, null
  br i1 %32367, label %32368, label %32421

32368:                                            ; preds = %32363
  br label %32369

32369:                                            ; preds = %32368
  br label %32370

32370:                                            ; preds = %32369
  call void @llvm.lifetime.start.p0(i64 4, ptr %803) #11
  %32371 = call ptr @__errno_location() #12
  %32372 = load i32, ptr %32371, align 4, !tbaa !5
  store i32 %32372, ptr %803, align 4, !tbaa !5
  %32373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32374 = call i32 @s2n_print_stacktrace(ptr noundef %32373)
  %32375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32376 = trunc i8 %32375 to i1
  br i1 %32376, label %32377, label %32399

32377:                                            ; preds = %32370
  %32378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32379 = call i32 @fileno(ptr noundef %32378) #11
  %32380 = call i32 @isatty(i32 noundef %32379) #11
  %32381 = icmp ne i32 %32380, 0
  br i1 %32381, label %32382, label %32399

32382:                                            ; preds = %32377
  %32383 = load i32, ptr %803, align 4, !tbaa !5
  %32384 = call ptr @__errno_location() #12
  store i32 %32383, ptr %32384, align 4, !tbaa !5
  %32385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32386 = load i32, ptr @test_count, align 4, !tbaa !5
  %32387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32388 = load i32, ptr %32387, align 4, !tbaa !5
  %32389 = call ptr @s2n_strerror(i32 noundef %32388, ptr noundef @.str.25)
  %32390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32391 = load i32, ptr %32390, align 4, !tbaa !5
  %32392 = call ptr @s2n_strerror_debug(i32 noundef %32391, ptr noundef @.str.25)
  %32393 = call ptr @__errno_location() #12
  %32394 = load i32, ptr %32393, align 4, !tbaa !5
  %32395 = call ptr @strerror(i32 noundef %32394) #11
  %32396 = call ptr @__errno_location() #12
  %32397 = load i32, ptr %32396, align 4, !tbaa !5
  %32398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32385, ptr noundef @.str.23, i32 noundef %32386, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 1481, ptr noundef %32389, ptr noundef %32392, ptr noundef %32395, i32 noundef %32397) #11
  br label %32416

32399:                                            ; preds = %32377, %32370
  %32400 = load i32, ptr %803, align 4, !tbaa !5
  %32401 = call ptr @__errno_location() #12
  store i32 %32400, ptr %32401, align 4, !tbaa !5
  %32402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32403 = load i32, ptr @test_count, align 4, !tbaa !5
  %32404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32405 = load i32, ptr %32404, align 4, !tbaa !5
  %32406 = call ptr @s2n_strerror(i32 noundef %32405, ptr noundef @.str.25)
  %32407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32408 = load i32, ptr %32407, align 4, !tbaa !5
  %32409 = call ptr @s2n_strerror_debug(i32 noundef %32408, ptr noundef @.str.25)
  %32410 = call ptr @__errno_location() #12
  %32411 = load i32, ptr %32410, align 4, !tbaa !5
  %32412 = call ptr @strerror(i32 noundef %32411) #11
  %32413 = call ptr @__errno_location() #12
  %32414 = load i32, ptr %32413, align 4, !tbaa !5
  %32415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32402, ptr noundef @.str.26, i32 noundef %32403, ptr noundef @.str.30, ptr noundef @.str.22, i32 noundef 1481, ptr noundef %32406, ptr noundef %32409, ptr noundef %32412, i32 noundef %32414) #11
  br label %32416

32416:                                            ; preds = %32399, %32382
  call void @llvm.lifetime.end.p0(i64 4, ptr %803) #11
  br label %32417

32417:                                            ; preds = %32416
  br label %32418

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

32419:                                            ; No predecessors!
  br label %32420

32420:                                            ; preds = %32419
  br label %32421

32421:                                            ; preds = %32420, %32363
  br label %32422

32422:                                            ; preds = %32421
  br label %32423

32423:                                            ; preds = %32422
  br label %32424

32424:                                            ; preds = %32423
  %32425 = load i32, ptr @test_count, align 4, !tbaa !5
  %32426 = add nsw i32 %32425, 1
  store i32 %32426, ptr @test_count, align 4, !tbaa !5
  %32427 = load ptr, ptr %802, align 8, !tbaa !9
  %32428 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %32427, ptr noundef @.str.218)
  %32429 = icmp eq i32 %32428, -1
  br i1 %32429, label %32430, label %32483

32430:                                            ; preds = %32424
  br label %32431

32431:                                            ; preds = %32430
  br label %32432

32432:                                            ; preds = %32431
  call void @llvm.lifetime.start.p0(i64 4, ptr %804) #11
  %32433 = call ptr @__errno_location() #12
  %32434 = load i32, ptr %32433, align 4, !tbaa !5
  store i32 %32434, ptr %804, align 4, !tbaa !5
  %32435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32436 = call i32 @s2n_print_stacktrace(ptr noundef %32435)
  %32437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32438 = trunc i8 %32437 to i1
  br i1 %32438, label %32439, label %32461

32439:                                            ; preds = %32432
  %32440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32441 = call i32 @fileno(ptr noundef %32440) #11
  %32442 = call i32 @isatty(i32 noundef %32441) #11
  %32443 = icmp ne i32 %32442, 0
  br i1 %32443, label %32444, label %32461

32444:                                            ; preds = %32439
  %32445 = load i32, ptr %804, align 4, !tbaa !5
  %32446 = call ptr @__errno_location() #12
  store i32 %32445, ptr %32446, align 4, !tbaa !5
  %32447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32448 = load i32, ptr @test_count, align 4, !tbaa !5
  %32449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32450 = load i32, ptr %32449, align 4, !tbaa !5
  %32451 = call ptr @s2n_strerror(i32 noundef %32450, ptr noundef @.str.25)
  %32452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32453 = load i32, ptr %32452, align 4, !tbaa !5
  %32454 = call ptr @s2n_strerror_debug(i32 noundef %32453, ptr noundef @.str.25)
  %32455 = call ptr @__errno_location() #12
  %32456 = load i32, ptr %32455, align 4, !tbaa !5
  %32457 = call ptr @strerror(i32 noundef %32456) #11
  %32458 = call ptr @__errno_location() #12
  %32459 = load i32, ptr %32458, align 4, !tbaa !5
  %32460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32447, ptr noundef @.str.23, i32 noundef %32448, ptr noundef @.str.219, ptr noundef @.str.22, i32 noundef 1482, ptr noundef %32451, ptr noundef %32454, ptr noundef %32457, i32 noundef %32459) #11
  br label %32478

32461:                                            ; preds = %32439, %32432
  %32462 = load i32, ptr %804, align 4, !tbaa !5
  %32463 = call ptr @__errno_location() #12
  store i32 %32462, ptr %32463, align 4, !tbaa !5
  %32464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32465 = load i32, ptr @test_count, align 4, !tbaa !5
  %32466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32467 = load i32, ptr %32466, align 4, !tbaa !5
  %32468 = call ptr @s2n_strerror(i32 noundef %32467, ptr noundef @.str.25)
  %32469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32470 = load i32, ptr %32469, align 4, !tbaa !5
  %32471 = call ptr @s2n_strerror_debug(i32 noundef %32470, ptr noundef @.str.25)
  %32472 = call ptr @__errno_location() #12
  %32473 = load i32, ptr %32472, align 4, !tbaa !5
  %32474 = call ptr @strerror(i32 noundef %32473) #11
  %32475 = call ptr @__errno_location() #12
  %32476 = load i32, ptr %32475, align 4, !tbaa !5
  %32477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32464, ptr noundef @.str.26, i32 noundef %32465, ptr noundef @.str.219, ptr noundef @.str.22, i32 noundef 1482, ptr noundef %32468, ptr noundef %32471, ptr noundef %32474, i32 noundef %32476) #11
  br label %32478

32478:                                            ; preds = %32461, %32444
  call void @llvm.lifetime.end.p0(i64 4, ptr %804) #11
  br label %32479

32479:                                            ; preds = %32478
  br label %32480

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

32481:                                            ; No predecessors!
  br label %32482

32482:                                            ; preds = %32481
  br label %32483

32483:                                            ; preds = %32482, %32424
  br label %32484

32484:                                            ; preds = %32483
  br label %32485

32485:                                            ; preds = %32484
  br label %32486

32486:                                            ; preds = %32485
  %32487 = load i32, ptr @test_count, align 4, !tbaa !5
  %32488 = add nsw i32 %32487, 1
  store i32 %32488, ptr @test_count, align 4, !tbaa !5
  %32489 = load ptr, ptr %802, align 8, !tbaa !9
  %32490 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %32489)
  %32491 = icmp eq i32 %32490, -1
  br i1 %32491, label %32492, label %32545

32492:                                            ; preds = %32486
  br label %32493

32493:                                            ; preds = %32492
  br label %32494

32494:                                            ; preds = %32493
  call void @llvm.lifetime.start.p0(i64 4, ptr %805) #11
  %32495 = call ptr @__errno_location() #12
  %32496 = load i32, ptr %32495, align 4, !tbaa !5
  store i32 %32496, ptr %805, align 4, !tbaa !5
  %32497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32498 = call i32 @s2n_print_stacktrace(ptr noundef %32497)
  %32499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32500 = trunc i8 %32499 to i1
  br i1 %32500, label %32501, label %32523

32501:                                            ; preds = %32494
  %32502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32503 = call i32 @fileno(ptr noundef %32502) #11
  %32504 = call i32 @isatty(i32 noundef %32503) #11
  %32505 = icmp ne i32 %32504, 0
  br i1 %32505, label %32506, label %32523

32506:                                            ; preds = %32501
  %32507 = load i32, ptr %805, align 4, !tbaa !5
  %32508 = call ptr @__errno_location() #12
  store i32 %32507, ptr %32508, align 4, !tbaa !5
  %32509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32510 = load i32, ptr @test_count, align 4, !tbaa !5
  %32511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32512 = load i32, ptr %32511, align 4, !tbaa !5
  %32513 = call ptr @s2n_strerror(i32 noundef %32512, ptr noundef @.str.25)
  %32514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32515 = load i32, ptr %32514, align 4, !tbaa !5
  %32516 = call ptr @s2n_strerror_debug(i32 noundef %32515, ptr noundef @.str.25)
  %32517 = call ptr @__errno_location() #12
  %32518 = load i32, ptr %32517, align 4, !tbaa !5
  %32519 = call ptr @strerror(i32 noundef %32518) #11
  %32520 = call ptr @__errno_location() #12
  %32521 = load i32, ptr %32520, align 4, !tbaa !5
  %32522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32509, ptr noundef @.str.23, i32 noundef %32510, ptr noundef @.str.220, ptr noundef @.str.22, i32 noundef 1483, ptr noundef %32513, ptr noundef %32516, ptr noundef %32519, i32 noundef %32521) #11
  br label %32540

32523:                                            ; preds = %32501, %32494
  %32524 = load i32, ptr %805, align 4, !tbaa !5
  %32525 = call ptr @__errno_location() #12
  store i32 %32524, ptr %32525, align 4, !tbaa !5
  %32526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32527 = load i32, ptr @test_count, align 4, !tbaa !5
  %32528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32529 = load i32, ptr %32528, align 4, !tbaa !5
  %32530 = call ptr @s2n_strerror(i32 noundef %32529, ptr noundef @.str.25)
  %32531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32532 = load i32, ptr %32531, align 4, !tbaa !5
  %32533 = call ptr @s2n_strerror_debug(i32 noundef %32532, ptr noundef @.str.25)
  %32534 = call ptr @__errno_location() #12
  %32535 = load i32, ptr %32534, align 4, !tbaa !5
  %32536 = call ptr @strerror(i32 noundef %32535) #11
  %32537 = call ptr @__errno_location() #12
  %32538 = load i32, ptr %32537, align 4, !tbaa !5
  %32539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32526, ptr noundef @.str.26, i32 noundef %32527, ptr noundef @.str.220, ptr noundef @.str.22, i32 noundef 1483, ptr noundef %32530, ptr noundef %32533, ptr noundef %32536, i32 noundef %32538) #11
  br label %32540

32540:                                            ; preds = %32523, %32506
  call void @llvm.lifetime.end.p0(i64 4, ptr %805) #11
  br label %32541

32541:                                            ; preds = %32540
  br label %32542

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

32543:                                            ; No predecessors!
  br label %32544

32544:                                            ; preds = %32543
  br label %32545

32545:                                            ; preds = %32544, %32486
  br label %32546

32546:                                            ; preds = %32545
  br label %32547

32547:                                            ; preds = %32546
  br label %32548

32548:                                            ; preds = %32547
  %32549 = load i32, ptr @test_count, align 4, !tbaa !5
  %32550 = add nsw i32 %32549, 1
  store i32 %32550, ptr @test_count, align 4, !tbaa !5
  %32551 = load ptr, ptr %802, align 8, !tbaa !9
  %32552 = load ptr, ptr %800, align 8, !tbaa !9
  %32553 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %32551, ptr noundef %32552)
  %32554 = icmp eq i32 %32553, -1
  br i1 %32554, label %32555, label %32608

32555:                                            ; preds = %32548
  br label %32556

32556:                                            ; preds = %32555
  br label %32557

32557:                                            ; preds = %32556
  call void @llvm.lifetime.start.p0(i64 4, ptr %806) #11
  %32558 = call ptr @__errno_location() #12
  %32559 = load i32, ptr %32558, align 4, !tbaa !5
  store i32 %32559, ptr %806, align 4, !tbaa !5
  %32560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32561 = call i32 @s2n_print_stacktrace(ptr noundef %32560)
  %32562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32563 = trunc i8 %32562 to i1
  br i1 %32563, label %32564, label %32586

32564:                                            ; preds = %32557
  %32565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32566 = call i32 @fileno(ptr noundef %32565) #11
  %32567 = call i32 @isatty(i32 noundef %32566) #11
  %32568 = icmp ne i32 %32567, 0
  br i1 %32568, label %32569, label %32586

32569:                                            ; preds = %32564
  %32570 = load i32, ptr %806, align 4, !tbaa !5
  %32571 = call ptr @__errno_location() #12
  store i32 %32570, ptr %32571, align 4, !tbaa !5
  %32572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32573 = load i32, ptr @test_count, align 4, !tbaa !5
  %32574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32575 = load i32, ptr %32574, align 4, !tbaa !5
  %32576 = call ptr @s2n_strerror(i32 noundef %32575, ptr noundef @.str.25)
  %32577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32578 = load i32, ptr %32577, align 4, !tbaa !5
  %32579 = call ptr @s2n_strerror_debug(i32 noundef %32578, ptr noundef @.str.25)
  %32580 = call ptr @__errno_location() #12
  %32581 = load i32, ptr %32580, align 4, !tbaa !5
  %32582 = call ptr @strerror(i32 noundef %32581) #11
  %32583 = call ptr @__errno_location() #12
  %32584 = load i32, ptr %32583, align 4, !tbaa !5
  %32585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32572, ptr noundef @.str.23, i32 noundef %32573, ptr noundef @.str.221, ptr noundef @.str.22, i32 noundef 1484, ptr noundef %32576, ptr noundef %32579, ptr noundef %32582, i32 noundef %32584) #11
  br label %32603

32586:                                            ; preds = %32564, %32557
  %32587 = load i32, ptr %806, align 4, !tbaa !5
  %32588 = call ptr @__errno_location() #12
  store i32 %32587, ptr %32588, align 4, !tbaa !5
  %32589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32590 = load i32, ptr @test_count, align 4, !tbaa !5
  %32591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32592 = load i32, ptr %32591, align 4, !tbaa !5
  %32593 = call ptr @s2n_strerror(i32 noundef %32592, ptr noundef @.str.25)
  %32594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32595 = load i32, ptr %32594, align 4, !tbaa !5
  %32596 = call ptr @s2n_strerror_debug(i32 noundef %32595, ptr noundef @.str.25)
  %32597 = call ptr @__errno_location() #12
  %32598 = load i32, ptr %32597, align 4, !tbaa !5
  %32599 = call ptr @strerror(i32 noundef %32598) #11
  %32600 = call ptr @__errno_location() #12
  %32601 = load i32, ptr %32600, align 4, !tbaa !5
  %32602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32589, ptr noundef @.str.26, i32 noundef %32590, ptr noundef @.str.221, ptr noundef @.str.22, i32 noundef 1484, ptr noundef %32593, ptr noundef %32596, ptr noundef %32599, i32 noundef %32601) #11
  br label %32603

32603:                                            ; preds = %32586, %32569
  call void @llvm.lifetime.end.p0(i64 4, ptr %806) #11
  br label %32604

32604:                                            ; preds = %32603
  br label %32605

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

32606:                                            ; No predecessors!
  br label %32607

32607:                                            ; preds = %32606
  br label %32608

32608:                                            ; preds = %32607, %32548
  br label %32609

32609:                                            ; preds = %32608
  br label %32610

32610:                                            ; preds = %32609
  br label %32611

32611:                                            ; preds = %32610
  %32612 = load i32, ptr @test_count, align 4, !tbaa !5
  %32613 = add nsw i32 %32612, 1
  store i32 %32613, ptr @test_count, align 4, !tbaa !5
  %32614 = load ptr, ptr %802, align 8, !tbaa !9
  %32615 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %32614, i8 noundef zeroext 1)
  %32616 = icmp eq i32 %32615, -1
  br i1 %32616, label %32617, label %32670

32617:                                            ; preds = %32611
  br label %32618

32618:                                            ; preds = %32617
  br label %32619

32619:                                            ; preds = %32618
  call void @llvm.lifetime.start.p0(i64 4, ptr %807) #11
  %32620 = call ptr @__errno_location() #12
  %32621 = load i32, ptr %32620, align 4, !tbaa !5
  store i32 %32621, ptr %807, align 4, !tbaa !5
  %32622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32623 = call i32 @s2n_print_stacktrace(ptr noundef %32622)
  %32624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32625 = trunc i8 %32624 to i1
  br i1 %32625, label %32626, label %32648

32626:                                            ; preds = %32619
  %32627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32628 = call i32 @fileno(ptr noundef %32627) #11
  %32629 = call i32 @isatty(i32 noundef %32628) #11
  %32630 = icmp ne i32 %32629, 0
  br i1 %32630, label %32631, label %32648

32631:                                            ; preds = %32626
  %32632 = load i32, ptr %807, align 4, !tbaa !5
  %32633 = call ptr @__errno_location() #12
  store i32 %32632, ptr %32633, align 4, !tbaa !5
  %32634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32635 = load i32, ptr @test_count, align 4, !tbaa !5
  %32636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32637 = load i32, ptr %32636, align 4, !tbaa !5
  %32638 = call ptr @s2n_strerror(i32 noundef %32637, ptr noundef @.str.25)
  %32639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32640 = load i32, ptr %32639, align 4, !tbaa !5
  %32641 = call ptr @s2n_strerror_debug(i32 noundef %32640, ptr noundef @.str.25)
  %32642 = call ptr @__errno_location() #12
  %32643 = load i32, ptr %32642, align 4, !tbaa !5
  %32644 = call ptr @strerror(i32 noundef %32643) #11
  %32645 = call ptr @__errno_location() #12
  %32646 = load i32, ptr %32645, align 4, !tbaa !5
  %32647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32634, ptr noundef @.str.23, i32 noundef %32635, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 1485, ptr noundef %32638, ptr noundef %32641, ptr noundef %32644, i32 noundef %32646) #11
  br label %32665

32648:                                            ; preds = %32626, %32619
  %32649 = load i32, ptr %807, align 4, !tbaa !5
  %32650 = call ptr @__errno_location() #12
  store i32 %32649, ptr %32650, align 4, !tbaa !5
  %32651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32652 = load i32, ptr @test_count, align 4, !tbaa !5
  %32653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32654 = load i32, ptr %32653, align 4, !tbaa !5
  %32655 = call ptr @s2n_strerror(i32 noundef %32654, ptr noundef @.str.25)
  %32656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32657 = load i32, ptr %32656, align 4, !tbaa !5
  %32658 = call ptr @s2n_strerror_debug(i32 noundef %32657, ptr noundef @.str.25)
  %32659 = call ptr @__errno_location() #12
  %32660 = load i32, ptr %32659, align 4, !tbaa !5
  %32661 = call ptr @strerror(i32 noundef %32660) #11
  %32662 = call ptr @__errno_location() #12
  %32663 = load i32, ptr %32662, align 4, !tbaa !5
  %32664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32651, ptr noundef @.str.26, i32 noundef %32652, ptr noundef @.str.78, ptr noundef @.str.22, i32 noundef 1485, ptr noundef %32655, ptr noundef %32658, ptr noundef %32661, i32 noundef %32663) #11
  br label %32665

32665:                                            ; preds = %32648, %32631
  call void @llvm.lifetime.end.p0(i64 4, ptr %807) #11
  br label %32666

32666:                                            ; preds = %32665
  br label %32667

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

32668:                                            ; No predecessors!
  br label %32669

32669:                                            ; preds = %32668
  br label %32670

32670:                                            ; preds = %32669, %32611
  br label %32671

32671:                                            ; preds = %32670
  br label %32672

32672:                                            ; preds = %32671
  br label %32673

32673:                                            ; preds = %32672
  %32674 = load i32, ptr @test_count, align 4, !tbaa !5
  %32675 = add nsw i32 %32674, 1
  store i32 %32675, ptr @test_count, align 4, !tbaa !5
  %32676 = load ptr, ptr %796, align 8, !tbaa !9
  %32677 = load ptr, ptr %802, align 8, !tbaa !9
  %32678 = call i32 @s2n_connection_set_config(ptr noundef %32676, ptr noundef %32677)
  %32679 = icmp eq i32 %32678, -1
  br i1 %32679, label %32680, label %32733

32680:                                            ; preds = %32673
  br label %32681

32681:                                            ; preds = %32680
  br label %32682

32682:                                            ; preds = %32681
  call void @llvm.lifetime.start.p0(i64 4, ptr %808) #11
  %32683 = call ptr @__errno_location() #12
  %32684 = load i32, ptr %32683, align 4, !tbaa !5
  store i32 %32684, ptr %808, align 4, !tbaa !5
  %32685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32686 = call i32 @s2n_print_stacktrace(ptr noundef %32685)
  %32687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32688 = trunc i8 %32687 to i1
  br i1 %32688, label %32689, label %32711

32689:                                            ; preds = %32682
  %32690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32691 = call i32 @fileno(ptr noundef %32690) #11
  %32692 = call i32 @isatty(i32 noundef %32691) #11
  %32693 = icmp ne i32 %32692, 0
  br i1 %32693, label %32694, label %32711

32694:                                            ; preds = %32689
  %32695 = load i32, ptr %808, align 4, !tbaa !5
  %32696 = call ptr @__errno_location() #12
  store i32 %32695, ptr %32696, align 4, !tbaa !5
  %32697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32698 = load i32, ptr @test_count, align 4, !tbaa !5
  %32699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32700 = load i32, ptr %32699, align 4, !tbaa !5
  %32701 = call ptr @s2n_strerror(i32 noundef %32700, ptr noundef @.str.25)
  %32702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32703 = load i32, ptr %32702, align 4, !tbaa !5
  %32704 = call ptr @s2n_strerror_debug(i32 noundef %32703, ptr noundef @.str.25)
  %32705 = call ptr @__errno_location() #12
  %32706 = load i32, ptr %32705, align 4, !tbaa !5
  %32707 = call ptr @strerror(i32 noundef %32706) #11
  %32708 = call ptr @__errno_location() #12
  %32709 = load i32, ptr %32708, align 4, !tbaa !5
  %32710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32697, ptr noundef @.str.23, i32 noundef %32698, ptr noundef @.str.137, ptr noundef @.str.22, i32 noundef 1486, ptr noundef %32701, ptr noundef %32704, ptr noundef %32707, i32 noundef %32709) #11
  br label %32728

32711:                                            ; preds = %32689, %32682
  %32712 = load i32, ptr %808, align 4, !tbaa !5
  %32713 = call ptr @__errno_location() #12
  store i32 %32712, ptr %32713, align 4, !tbaa !5
  %32714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32715 = load i32, ptr @test_count, align 4, !tbaa !5
  %32716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32717 = load i32, ptr %32716, align 4, !tbaa !5
  %32718 = call ptr @s2n_strerror(i32 noundef %32717, ptr noundef @.str.25)
  %32719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32720 = load i32, ptr %32719, align 4, !tbaa !5
  %32721 = call ptr @s2n_strerror_debug(i32 noundef %32720, ptr noundef @.str.25)
  %32722 = call ptr @__errno_location() #12
  %32723 = load i32, ptr %32722, align 4, !tbaa !5
  %32724 = call ptr @strerror(i32 noundef %32723) #11
  %32725 = call ptr @__errno_location() #12
  %32726 = load i32, ptr %32725, align 4, !tbaa !5
  %32727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32714, ptr noundef @.str.26, i32 noundef %32715, ptr noundef @.str.137, ptr noundef @.str.22, i32 noundef 1486, ptr noundef %32718, ptr noundef %32721, ptr noundef %32724, i32 noundef %32726) #11
  br label %32728

32728:                                            ; preds = %32711, %32694
  call void @llvm.lifetime.end.p0(i64 4, ptr %808) #11
  br label %32729

32729:                                            ; preds = %32728
  br label %32730

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

32731:                                            ; No predecessors!
  br label %32732

32732:                                            ; preds = %32731
  br label %32733

32733:                                            ; preds = %32732, %32673
  br label %32734

32734:                                            ; preds = %32733
  br label %32735

32735:                                            ; preds = %32734
  br label %32736

32736:                                            ; preds = %32735
  %32737 = load i32, ptr @test_count, align 4, !tbaa !5
  %32738 = add nsw i32 %32737, 1
  store i32 %32738, ptr @test_count, align 4, !tbaa !5
  %32739 = load ptr, ptr %802, align 8, !tbaa !9
  %32740 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %32739)
  %32741 = getelementptr inbounds %struct.s2n_result, ptr %809, i32 0, i32 0
  store i32 %32740, ptr %32741, align 4
  %32742 = getelementptr inbounds %struct.s2n_result, ptr %809, i32 0, i32 0
  %32743 = load i32, ptr %32742, align 4
  %32744 = call zeroext i1 @s2n_result_is_ok(i32 %32743)
  br i1 %32744, label %32798, label %32745

32745:                                            ; preds = %32736
  br label %32746

32746:                                            ; preds = %32745
  br label %32747

32747:                                            ; preds = %32746
  call void @llvm.lifetime.start.p0(i64 4, ptr %810) #11
  %32748 = call ptr @__errno_location() #12
  %32749 = load i32, ptr %32748, align 4, !tbaa !5
  store i32 %32749, ptr %810, align 4, !tbaa !5
  %32750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32751 = call i32 @s2n_print_stacktrace(ptr noundef %32750)
  %32752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32753 = trunc i8 %32752 to i1
  br i1 %32753, label %32754, label %32776

32754:                                            ; preds = %32747
  %32755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32756 = call i32 @fileno(ptr noundef %32755) #11
  %32757 = call i32 @isatty(i32 noundef %32756) #11
  %32758 = icmp ne i32 %32757, 0
  br i1 %32758, label %32759, label %32776

32759:                                            ; preds = %32754
  %32760 = load i32, ptr %810, align 4, !tbaa !5
  %32761 = call ptr @__errno_location() #12
  store i32 %32760, ptr %32761, align 4, !tbaa !5
  %32762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32763 = load i32, ptr @test_count, align 4, !tbaa !5
  %32764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32765 = load i32, ptr %32764, align 4, !tbaa !5
  %32766 = call ptr @s2n_strerror(i32 noundef %32765, ptr noundef @.str.25)
  %32767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32768 = load i32, ptr %32767, align 4, !tbaa !5
  %32769 = call ptr @s2n_strerror_debug(i32 noundef %32768, ptr noundef @.str.25)
  %32770 = call ptr @__errno_location() #12
  %32771 = load i32, ptr %32770, align 4, !tbaa !5
  %32772 = call ptr @strerror(i32 noundef %32771) #11
  %32773 = call ptr @__errno_location() #12
  %32774 = load i32, ptr %32773, align 4, !tbaa !5
  %32775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32762, ptr noundef @.str.23, i32 noundef %32763, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1488, ptr noundef %32766, ptr noundef %32769, ptr noundef %32772, i32 noundef %32774) #11
  br label %32793

32776:                                            ; preds = %32754, %32747
  %32777 = load i32, ptr %810, align 4, !tbaa !5
  %32778 = call ptr @__errno_location() #12
  store i32 %32777, ptr %32778, align 4, !tbaa !5
  %32779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32780 = load i32, ptr @test_count, align 4, !tbaa !5
  %32781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32782 = load i32, ptr %32781, align 4, !tbaa !5
  %32783 = call ptr @s2n_strerror(i32 noundef %32782, ptr noundef @.str.25)
  %32784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32785 = load i32, ptr %32784, align 4, !tbaa !5
  %32786 = call ptr @s2n_strerror_debug(i32 noundef %32785, ptr noundef @.str.25)
  %32787 = call ptr @__errno_location() #12
  %32788 = load i32, ptr %32787, align 4, !tbaa !5
  %32789 = call ptr @strerror(i32 noundef %32788) #11
  %32790 = call ptr @__errno_location() #12
  %32791 = load i32, ptr %32790, align 4, !tbaa !5
  %32792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32779, ptr noundef @.str.26, i32 noundef %32780, ptr noundef @.str.32, ptr noundef @.str.22, i32 noundef 1488, ptr noundef %32783, ptr noundef %32786, ptr noundef %32789, i32 noundef %32791) #11
  br label %32793

32793:                                            ; preds = %32776, %32759
  call void @llvm.lifetime.end.p0(i64 4, ptr %810) #11
  br label %32794

32794:                                            ; preds = %32793
  br label %32795

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

32796:                                            ; No predecessors!
  br label %32797

32797:                                            ; preds = %32796
  br label %32798

32798:                                            ; preds = %32797, %32736
  br label %32799

32799:                                            ; preds = %32798
  br label %32800

32800:                                            ; preds = %32799
  br label %32801

32801:                                            ; preds = %32800
  %32802 = load i32, ptr @test_count, align 4, !tbaa !5
  %32803 = add nsw i32 %32802, 1
  store i32 %32803, ptr @test_count, align 4, !tbaa !5
  %32804 = load ptr, ptr %797, align 8, !tbaa !9
  %32805 = load ptr, ptr %802, align 8, !tbaa !9
  %32806 = call i32 @s2n_connection_set_config(ptr noundef %32804, ptr noundef %32805)
  %32807 = icmp eq i32 %32806, -1
  br i1 %32807, label %32808, label %32861

32808:                                            ; preds = %32801
  br label %32809

32809:                                            ; preds = %32808
  br label %32810

32810:                                            ; preds = %32809
  call void @llvm.lifetime.start.p0(i64 4, ptr %811) #11
  %32811 = call ptr @__errno_location() #12
  %32812 = load i32, ptr %32811, align 4, !tbaa !5
  store i32 %32812, ptr %811, align 4, !tbaa !5
  %32813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32814 = call i32 @s2n_print_stacktrace(ptr noundef %32813)
  %32815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32816 = trunc i8 %32815 to i1
  br i1 %32816, label %32817, label %32839

32817:                                            ; preds = %32810
  %32818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32819 = call i32 @fileno(ptr noundef %32818) #11
  %32820 = call i32 @isatty(i32 noundef %32819) #11
  %32821 = icmp ne i32 %32820, 0
  br i1 %32821, label %32822, label %32839

32822:                                            ; preds = %32817
  %32823 = load i32, ptr %811, align 4, !tbaa !5
  %32824 = call ptr @__errno_location() #12
  store i32 %32823, ptr %32824, align 4, !tbaa !5
  %32825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32826 = load i32, ptr @test_count, align 4, !tbaa !5
  %32827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32828 = load i32, ptr %32827, align 4, !tbaa !5
  %32829 = call ptr @s2n_strerror(i32 noundef %32828, ptr noundef @.str.25)
  %32830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32831 = load i32, ptr %32830, align 4, !tbaa !5
  %32832 = call ptr @s2n_strerror_debug(i32 noundef %32831, ptr noundef @.str.25)
  %32833 = call ptr @__errno_location() #12
  %32834 = load i32, ptr %32833, align 4, !tbaa !5
  %32835 = call ptr @strerror(i32 noundef %32834) #11
  %32836 = call ptr @__errno_location() #12
  %32837 = load i32, ptr %32836, align 4, !tbaa !5
  %32838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32825, ptr noundef @.str.23, i32 noundef %32826, ptr noundef @.str.81, ptr noundef @.str.22, i32 noundef 1489, ptr noundef %32829, ptr noundef %32832, ptr noundef %32835, i32 noundef %32837) #11
  br label %32856

32839:                                            ; preds = %32817, %32810
  %32840 = load i32, ptr %811, align 4, !tbaa !5
  %32841 = call ptr @__errno_location() #12
  store i32 %32840, ptr %32841, align 4, !tbaa !5
  %32842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32843 = load i32, ptr @test_count, align 4, !tbaa !5
  %32844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32845 = load i32, ptr %32844, align 4, !tbaa !5
  %32846 = call ptr @s2n_strerror(i32 noundef %32845, ptr noundef @.str.25)
  %32847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32848 = load i32, ptr %32847, align 4, !tbaa !5
  %32849 = call ptr @s2n_strerror_debug(i32 noundef %32848, ptr noundef @.str.25)
  %32850 = call ptr @__errno_location() #12
  %32851 = load i32, ptr %32850, align 4, !tbaa !5
  %32852 = call ptr @strerror(i32 noundef %32851) #11
  %32853 = call ptr @__errno_location() #12
  %32854 = load i32, ptr %32853, align 4, !tbaa !5
  %32855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32842, ptr noundef @.str.26, i32 noundef %32843, ptr noundef @.str.81, ptr noundef @.str.22, i32 noundef 1489, ptr noundef %32846, ptr noundef %32849, ptr noundef %32852, i32 noundef %32854) #11
  br label %32856

32856:                                            ; preds = %32839, %32822
  call void @llvm.lifetime.end.p0(i64 4, ptr %811) #11
  br label %32857

32857:                                            ; preds = %32856
  br label %32858

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

32859:                                            ; No predecessors!
  br label %32860

32860:                                            ; preds = %32859
  br label %32861

32861:                                            ; preds = %32860, %32801
  br label %32862

32862:                                            ; preds = %32861
  br label %32863

32863:                                            ; preds = %32862
  call void @llvm.lifetime.start.p0(i64 2, ptr %812) #11
  store i16 5, ptr %812, align 2, !tbaa !49
  %32864 = load i16, ptr %812, align 2, !tbaa !49
  %32865 = load ptr, ptr %797, align 8, !tbaa !9
  %32866 = getelementptr inbounds %struct.s2n_connection, ptr %32865, i32 0, i32 87
  store i16 %32864, ptr %32866, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 40, ptr %813) #11
  call void @llvm.memset.p0.i64(ptr align 8 %813, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %814) #11
  call void @llvm.memset.p0.i64(ptr align 8 %814, i8 0, i64 40, i1 false)
  br label %32867

32867:                                            ; preds = %32863
  %32868 = load i32, ptr @test_count, align 4, !tbaa !5
  %32869 = add nsw i32 %32868, 1
  store i32 %32869, ptr @test_count, align 4, !tbaa !5
  %32870 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %813, i32 noundef 0)
  %32871 = icmp eq i32 %32870, -1
  br i1 %32871, label %32872, label %32925

32872:                                            ; preds = %32867
  br label %32873

32873:                                            ; preds = %32872
  br label %32874

32874:                                            ; preds = %32873
  call void @llvm.lifetime.start.p0(i64 4, ptr %815) #11
  %32875 = call ptr @__errno_location() #12
  %32876 = load i32, ptr %32875, align 4, !tbaa !5
  store i32 %32876, ptr %815, align 4, !tbaa !5
  %32877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32878 = call i32 @s2n_print_stacktrace(ptr noundef %32877)
  %32879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32880 = trunc i8 %32879 to i1
  br i1 %32880, label %32881, label %32903

32881:                                            ; preds = %32874
  %32882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32883 = call i32 @fileno(ptr noundef %32882) #11
  %32884 = call i32 @isatty(i32 noundef %32883) #11
  %32885 = icmp ne i32 %32884, 0
  br i1 %32885, label %32886, label %32903

32886:                                            ; preds = %32881
  %32887 = load i32, ptr %815, align 4, !tbaa !5
  %32888 = call ptr @__errno_location() #12
  store i32 %32887, ptr %32888, align 4, !tbaa !5
  %32889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32890 = load i32, ptr @test_count, align 4, !tbaa !5
  %32891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32892 = load i32, ptr %32891, align 4, !tbaa !5
  %32893 = call ptr @s2n_strerror(i32 noundef %32892, ptr noundef @.str.25)
  %32894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32895 = load i32, ptr %32894, align 4, !tbaa !5
  %32896 = call ptr @s2n_strerror_debug(i32 noundef %32895, ptr noundef @.str.25)
  %32897 = call ptr @__errno_location() #12
  %32898 = load i32, ptr %32897, align 4, !tbaa !5
  %32899 = call ptr @strerror(i32 noundef %32898) #11
  %32900 = call ptr @__errno_location() #12
  %32901 = load i32, ptr %32900, align 4, !tbaa !5
  %32902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32889, ptr noundef @.str.23, i32 noundef %32890, ptr noundef @.str.222, ptr noundef @.str.22, i32 noundef 1497, ptr noundef %32893, ptr noundef %32896, ptr noundef %32899, i32 noundef %32901) #11
  br label %32920

32903:                                            ; preds = %32881, %32874
  %32904 = load i32, ptr %815, align 4, !tbaa !5
  %32905 = call ptr @__errno_location() #12
  store i32 %32904, ptr %32905, align 4, !tbaa !5
  %32906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32907 = load i32, ptr @test_count, align 4, !tbaa !5
  %32908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32909 = load i32, ptr %32908, align 4, !tbaa !5
  %32910 = call ptr @s2n_strerror(i32 noundef %32909, ptr noundef @.str.25)
  %32911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32912 = load i32, ptr %32911, align 4, !tbaa !5
  %32913 = call ptr @s2n_strerror_debug(i32 noundef %32912, ptr noundef @.str.25)
  %32914 = call ptr @__errno_location() #12
  %32915 = load i32, ptr %32914, align 4, !tbaa !5
  %32916 = call ptr @strerror(i32 noundef %32915) #11
  %32917 = call ptr @__errno_location() #12
  %32918 = load i32, ptr %32917, align 4, !tbaa !5
  %32919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32906, ptr noundef @.str.26, i32 noundef %32907, ptr noundef @.str.222, ptr noundef @.str.22, i32 noundef 1497, ptr noundef %32910, ptr noundef %32913, ptr noundef %32916, i32 noundef %32918) #11
  br label %32920

32920:                                            ; preds = %32903, %32886
  call void @llvm.lifetime.end.p0(i64 4, ptr %815) #11
  br label %32921

32921:                                            ; preds = %32920
  br label %32922

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

32923:                                            ; No predecessors!
  br label %32924

32924:                                            ; preds = %32923
  br label %32925

32925:                                            ; preds = %32924, %32867
  br label %32926

32926:                                            ; preds = %32925
  br label %32927

32927:                                            ; preds = %32926
  br label %32928

32928:                                            ; preds = %32927
  %32929 = load i32, ptr @test_count, align 4, !tbaa !5
  %32930 = add nsw i32 %32929, 1
  store i32 %32930, ptr @test_count, align 4, !tbaa !5
  %32931 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %814, i32 noundef 0)
  %32932 = icmp eq i32 %32931, -1
  br i1 %32932, label %32933, label %32986

32933:                                            ; preds = %32928
  br label %32934

32934:                                            ; preds = %32933
  br label %32935

32935:                                            ; preds = %32934
  call void @llvm.lifetime.start.p0(i64 4, ptr %816) #11
  %32936 = call ptr @__errno_location() #12
  %32937 = load i32, ptr %32936, align 4, !tbaa !5
  store i32 %32937, ptr %816, align 4, !tbaa !5
  %32938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32939 = call i32 @s2n_print_stacktrace(ptr noundef %32938)
  %32940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32941 = trunc i8 %32940 to i1
  br i1 %32941, label %32942, label %32964

32942:                                            ; preds = %32935
  %32943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32944 = call i32 @fileno(ptr noundef %32943) #11
  %32945 = call i32 @isatty(i32 noundef %32944) #11
  %32946 = icmp ne i32 %32945, 0
  br i1 %32946, label %32947, label %32964

32947:                                            ; preds = %32942
  %32948 = load i32, ptr %816, align 4, !tbaa !5
  %32949 = call ptr @__errno_location() #12
  store i32 %32948, ptr %32949, align 4, !tbaa !5
  %32950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32951 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %32953, ptr noundef @.str.25)
  %32955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32956 = load i32, ptr %32955, align 4, !tbaa !5
  %32957 = call ptr @s2n_strerror_debug(i32 noundef %32956, ptr noundef @.str.25)
  %32958 = call ptr @__errno_location() #12
  %32959 = load i32, ptr %32958, align 4, !tbaa !5
  %32960 = call ptr @strerror(i32 noundef %32959) #11
  %32961 = call ptr @__errno_location() #12
  %32962 = load i32, ptr %32961, align 4, !tbaa !5
  %32963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32950, ptr noundef @.str.23, i32 noundef %32951, ptr noundef @.str.223, ptr noundef @.str.22, i32 noundef 1498, ptr noundef %32954, ptr noundef %32957, ptr noundef %32960, i32 noundef %32962) #11
  br label %32981

32964:                                            ; preds = %32942, %32935
  %32965 = load i32, ptr %816, align 4, !tbaa !5
  %32966 = call ptr @__errno_location() #12
  store i32 %32965, ptr %32966, align 4, !tbaa !5
  %32967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32968 = load i32, ptr @test_count, align 4, !tbaa !5
  %32969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32970 = load i32, ptr %32969, align 4, !tbaa !5
  %32971 = call ptr @s2n_strerror(i32 noundef %32970, ptr noundef @.str.25)
  %32972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32973 = load i32, ptr %32972, align 4, !tbaa !5
  %32974 = call ptr @s2n_strerror_debug(i32 noundef %32973, ptr noundef @.str.25)
  %32975 = call ptr @__errno_location() #12
  %32976 = load i32, ptr %32975, align 4, !tbaa !5
  %32977 = call ptr @strerror(i32 noundef %32976) #11
  %32978 = call ptr @__errno_location() #12
  %32979 = load i32, ptr %32978, align 4, !tbaa !5
  %32980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32967, ptr noundef @.str.26, i32 noundef %32968, ptr noundef @.str.223, ptr noundef @.str.22, i32 noundef 1498, ptr noundef %32971, ptr noundef %32974, ptr noundef %32977, i32 noundef %32979) #11
  br label %32981

32981:                                            ; preds = %32964, %32947
  call void @llvm.lifetime.end.p0(i64 4, ptr %816) #11
  br label %32982

32982:                                            ; preds = %32981
  br label %32983

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

32984:                                            ; No predecessors!
  br label %32985

32985:                                            ; preds = %32984
  br label %32986

32986:                                            ; preds = %32985, %32928
  br label %32987

32987:                                            ; preds = %32986
  br label %32988

32988:                                            ; preds = %32987
  br label %32989

32989:                                            ; preds = %32988
  %32990 = load i32, ptr @test_count, align 4, !tbaa !5
  %32991 = add nsw i32 %32990, 1
  store i32 %32991, ptr @test_count, align 4, !tbaa !5
  %32992 = load ptr, ptr %796, align 8, !tbaa !9
  %32993 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %814, ptr noundef %813, ptr noundef %32992)
  %32994 = icmp eq i32 %32993, -1
  br i1 %32994, label %32995, label %33048

32995:                                            ; preds = %32989
  br label %32996

32996:                                            ; preds = %32995
  br label %32997

32997:                                            ; preds = %32996
  call void @llvm.lifetime.start.p0(i64 4, ptr %817) #11
  %32998 = call ptr @__errno_location() #12
  %32999 = load i32, ptr %32998, align 4, !tbaa !5
  store i32 %32999, ptr %817, align 4, !tbaa !5
  %33000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33001 = call i32 @s2n_print_stacktrace(ptr noundef %33000)
  %33002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33003 = trunc i8 %33002 to i1
  br i1 %33003, label %33004, label %33026

33004:                                            ; preds = %32997
  %33005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33006 = call i32 @fileno(ptr noundef %33005) #11
  %33007 = call i32 @isatty(i32 noundef %33006) #11
  %33008 = icmp ne i32 %33007, 0
  br i1 %33008, label %33009, label %33026

33009:                                            ; preds = %33004
  %33010 = load i32, ptr %817, align 4, !tbaa !5
  %33011 = call ptr @__errno_location() #12
  store i32 %33010, ptr %33011, align 4, !tbaa !5
  %33012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33013 = load i32, ptr @test_count, align 4, !tbaa !5
  %33014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33015 = load i32, ptr %33014, align 4, !tbaa !5
  %33016 = call ptr @s2n_strerror(i32 noundef %33015, ptr noundef @.str.25)
  %33017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33018 = load i32, ptr %33017, align 4, !tbaa !5
  %33019 = call ptr @s2n_strerror_debug(i32 noundef %33018, ptr noundef @.str.25)
  %33020 = call ptr @__errno_location() #12
  %33021 = load i32, ptr %33020, align 4, !tbaa !5
  %33022 = call ptr @strerror(i32 noundef %33021) #11
  %33023 = call ptr @__errno_location() #12
  %33024 = load i32, ptr %33023, align 4, !tbaa !5
  %33025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33012, ptr noundef @.str.23, i32 noundef %33013, ptr noundef @.str.224, ptr noundef @.str.22, i32 noundef 1500, ptr noundef %33016, ptr noundef %33019, ptr noundef %33022, i32 noundef %33024) #11
  br label %33043

33026:                                            ; preds = %33004, %32997
  %33027 = load i32, ptr %817, align 4, !tbaa !5
  %33028 = call ptr @__errno_location() #12
  store i32 %33027, ptr %33028, align 4, !tbaa !5
  %33029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33030 = load i32, ptr @test_count, align 4, !tbaa !5
  %33031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33032 = load i32, ptr %33031, align 4, !tbaa !5
  %33033 = call ptr @s2n_strerror(i32 noundef %33032, ptr noundef @.str.25)
  %33034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33035 = load i32, ptr %33034, align 4, !tbaa !5
  %33036 = call ptr @s2n_strerror_debug(i32 noundef %33035, ptr noundef @.str.25)
  %33037 = call ptr @__errno_location() #12
  %33038 = load i32, ptr %33037, align 4, !tbaa !5
  %33039 = call ptr @strerror(i32 noundef %33038) #11
  %33040 = call ptr @__errno_location() #12
  %33041 = load i32, ptr %33040, align 4, !tbaa !5
  %33042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33029, ptr noundef @.str.26, i32 noundef %33030, ptr noundef @.str.224, ptr noundef @.str.22, i32 noundef 1500, ptr noundef %33033, ptr noundef %33036, ptr noundef %33039, i32 noundef %33041) #11
  br label %33043

33043:                                            ; preds = %33026, %33009
  call void @llvm.lifetime.end.p0(i64 4, ptr %817) #11
  br label %33044

33044:                                            ; preds = %33043
  br label %33045

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

33046:                                            ; No predecessors!
  br label %33047

33047:                                            ; preds = %33046
  br label %33048

33048:                                            ; preds = %33047, %32989
  br label %33049

33049:                                            ; preds = %33048
  br label %33050

33050:                                            ; preds = %33049
  br label %33051

33051:                                            ; preds = %33050
  %33052 = load i32, ptr @test_count, align 4, !tbaa !5
  %33053 = add nsw i32 %33052, 1
  store i32 %33053, ptr @test_count, align 4, !tbaa !5
  %33054 = load ptr, ptr %797, align 8, !tbaa !9
  %33055 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %813, ptr noundef %814, ptr noundef %33054)
  %33056 = icmp eq i32 %33055, -1
  br i1 %33056, label %33057, label %33110

33057:                                            ; preds = %33051
  br label %33058

33058:                                            ; preds = %33057
  br label %33059

33059:                                            ; preds = %33058
  call void @llvm.lifetime.start.p0(i64 4, ptr %818) #11
  %33060 = call ptr @__errno_location() #12
  %33061 = load i32, ptr %33060, align 4, !tbaa !5
  store i32 %33061, ptr %818, align 4, !tbaa !5
  %33062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33063 = call i32 @s2n_print_stacktrace(ptr noundef %33062)
  %33064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33065 = trunc i8 %33064 to i1
  br i1 %33065, label %33066, label %33088

33066:                                            ; preds = %33059
  %33067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33068 = call i32 @fileno(ptr noundef %33067) #11
  %33069 = call i32 @isatty(i32 noundef %33068) #11
  %33070 = icmp ne i32 %33069, 0
  br i1 %33070, label %33071, label %33088

33071:                                            ; preds = %33066
  %33072 = load i32, ptr %818, align 4, !tbaa !5
  %33073 = call ptr @__errno_location() #12
  store i32 %33072, ptr %33073, align 4, !tbaa !5
  %33074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33075 = load i32, ptr @test_count, align 4, !tbaa !5
  %33076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33077 = load i32, ptr %33076, align 4, !tbaa !5
  %33078 = call ptr @s2n_strerror(i32 noundef %33077, ptr noundef @.str.25)
  %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_debug(i32 noundef %33080, ptr noundef @.str.25)
  %33082 = call ptr @__errno_location() #12
  %33083 = load i32, ptr %33082, align 4, !tbaa !5
  %33084 = call ptr @strerror(i32 noundef %33083) #11
  %33085 = call ptr @__errno_location() #12
  %33086 = load i32, ptr %33085, align 4, !tbaa !5
  %33087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33074, ptr noundef @.str.23, i32 noundef %33075, ptr noundef @.str.225, ptr noundef @.str.22, i32 noundef 1501, ptr noundef %33078, ptr noundef %33081, ptr noundef %33084, i32 noundef %33086) #11
  br label %33105

33088:                                            ; preds = %33066, %33059
  %33089 = load i32, ptr %818, align 4, !tbaa !5
  %33090 = call ptr @__errno_location() #12
  store i32 %33089, ptr %33090, align 4, !tbaa !5
  %33091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33092 = load i32, ptr @test_count, align 4, !tbaa !5
  %33093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33094 = load i32, ptr %33093, align 4, !tbaa !5
  %33095 = call ptr @s2n_strerror(i32 noundef %33094, ptr noundef @.str.25)
  %33096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33097 = load i32, ptr %33096, align 4, !tbaa !5
  %33098 = call ptr @s2n_strerror_debug(i32 noundef %33097, ptr noundef @.str.25)
  %33099 = call ptr @__errno_location() #12
  %33100 = load i32, ptr %33099, align 4, !tbaa !5
  %33101 = call ptr @strerror(i32 noundef %33100) #11
  %33102 = call ptr @__errno_location() #12
  %33103 = load i32, ptr %33102, align 4, !tbaa !5
  %33104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33091, ptr noundef @.str.26, i32 noundef %33092, ptr noundef @.str.225, ptr noundef @.str.22, i32 noundef 1501, ptr noundef %33095, ptr noundef %33098, ptr noundef %33101, i32 noundef %33103) #11
  br label %33105

33105:                                            ; preds = %33088, %33071
  call void @llvm.lifetime.end.p0(i64 4, ptr %818) #11
  br label %33106

33106:                                            ; preds = %33105
  br label %33107

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

33108:                                            ; No predecessors!
  br label %33109

33109:                                            ; preds = %33108
  br label %33110

33110:                                            ; preds = %33109, %33051
  br label %33111

33111:                                            ; preds = %33110
  br label %33112

33112:                                            ; preds = %33111
  br label %33113

33113:                                            ; preds = %33112
  %33114 = load i32, ptr @test_count, align 4, !tbaa !5
  %33115 = add nsw i32 %33114, 1
  store i32 %33115, ptr @test_count, align 4, !tbaa !5
  %33116 = load ptr, ptr %797, align 8, !tbaa !9
  %33117 = load ptr, ptr %796, align 8, !tbaa !9
  %33118 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %33116, ptr noundef %33117)
  %33119 = icmp eq i32 %33118, -1
  br i1 %33119, label %33120, label %33173

33120:                                            ; preds = %33113
  br label %33121

33121:                                            ; preds = %33120
  br label %33122

33122:                                            ; preds = %33121
  call void @llvm.lifetime.start.p0(i64 4, ptr %819) #11
  %33123 = call ptr @__errno_location() #12
  %33124 = load i32, ptr %33123, align 4, !tbaa !5
  store i32 %33124, ptr %819, align 4, !tbaa !5
  %33125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33126 = call i32 @s2n_print_stacktrace(ptr noundef %33125)
  %33127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33128 = trunc i8 %33127 to i1
  br i1 %33128, label %33129, label %33151

33129:                                            ; preds = %33122
  %33130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33131 = call i32 @fileno(ptr noundef %33130) #11
  %33132 = call i32 @isatty(i32 noundef %33131) #11
  %33133 = icmp ne i32 %33132, 0
  br i1 %33133, label %33134, label %33151

33134:                                            ; preds = %33129
  %33135 = load i32, ptr %819, align 4, !tbaa !5
  %33136 = call ptr @__errno_location() #12
  store i32 %33135, ptr %33136, align 4, !tbaa !5
  %33137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33138 = load i32, ptr @test_count, align 4, !tbaa !5
  %33139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33140 = load i32, ptr %33139, align 4, !tbaa !5
  %33141 = call ptr @s2n_strerror(i32 noundef %33140, ptr noundef @.str.25)
  %33142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33143 = load i32, ptr %33142, align 4, !tbaa !5
  %33144 = call ptr @s2n_strerror_debug(i32 noundef %33143, ptr noundef @.str.25)
  %33145 = call ptr @__errno_location() #12
  %33146 = load i32, ptr %33145, align 4, !tbaa !5
  %33147 = call ptr @strerror(i32 noundef %33146) #11
  %33148 = call ptr @__errno_location() #12
  %33149 = load i32, ptr %33148, align 4, !tbaa !5
  %33150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33137, ptr noundef @.str.23, i32 noundef %33138, ptr noundef @.str.226, ptr noundef @.str.22, i32 noundef 1504, ptr noundef %33141, ptr noundef %33144, ptr noundef %33147, i32 noundef %33149) #11
  br label %33168

33151:                                            ; preds = %33129, %33122
  %33152 = load i32, ptr %819, align 4, !tbaa !5
  %33153 = call ptr @__errno_location() #12
  store i32 %33152, ptr %33153, align 4, !tbaa !5
  %33154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33155 = load i32, ptr @test_count, align 4, !tbaa !5
  %33156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33157 = load i32, ptr %33156, align 4, !tbaa !5
  %33158 = call ptr @s2n_strerror(i32 noundef %33157, ptr noundef @.str.25)
  %33159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33160 = load i32, ptr %33159, align 4, !tbaa !5
  %33161 = call ptr @s2n_strerror_debug(i32 noundef %33160, ptr noundef @.str.25)
  %33162 = call ptr @__errno_location() #12
  %33163 = load i32, ptr %33162, align 4, !tbaa !5
  %33164 = call ptr @strerror(i32 noundef %33163) #11
  %33165 = call ptr @__errno_location() #12
  %33166 = load i32, ptr %33165, align 4, !tbaa !5
  %33167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33154, ptr noundef @.str.26, i32 noundef %33155, ptr noundef @.str.226, ptr noundef @.str.22, i32 noundef 1504, ptr noundef %33158, ptr noundef %33161, ptr noundef %33164, i32 noundef %33166) #11
  br label %33168

33168:                                            ; preds = %33151, %33134
  call void @llvm.lifetime.end.p0(i64 4, ptr %819) #11
  br label %33169

33169:                                            ; preds = %33168
  br label %33170

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

33171:                                            ; No predecessors!
  br label %33172

33172:                                            ; preds = %33171
  br label %33173

33173:                                            ; preds = %33172, %33113
  br label %33174

33174:                                            ; preds = %33173
  br label %33175

33175:                                            ; preds = %33174
  br label %33176

33176:                                            ; preds = %33175
  %33177 = load i32, ptr @test_count, align 4, !tbaa !5
  %33178 = add nsw i32 %33177, 1
  store i32 %33178, ptr @test_count, align 4, !tbaa !5
  %33179 = load ptr, ptr %797, align 8, !tbaa !9
  %33180 = load i16, ptr %812, align 2, !tbaa !49
  %33181 = call i32 @s2n_assert_tickets_sent(ptr noundef %33179, i16 noundef zeroext %33180)
  %33182 = getelementptr inbounds %struct.s2n_result, ptr %820, i32 0, i32 0
  store i32 %33181, ptr %33182, align 4
  %33183 = getelementptr inbounds %struct.s2n_result, ptr %820, i32 0, i32 0
  %33184 = load i32, ptr %33183, align 4
  %33185 = call zeroext i1 @s2n_result_is_ok(i32 %33184)
  br i1 %33185, label %33239, label %33186

33186:                                            ; preds = %33176
  br label %33187

33187:                                            ; preds = %33186
  br label %33188

33188:                                            ; preds = %33187
  call void @llvm.lifetime.start.p0(i64 4, ptr %821) #11
  %33189 = call ptr @__errno_location() #12
  %33190 = load i32, ptr %33189, align 4, !tbaa !5
  store i32 %33190, ptr %821, align 4, !tbaa !5
  %33191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33192 = call i32 @s2n_print_stacktrace(ptr noundef %33191)
  %33193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33194 = trunc i8 %33193 to i1
  br i1 %33194, label %33195, label %33217

33195:                                            ; preds = %33188
  %33196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33197 = call i32 @fileno(ptr noundef %33196) #11
  %33198 = call i32 @isatty(i32 noundef %33197) #11
  %33199 = icmp ne i32 %33198, 0
  br i1 %33199, label %33200, label %33217

33200:                                            ; preds = %33195
  %33201 = load i32, ptr %821, align 4, !tbaa !5
  %33202 = call ptr @__errno_location() #12
  store i32 %33201, ptr %33202, align 4, !tbaa !5
  %33203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33204 = load i32, ptr @test_count, align 4, !tbaa !5
  %33205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33206 = load i32, ptr %33205, align 4, !tbaa !5
  %33207 = call ptr @s2n_strerror(i32 noundef %33206, ptr noundef @.str.25)
  %33208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33209 = load i32, ptr %33208, align 4, !tbaa !5
  %33210 = call ptr @s2n_strerror_debug(i32 noundef %33209, ptr noundef @.str.25)
  %33211 = call ptr @__errno_location() #12
  %33212 = load i32, ptr %33211, align 4, !tbaa !5
  %33213 = call ptr @strerror(i32 noundef %33212) #11
  %33214 = call ptr @__errno_location() #12
  %33215 = load i32, ptr %33214, align 4, !tbaa !5
  %33216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33203, ptr noundef @.str.23, i32 noundef %33204, ptr noundef @.str.227, ptr noundef @.str.22, i32 noundef 1505, ptr noundef %33207, ptr noundef %33210, ptr noundef %33213, i32 noundef %33215) #11
  br label %33234

33217:                                            ; preds = %33195, %33188
  %33218 = load i32, ptr %821, align 4, !tbaa !5
  %33219 = call ptr @__errno_location() #12
  store i32 %33218, ptr %33219, align 4, !tbaa !5
  %33220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33221 = load i32, ptr @test_count, align 4, !tbaa !5
  %33222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33223 = load i32, ptr %33222, align 4, !tbaa !5
  %33224 = call ptr @s2n_strerror(i32 noundef %33223, ptr noundef @.str.25)
  %33225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33226 = load i32, ptr %33225, align 4, !tbaa !5
  %33227 = call ptr @s2n_strerror_debug(i32 noundef %33226, ptr noundef @.str.25)
  %33228 = call ptr @__errno_location() #12
  %33229 = load i32, ptr %33228, align 4, !tbaa !5
  %33230 = call ptr @strerror(i32 noundef %33229) #11
  %33231 = call ptr @__errno_location() #12
  %33232 = load i32, ptr %33231, align 4, !tbaa !5
  %33233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33220, ptr noundef @.str.26, i32 noundef %33221, ptr noundef @.str.227, ptr noundef @.str.22, i32 noundef 1505, ptr noundef %33224, ptr noundef %33227, ptr noundef %33230, i32 noundef %33232) #11
  br label %33234

33234:                                            ; preds = %33217, %33200
  call void @llvm.lifetime.end.p0(i64 4, ptr %821) #11
  br label %33235

33235:                                            ; preds = %33234
  br label %33236

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

33237:                                            ; No predecessors!
  br label %33238

33238:                                            ; preds = %33237
  br label %33239

33239:                                            ; preds = %33238, %33176
  br label %33240

33240:                                            ; preds = %33239
  br label %33241

33241:                                            ; preds = %33240
  br label %33242

33242:                                            ; preds = %33241
  %33243 = load i32, ptr @test_count, align 4, !tbaa !5
  %33244 = add nsw i32 %33243, 1
  store i32 %33244, ptr @test_count, align 4, !tbaa !5
  %33245 = load ptr, ptr %797, align 8, !tbaa !9
  %33246 = getelementptr inbounds %struct.s2n_connection, ptr %33245, i32 0, i32 52
  %33247 = getelementptr inbounds %struct.s2n_handshake, ptr %33246, i32 0, i32 0
  %33248 = getelementptr inbounds %struct.s2n_stuffer, ptr %33247, i32 0, i32 0
  %33249 = getelementptr inbounds %struct.s2n_blob, ptr %33248, i32 0, i32 1
  %33250 = load i32, ptr %33249, align 8, !tbaa !82
  %33251 = load ptr, ptr %797, align 8, !tbaa !9
  %33252 = getelementptr inbounds %struct.s2n_connection, ptr %33251, i32 0, i32 52
  %33253 = getelementptr inbounds %struct.s2n_handshake, ptr %33252, i32 0, i32 0
  %33254 = getelementptr inbounds %struct.s2n_stuffer, ptr %33253, i32 0, i32 2
  %33255 = load i32, ptr %33254, align 4, !tbaa !78
  %33256 = sub i32 %33250, %33255
  %33257 = icmp eq i32 %33256, 0
  br i1 %33257, label %33311, label %33258

33258:                                            ; preds = %33242
  br label %33259

33259:                                            ; preds = %33258
  br label %33260

33260:                                            ; preds = %33259
  call void @llvm.lifetime.start.p0(i64 4, ptr %822) #11
  %33261 = call ptr @__errno_location() #12
  %33262 = load i32, ptr %33261, align 4, !tbaa !5
  store i32 %33262, ptr %822, align 4, !tbaa !5
  %33263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33264 = call i32 @s2n_print_stacktrace(ptr noundef %33263)
  %33265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33266 = trunc i8 %33265 to i1
  br i1 %33266, label %33267, label %33289

33267:                                            ; preds = %33260
  %33268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33269 = call i32 @fileno(ptr noundef %33268) #11
  %33270 = call i32 @isatty(i32 noundef %33269) #11
  %33271 = icmp ne i32 %33270, 0
  br i1 %33271, label %33272, label %33289

33272:                                            ; preds = %33267
  %33273 = load i32, ptr %822, align 4, !tbaa !5
  %33274 = call ptr @__errno_location() #12
  store i32 %33273, ptr %33274, align 4, !tbaa !5
  %33275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33276 = load i32, ptr @test_count, align 4, !tbaa !5
  %33277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33278 = load i32, ptr %33277, align 4, !tbaa !5
  %33279 = call ptr @s2n_strerror(i32 noundef %33278, ptr noundef @.str.25)
  %33280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33281 = load i32, ptr %33280, align 4, !tbaa !5
  %33282 = call ptr @s2n_strerror_debug(i32 noundef %33281, ptr noundef @.str.25)
  %33283 = call ptr @__errno_location() #12
  %33284 = load i32, ptr %33283, align 4, !tbaa !5
  %33285 = call ptr @strerror(i32 noundef %33284) #11
  %33286 = call ptr @__errno_location() #12
  %33287 = load i32, ptr %33286, align 4, !tbaa !5
  %33288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33275, ptr noundef @.str.23, i32 noundef %33276, ptr noundef @.str.228, ptr noundef @.str.22, i32 noundef 1509, ptr noundef %33279, ptr noundef %33282, ptr noundef %33285, i32 noundef %33287) #11
  br label %33306

33289:                                            ; preds = %33267, %33260
  %33290 = load i32, ptr %822, align 4, !tbaa !5
  %33291 = call ptr @__errno_location() #12
  store i32 %33290, ptr %33291, align 4, !tbaa !5
  %33292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33293 = load i32, ptr @test_count, align 4, !tbaa !5
  %33294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33295 = load i32, ptr %33294, align 4, !tbaa !5
  %33296 = call ptr @s2n_strerror(i32 noundef %33295, ptr noundef @.str.25)
  %33297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33298 = load i32, ptr %33297, align 4, !tbaa !5
  %33299 = call ptr @s2n_strerror_debug(i32 noundef %33298, ptr noundef @.str.25)
  %33300 = call ptr @__errno_location() #12
  %33301 = load i32, ptr %33300, align 4, !tbaa !5
  %33302 = call ptr @strerror(i32 noundef %33301) #11
  %33303 = call ptr @__errno_location() #12
  %33304 = load i32, ptr %33303, align 4, !tbaa !5
  %33305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33292, ptr noundef @.str.26, i32 noundef %33293, ptr noundef @.str.228, ptr noundef @.str.22, i32 noundef 1509, ptr noundef %33296, ptr noundef %33299, ptr noundef %33302, i32 noundef %33304) #11
  br label %33306

33306:                                            ; preds = %33289, %33272
  call void @llvm.lifetime.end.p0(i64 4, ptr %822) #11
  br label %33307

33307:                                            ; preds = %33306
  br label %33308

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

33309:                                            ; No predecessors!
  br label %33310

33310:                                            ; preds = %33309
  br label %33311

33311:                                            ; preds = %33310, %33242
  br label %33312

33312:                                            ; preds = %33311
  br label %33313

33313:                                            ; preds = %33312
  br label %33314

33314:                                            ; preds = %33313
  %33315 = load i32, ptr @test_count, align 4, !tbaa !5
  %33316 = add nsw i32 %33315, 1
  store i32 %33316, ptr @test_count, align 4, !tbaa !5
  %33317 = load ptr, ptr %796, align 8, !tbaa !9
  %33318 = getelementptr inbounds %struct.s2n_connection, ptr %33317, i32 0, i32 52
  %33319 = getelementptr inbounds %struct.s2n_handshake, ptr %33318, i32 0, i32 0
  %33320 = getelementptr inbounds %struct.s2n_stuffer, ptr %33319, i32 0, i32 0
  %33321 = getelementptr inbounds %struct.s2n_blob, ptr %33320, i32 0, i32 1
  %33322 = load i32, ptr %33321, align 8, !tbaa !82
  %33323 = load ptr, ptr %796, align 8, !tbaa !9
  %33324 = getelementptr inbounds %struct.s2n_connection, ptr %33323, i32 0, i32 52
  %33325 = getelementptr inbounds %struct.s2n_handshake, ptr %33324, i32 0, i32 0
  %33326 = getelementptr inbounds %struct.s2n_stuffer, ptr %33325, i32 0, i32 2
  %33327 = load i32, ptr %33326, align 4, !tbaa !78
  %33328 = sub i32 %33322, %33327
  %33329 = icmp eq i32 %33328, 0
  br i1 %33329, label %33383, label %33330

33330:                                            ; preds = %33314
  br label %33331

33331:                                            ; preds = %33330
  br label %33332

33332:                                            ; preds = %33331
  call void @llvm.lifetime.start.p0(i64 4, ptr %823) #11
  %33333 = call ptr @__errno_location() #12
  %33334 = load i32, ptr %33333, align 4, !tbaa !5
  store i32 %33334, ptr %823, align 4, !tbaa !5
  %33335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33336 = call i32 @s2n_print_stacktrace(ptr noundef %33335)
  %33337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33338 = trunc i8 %33337 to i1
  br i1 %33338, label %33339, label %33361

33339:                                            ; preds = %33332
  %33340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33341 = call i32 @fileno(ptr noundef %33340) #11
  %33342 = call i32 @isatty(i32 noundef %33341) #11
  %33343 = icmp ne i32 %33342, 0
  br i1 %33343, label %33344, label %33361

33344:                                            ; preds = %33339
  %33345 = load i32, ptr %823, align 4, !tbaa !5
  %33346 = call ptr @__errno_location() #12
  store i32 %33345, ptr %33346, align 4, !tbaa !5
  %33347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33348 = load i32, ptr @test_count, align 4, !tbaa !5
  %33349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33350 = load i32, ptr %33349, align 4, !tbaa !5
  %33351 = call ptr @s2n_strerror(i32 noundef %33350, ptr noundef @.str.25)
  %33352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33353 = load i32, ptr %33352, align 4, !tbaa !5
  %33354 = call ptr @s2n_strerror_debug(i32 noundef %33353, ptr noundef @.str.25)
  %33355 = call ptr @__errno_location() #12
  %33356 = load i32, ptr %33355, align 4, !tbaa !5
  %33357 = call ptr @strerror(i32 noundef %33356) #11
  %33358 = call ptr @__errno_location() #12
  %33359 = load i32, ptr %33358, align 4, !tbaa !5
  %33360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33347, ptr noundef @.str.23, i32 noundef %33348, ptr noundef @.str.229, ptr noundef @.str.22, i32 noundef 1510, ptr noundef %33351, ptr noundef %33354, ptr noundef %33357, i32 noundef %33359) #11
  br label %33378

33361:                                            ; preds = %33339, %33332
  %33362 = load i32, ptr %823, align 4, !tbaa !5
  %33363 = call ptr @__errno_location() #12
  store i32 %33362, ptr %33363, align 4, !tbaa !5
  %33364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33365 = load i32, ptr @test_count, align 4, !tbaa !5
  %33366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33367 = load i32, ptr %33366, align 4, !tbaa !5
  %33368 = call ptr @s2n_strerror(i32 noundef %33367, ptr noundef @.str.25)
  %33369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33370 = load i32, ptr %33369, align 4, !tbaa !5
  %33371 = call ptr @s2n_strerror_debug(i32 noundef %33370, ptr noundef @.str.25)
  %33372 = call ptr @__errno_location() #12
  %33373 = load i32, ptr %33372, align 4, !tbaa !5
  %33374 = call ptr @strerror(i32 noundef %33373) #11
  %33375 = call ptr @__errno_location() #12
  %33376 = load i32, ptr %33375, align 4, !tbaa !5
  %33377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33364, ptr noundef @.str.26, i32 noundef %33365, ptr noundef @.str.229, ptr noundef @.str.22, i32 noundef 1510, ptr noundef %33368, ptr noundef %33371, ptr noundef %33374, i32 noundef %33376) #11
  br label %33378

33378:                                            ; preds = %33361, %33344
  call void @llvm.lifetime.end.p0(i64 4, ptr %823) #11
  br label %33379

33379:                                            ; preds = %33378
  br label %33380

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

33381:                                            ; No predecessors!
  br label %33382

33382:                                            ; preds = %33381
  br label %33383

33383:                                            ; preds = %33382, %33314
  br label %33384

33384:                                            ; preds = %33383
  br label %33385

33385:                                            ; preds = %33384
  call void @llvm.lifetime.start.p0(i64 2, ptr %824) #11
  store i16 0, ptr %824, align 2, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr %825) #11
  store i64 0, ptr %825, align 8, !tbaa !15
  br label %33386

33386:                                            ; preds = %33640, %33385
  %33387 = load i64, ptr %825, align 8, !tbaa !15
  %33388 = load i16, ptr %812, align 2, !tbaa !49
  %33389 = zext i16 %33388 to i64
  %33390 = icmp ult i64 %33387, %33389
  br i1 %33390, label %33392, label %33391

33391:                                            ; preds = %33386
  store i32 3132, ptr %223, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %825) #11
  br label %33643

33392:                                            ; preds = %33386
  br label %33393

33393:                                            ; preds = %33392
  %33394 = load i32, ptr @test_count, align 4, !tbaa !5
  %33395 = add nsw i32 %33394, 1
  store i32 %33395, ptr @test_count, align 4, !tbaa !5
  %33396 = call i32 @s2n_stuffer_skip_read(ptr noundef %814, i32 noundef 3)
  %33397 = icmp eq i32 %33396, -1
  br i1 %33397, label %33398, label %33451

33398:                                            ; preds = %33393
  br label %33399

33399:                                            ; preds = %33398
  br label %33400

33400:                                            ; preds = %33399
  call void @llvm.lifetime.start.p0(i64 4, ptr %826) #11
  %33401 = call ptr @__errno_location() #12
  %33402 = load i32, ptr %33401, align 4, !tbaa !5
  store i32 %33402, ptr %826, align 4, !tbaa !5
  %33403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33404 = call i32 @s2n_print_stacktrace(ptr noundef %33403)
  %33405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33406 = trunc i8 %33405 to i1
  br i1 %33406, label %33407, label %33429

33407:                                            ; preds = %33400
  %33408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33409 = call i32 @fileno(ptr noundef %33408) #11
  %33410 = call i32 @isatty(i32 noundef %33409) #11
  %33411 = icmp ne i32 %33410, 0
  br i1 %33411, label %33412, label %33429

33412:                                            ; preds = %33407
  %33413 = load i32, ptr %826, align 4, !tbaa !5
  %33414 = call ptr @__errno_location() #12
  store i32 %33413, ptr %33414, align 4, !tbaa !5
  %33415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33416 = load i32, ptr @test_count, align 4, !tbaa !5
  %33417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33418 = load i32, ptr %33417, align 4, !tbaa !5
  %33419 = call ptr @s2n_strerror(i32 noundef %33418, ptr noundef @.str.25)
  %33420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33421 = load i32, ptr %33420, align 4, !tbaa !5
  %33422 = call ptr @s2n_strerror_debug(i32 noundef %33421, ptr noundef @.str.25)
  %33423 = call ptr @__errno_location() #12
  %33424 = load i32, ptr %33423, align 4, !tbaa !5
  %33425 = call ptr @strerror(i32 noundef %33424) #11
  %33426 = call ptr @__errno_location() #12
  %33427 = load i32, ptr %33426, align 4, !tbaa !5
  %33428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33415, ptr noundef @.str.23, i32 noundef %33416, ptr noundef @.str.230, ptr noundef @.str.22, i32 noundef 1516, ptr noundef %33419, ptr noundef %33422, ptr noundef %33425, i32 noundef %33427) #11
  br label %33446

33429:                                            ; preds = %33407, %33400
  %33430 = load i32, ptr %826, align 4, !tbaa !5
  %33431 = call ptr @__errno_location() #12
  store i32 %33430, ptr %33431, align 4, !tbaa !5
  %33432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33433 = load i32, ptr @test_count, align 4, !tbaa !5
  %33434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33435 = load i32, ptr %33434, align 4, !tbaa !5
  %33436 = call ptr @s2n_strerror(i32 noundef %33435, ptr noundef @.str.25)
  %33437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33438 = load i32, ptr %33437, align 4, !tbaa !5
  %33439 = call ptr @s2n_strerror_debug(i32 noundef %33438, ptr noundef @.str.25)
  %33440 = call ptr @__errno_location() #12
  %33441 = load i32, ptr %33440, align 4, !tbaa !5
  %33442 = call ptr @strerror(i32 noundef %33441) #11
  %33443 = call ptr @__errno_location() #12
  %33444 = load i32, ptr %33443, align 4, !tbaa !5
  %33445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33432, ptr noundef @.str.26, i32 noundef %33433, ptr noundef @.str.230, ptr noundef @.str.22, i32 noundef 1516, ptr noundef %33436, ptr noundef %33439, ptr noundef %33442, i32 noundef %33444) #11
  br label %33446

33446:                                            ; preds = %33429, %33412
  call void @llvm.lifetime.end.p0(i64 4, ptr %826) #11
  br label %33447

33447:                                            ; preds = %33446
  br label %33448

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

33449:                                            ; No predecessors!
  br label %33450

33450:                                            ; preds = %33449
  br label %33451

33451:                                            ; preds = %33450, %33393
  br label %33452

33452:                                            ; preds = %33451
  br label %33453

33453:                                            ; preds = %33452
  br label %33454

33454:                                            ; preds = %33453
  %33455 = load i32, ptr @test_count, align 4, !tbaa !5
  %33456 = add nsw i32 %33455, 1
  store i32 %33456, ptr @test_count, align 4, !tbaa !5
  %33457 = call i32 @s2n_stuffer_read_uint16(ptr noundef %814, ptr noundef %824)
  %33458 = icmp eq i32 %33457, -1
  br i1 %33458, label %33459, label %33512

33459:                                            ; preds = %33454
  br label %33460

33460:                                            ; preds = %33459
  br label %33461

33461:                                            ; preds = %33460
  call void @llvm.lifetime.start.p0(i64 4, ptr %827) #11
  %33462 = call ptr @__errno_location() #12
  %33463 = load i32, ptr %33462, align 4, !tbaa !5
  store i32 %33463, ptr %827, align 4, !tbaa !5
  %33464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33465 = call i32 @s2n_print_stacktrace(ptr noundef %33464)
  %33466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33467 = trunc i8 %33466 to i1
  br i1 %33467, label %33468, label %33490

33468:                                            ; preds = %33461
  %33469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33470 = call i32 @fileno(ptr noundef %33469) #11
  %33471 = call i32 @isatty(i32 noundef %33470) #11
  %33472 = icmp ne i32 %33471, 0
  br i1 %33472, label %33473, label %33490

33473:                                            ; preds = %33468
  %33474 = load i32, ptr %827, align 4, !tbaa !5
  %33475 = call ptr @__errno_location() #12
  store i32 %33474, ptr %33475, align 4, !tbaa !5
  %33476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33477 = load i32, ptr @test_count, align 4, !tbaa !5
  %33478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33479 = load i32, ptr %33478, align 4, !tbaa !5
  %33480 = call ptr @s2n_strerror(i32 noundef %33479, ptr noundef @.str.25)
  %33481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33482 = load i32, ptr %33481, align 4, !tbaa !5
  %33483 = call ptr @s2n_strerror_debug(i32 noundef %33482, ptr noundef @.str.25)
  %33484 = call ptr @__errno_location() #12
  %33485 = load i32, ptr %33484, align 4, !tbaa !5
  %33486 = call ptr @strerror(i32 noundef %33485) #11
  %33487 = call ptr @__errno_location() #12
  %33488 = load i32, ptr %33487, align 4, !tbaa !5
  %33489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33476, ptr noundef @.str.23, i32 noundef %33477, ptr noundef @.str.231, ptr noundef @.str.22, i32 noundef 1517, ptr noundef %33480, ptr noundef %33483, ptr noundef %33486, i32 noundef %33488) #11
  br label %33507

33490:                                            ; preds = %33468, %33461
  %33491 = load i32, ptr %827, align 4, !tbaa !5
  %33492 = call ptr @__errno_location() #12
  store i32 %33491, ptr %33492, align 4, !tbaa !5
  %33493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33494 = load i32, ptr @test_count, align 4, !tbaa !5
  %33495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33496 = load i32, ptr %33495, align 4, !tbaa !5
  %33497 = call ptr @s2n_strerror(i32 noundef %33496, ptr noundef @.str.25)
  %33498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33499 = load i32, ptr %33498, align 4, !tbaa !5
  %33500 = call ptr @s2n_strerror_debug(i32 noundef %33499, ptr noundef @.str.25)
  %33501 = call ptr @__errno_location() #12
  %33502 = load i32, ptr %33501, align 4, !tbaa !5
  %33503 = call ptr @strerror(i32 noundef %33502) #11
  %33504 = call ptr @__errno_location() #12
  %33505 = load i32, ptr %33504, align 4, !tbaa !5
  %33506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33493, ptr noundef @.str.26, i32 noundef %33494, ptr noundef @.str.231, ptr noundef @.str.22, i32 noundef 1517, ptr noundef %33497, ptr noundef %33500, ptr noundef %33503, i32 noundef %33505) #11
  br label %33507

33507:                                            ; preds = %33490, %33473
  call void @llvm.lifetime.end.p0(i64 4, ptr %827) #11
  br label %33508

33508:                                            ; preds = %33507
  br label %33509

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

33510:                                            ; No predecessors!
  br label %33511

33511:                                            ; preds = %33510
  br label %33512

33512:                                            ; preds = %33511, %33454
  br label %33513

33513:                                            ; preds = %33512
  br label %33514

33514:                                            ; preds = %33513
  br label %33515

33515:                                            ; preds = %33514
  %33516 = load i32, ptr @test_count, align 4, !tbaa !5
  %33517 = add nsw i32 %33516, 1
  store i32 %33517, ptr @test_count, align 4, !tbaa !5
  %33518 = load i16, ptr %824, align 2, !tbaa !49
  %33519 = zext i16 %33518 to i32
  %33520 = icmp sgt i32 %33519, 0
  br i1 %33520, label %33574, label %33521

33521:                                            ; preds = %33515
  br label %33522

33522:                                            ; preds = %33521
  br label %33523

33523:                                            ; preds = %33522
  call void @llvm.lifetime.start.p0(i64 4, ptr %828) #11
  %33524 = call ptr @__errno_location() #12
  %33525 = load i32, ptr %33524, align 4, !tbaa !5
  store i32 %33525, ptr %828, align 4, !tbaa !5
  %33526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33527 = call i32 @s2n_print_stacktrace(ptr noundef %33526)
  %33528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33529 = trunc i8 %33528 to i1
  br i1 %33529, label %33530, label %33552

33530:                                            ; preds = %33523
  %33531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33532 = call i32 @fileno(ptr noundef %33531) #11
  %33533 = call i32 @isatty(i32 noundef %33532) #11
  %33534 = icmp ne i32 %33533, 0
  br i1 %33534, label %33535, label %33552

33535:                                            ; preds = %33530
  %33536 = load i32, ptr %828, align 4, !tbaa !5
  %33537 = call ptr @__errno_location() #12
  store i32 %33536, ptr %33537, align 4, !tbaa !5
  %33538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33539 = load i32, ptr @test_count, align 4, !tbaa !5
  %33540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33541 = load i32, ptr %33540, align 4, !tbaa !5
  %33542 = call ptr @s2n_strerror(i32 noundef %33541, ptr noundef @.str.25)
  %33543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33544 = load i32, ptr %33543, align 4, !tbaa !5
  %33545 = call ptr @s2n_strerror_debug(i32 noundef %33544, ptr noundef @.str.25)
  %33546 = call ptr @__errno_location() #12
  %33547 = load i32, ptr %33546, align 4, !tbaa !5
  %33548 = call ptr @strerror(i32 noundef %33547) #11
  %33549 = call ptr @__errno_location() #12
  %33550 = load i32, ptr %33549, align 4, !tbaa !5
  %33551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33538, ptr noundef @.str.23, i32 noundef %33539, ptr noundef @.str.181, ptr noundef @.str.22, i32 noundef 1518, ptr noundef %33542, ptr noundef %33545, ptr noundef %33548, i32 noundef %33550) #11
  br label %33569

33552:                                            ; preds = %33530, %33523
  %33553 = load i32, ptr %828, align 4, !tbaa !5
  %33554 = call ptr @__errno_location() #12
  store i32 %33553, ptr %33554, align 4, !tbaa !5
  %33555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33556 = load i32, ptr @test_count, align 4, !tbaa !5
  %33557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33558 = load i32, ptr %33557, align 4, !tbaa !5
  %33559 = call ptr @s2n_strerror(i32 noundef %33558, ptr noundef @.str.25)
  %33560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33561 = load i32, ptr %33560, align 4, !tbaa !5
  %33562 = call ptr @s2n_strerror_debug(i32 noundef %33561, ptr noundef @.str.25)
  %33563 = call ptr @__errno_location() #12
  %33564 = load i32, ptr %33563, align 4, !tbaa !5
  %33565 = call ptr @strerror(i32 noundef %33564) #11
  %33566 = call ptr @__errno_location() #12
  %33567 = load i32, ptr %33566, align 4, !tbaa !5
  %33568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33555, ptr noundef @.str.26, i32 noundef %33556, ptr noundef @.str.181, ptr noundef @.str.22, i32 noundef 1518, ptr noundef %33559, ptr noundef %33562, ptr noundef %33565, i32 noundef %33567) #11
  br label %33569

33569:                                            ; preds = %33552, %33535
  call void @llvm.lifetime.end.p0(i64 4, ptr %828) #11
  br label %33570

33570:                                            ; preds = %33569
  br label %33571

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

33572:                                            ; No predecessors!
  br label %33573

33573:                                            ; preds = %33572
  br label %33574

33574:                                            ; preds = %33573, %33515
  br label %33575

33575:                                            ; preds = %33574
  br label %33576

33576:                                            ; preds = %33575
  br label %33577

33577:                                            ; preds = %33576
  %33578 = load i32, ptr @test_count, align 4, !tbaa !5
  %33579 = add nsw i32 %33578, 1
  store i32 %33579, ptr @test_count, align 4, !tbaa !5
  %33580 = load i16, ptr %824, align 2, !tbaa !49
  %33581 = zext i16 %33580 to i32
  %33582 = call i32 @s2n_stuffer_skip_read(ptr noundef %814, i32 noundef %33581)
  %33583 = icmp eq i32 %33582, -1
  br i1 %33583, label %33584, label %33637

33584:                                            ; preds = %33577
  br label %33585

33585:                                            ; preds = %33584
  br label %33586

33586:                                            ; preds = %33585
  call void @llvm.lifetime.start.p0(i64 4, ptr %829) #11
  %33587 = call ptr @__errno_location() #12
  %33588 = load i32, ptr %33587, align 4, !tbaa !5
  store i32 %33588, ptr %829, align 4, !tbaa !5
  %33589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33590 = call i32 @s2n_print_stacktrace(ptr noundef %33589)
  %33591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33592 = trunc i8 %33591 to i1
  br i1 %33592, label %33593, label %33615

33593:                                            ; preds = %33586
  %33594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33595 = call i32 @fileno(ptr noundef %33594) #11
  %33596 = call i32 @isatty(i32 noundef %33595) #11
  %33597 = icmp ne i32 %33596, 0
  br i1 %33597, label %33598, label %33615

33598:                                            ; preds = %33593
  %33599 = load i32, ptr %829, align 4, !tbaa !5
  %33600 = call ptr @__errno_location() #12
  store i32 %33599, ptr %33600, align 4, !tbaa !5
  %33601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33602 = load i32, ptr @test_count, align 4, !tbaa !5
  %33603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33604 = load i32, ptr %33603, align 4, !tbaa !5
  %33605 = call ptr @s2n_strerror(i32 noundef %33604, ptr noundef @.str.25)
  %33606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33607 = load i32, ptr %33606, align 4, !tbaa !5
  %33608 = call ptr @s2n_strerror_debug(i32 noundef %33607, ptr noundef @.str.25)
  %33609 = call ptr @__errno_location() #12
  %33610 = load i32, ptr %33609, align 4, !tbaa !5
  %33611 = call ptr @strerror(i32 noundef %33610) #11
  %33612 = call ptr @__errno_location() #12
  %33613 = load i32, ptr %33612, align 4, !tbaa !5
  %33614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33601, ptr noundef @.str.23, i32 noundef %33602, ptr noundef @.str.232, ptr noundef @.str.22, i32 noundef 1519, ptr noundef %33605, ptr noundef %33608, ptr noundef %33611, i32 noundef %33613) #11
  br label %33632

33615:                                            ; preds = %33593, %33586
  %33616 = load i32, ptr %829, align 4, !tbaa !5
  %33617 = call ptr @__errno_location() #12
  store i32 %33616, ptr %33617, align 4, !tbaa !5
  %33618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33619 = load i32, ptr @test_count, align 4, !tbaa !5
  %33620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33621 = load i32, ptr %33620, align 4, !tbaa !5
  %33622 = call ptr @s2n_strerror(i32 noundef %33621, ptr noundef @.str.25)
  %33623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33624 = load i32, ptr %33623, align 4, !tbaa !5
  %33625 = call ptr @s2n_strerror_debug(i32 noundef %33624, ptr noundef @.str.25)
  %33626 = call ptr @__errno_location() #12
  %33627 = load i32, ptr %33626, align 4, !tbaa !5
  %33628 = call ptr @strerror(i32 noundef %33627) #11
  %33629 = call ptr @__errno_location() #12
  %33630 = load i32, ptr %33629, align 4, !tbaa !5
  %33631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33618, ptr noundef @.str.26, i32 noundef %33619, ptr noundef @.str.232, ptr noundef @.str.22, i32 noundef 1519, ptr noundef %33622, ptr noundef %33625, ptr noundef %33628, i32 noundef %33630) #11
  br label %33632

33632:                                            ; preds = %33615, %33598
  call void @llvm.lifetime.end.p0(i64 4, ptr %829) #11
  br label %33633

33633:                                            ; preds = %33632
  br label %33634

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

33635:                                            ; No predecessors!
  br label %33636

33636:                                            ; preds = %33635
  br label %33637

33637:                                            ; preds = %33636, %33577
  br label %33638

33638:                                            ; preds = %33637
  br label %33639

33639:                                            ; preds = %33638
  br label %33640

33640:                                            ; preds = %33639
  %33641 = load i64, ptr %825, align 8, !tbaa !15
  %33642 = add i64 %33641, 1
  store i64 %33642, ptr %825, align 8, !tbaa !15
  br label %33386, !llvm.loop !88

33643:                                            ; preds = %33391
  br label %33644

33644:                                            ; preds = %33643
  %33645 = load i32, ptr @test_count, align 4, !tbaa !5
  %33646 = add nsw i32 %33645, 1
  store i32 %33646, ptr @test_count, align 4, !tbaa !5
  %33647 = getelementptr inbounds %struct.s2n_stuffer, ptr %814, i32 0, i32 2
  %33648 = load i32, ptr %33647, align 4, !tbaa !52
  %33649 = getelementptr inbounds %struct.s2n_stuffer, ptr %814, i32 0, i32 1
  %33650 = load i32, ptr %33649, align 8, !tbaa !53
  %33651 = sub i32 %33648, %33650
  %33652 = icmp eq i32 %33651, 0
  br i1 %33652, label %33706, label %33653

33653:                                            ; preds = %33644
  br label %33654

33654:                                            ; preds = %33653
  br label %33655

33655:                                            ; preds = %33654
  call void @llvm.lifetime.start.p0(i64 4, ptr %830) #11
  %33656 = call ptr @__errno_location() #12
  %33657 = load i32, ptr %33656, align 4, !tbaa !5
  store i32 %33657, ptr %830, align 4, !tbaa !5
  %33658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33659 = call i32 @s2n_print_stacktrace(ptr noundef %33658)
  %33660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33661 = trunc i8 %33660 to i1
  br i1 %33661, label %33662, label %33684

33662:                                            ; preds = %33655
  %33663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33664 = call i32 @fileno(ptr noundef %33663) #11
  %33665 = call i32 @isatty(i32 noundef %33664) #11
  %33666 = icmp ne i32 %33665, 0
  br i1 %33666, label %33667, label %33684

33667:                                            ; preds = %33662
  %33668 = load i32, ptr %830, align 4, !tbaa !5
  %33669 = call ptr @__errno_location() #12
  store i32 %33668, ptr %33669, align 4, !tbaa !5
  %33670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33671 = load i32, ptr @test_count, align 4, !tbaa !5
  %33672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33673 = load i32, ptr %33672, align 4, !tbaa !5
  %33674 = call ptr @s2n_strerror(i32 noundef %33673, ptr noundef @.str.25)
  %33675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33676 = load i32, ptr %33675, align 4, !tbaa !5
  %33677 = call ptr @s2n_strerror_debug(i32 noundef %33676, ptr noundef @.str.25)
  %33678 = call ptr @__errno_location() #12
  %33679 = load i32, ptr %33678, align 4, !tbaa !5
  %33680 = call ptr @strerror(i32 noundef %33679) #11
  %33681 = call ptr @__errno_location() #12
  %33682 = load i32, ptr %33681, align 4, !tbaa !5
  %33683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33670, ptr noundef @.str.23, i32 noundef %33671, ptr noundef @.str.233, ptr noundef @.str.22, i32 noundef 1521, ptr noundef %33674, ptr noundef %33677, ptr noundef %33680, i32 noundef %33682) #11
  br label %33701

33684:                                            ; preds = %33662, %33655
  %33685 = load i32, ptr %830, align 4, !tbaa !5
  %33686 = call ptr @__errno_location() #12
  store i32 %33685, ptr %33686, align 4, !tbaa !5
  %33687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33688 = load i32, ptr @test_count, align 4, !tbaa !5
  %33689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33690 = load i32, ptr %33689, align 4, !tbaa !5
  %33691 = call ptr @s2n_strerror(i32 noundef %33690, ptr noundef @.str.25)
  %33692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33693 = load i32, ptr %33692, align 4, !tbaa !5
  %33694 = call ptr @s2n_strerror_debug(i32 noundef %33693, ptr noundef @.str.25)
  %33695 = call ptr @__errno_location() #12
  %33696 = load i32, ptr %33695, align 4, !tbaa !5
  %33697 = call ptr @strerror(i32 noundef %33696) #11
  %33698 = call ptr @__errno_location() #12
  %33699 = load i32, ptr %33698, align 4, !tbaa !5
  %33700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33687, ptr noundef @.str.26, i32 noundef %33688, ptr noundef @.str.233, ptr noundef @.str.22, i32 noundef 1521, ptr noundef %33691, ptr noundef %33694, ptr noundef %33697, i32 noundef %33699) #11
  br label %33701

33701:                                            ; preds = %33684, %33667
  call void @llvm.lifetime.end.p0(i64 4, ptr %830) #11
  br label %33702

33702:                                            ; preds = %33701
  br label %33703

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

33704:                                            ; No predecessors!
  br label %33705

33705:                                            ; preds = %33704
  br label %33706

33706:                                            ; preds = %33705, %33644
  br label %33707

33707:                                            ; preds = %33706
  br label %33708

33708:                                            ; preds = %33707
  br label %33709

33709:                                            ; preds = %33708
  %33710 = load i32, ptr @test_count, align 4, !tbaa !5
  %33711 = add nsw i32 %33710, 1
  store i32 %33711, ptr @test_count, align 4, !tbaa !5
  %33712 = load ptr, ptr %797, align 8, !tbaa !9
  %33713 = load ptr, ptr %796, align 8, !tbaa !9
  %33714 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %33712, ptr noundef %33713)
  %33715 = icmp eq i32 %33714, -1
  br i1 %33715, label %33716, label %33769

33716:                                            ; preds = %33709
  br label %33717

33717:                                            ; preds = %33716
  br label %33718

33718:                                            ; preds = %33717
  call void @llvm.lifetime.start.p0(i64 4, ptr %831) #11
  %33719 = call ptr @__errno_location() #12
  %33720 = load i32, ptr %33719, align 4, !tbaa !5
  store i32 %33720, ptr %831, align 4, !tbaa !5
  %33721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33722 = call i32 @s2n_print_stacktrace(ptr noundef %33721)
  %33723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33724 = trunc i8 %33723 to i1
  br i1 %33724, label %33725, label %33747

33725:                                            ; preds = %33718
  %33726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33727 = call i32 @fileno(ptr noundef %33726) #11
  %33728 = call i32 @isatty(i32 noundef %33727) #11
  %33729 = icmp ne i32 %33728, 0
  br i1 %33729, label %33730, label %33747

33730:                                            ; preds = %33725
  %33731 = load i32, ptr %831, align 4, !tbaa !5
  %33732 = call ptr @__errno_location() #12
  store i32 %33731, ptr %33732, align 4, !tbaa !5
  %33733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33734 = load i32, ptr @test_count, align 4, !tbaa !5
  %33735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33736 = load i32, ptr %33735, align 4, !tbaa !5
  %33737 = call ptr @s2n_strerror(i32 noundef %33736, ptr noundef @.str.25)
  %33738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33739 = load i32, ptr %33738, align 4, !tbaa !5
  %33740 = call ptr @s2n_strerror_debug(i32 noundef %33739, ptr noundef @.str.25)
  %33741 = call ptr @__errno_location() #12
  %33742 = load i32, ptr %33741, align 4, !tbaa !5
  %33743 = call ptr @strerror(i32 noundef %33742) #11
  %33744 = call ptr @__errno_location() #12
  %33745 = load i32, ptr %33744, align 4, !tbaa !5
  %33746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33733, ptr noundef @.str.23, i32 noundef %33734, ptr noundef @.str.226, ptr noundef @.str.22, i32 noundef 1524, ptr noundef %33737, ptr noundef %33740, ptr noundef %33743, i32 noundef %33745) #11
  br label %33764

33747:                                            ; preds = %33725, %33718
  %33748 = load i32, ptr %831, align 4, !tbaa !5
  %33749 = call ptr @__errno_location() #12
  store i32 %33748, ptr %33749, align 4, !tbaa !5
  %33750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33751 = load i32, ptr @test_count, align 4, !tbaa !5
  %33752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33753 = load i32, ptr %33752, align 4, !tbaa !5
  %33754 = call ptr @s2n_strerror(i32 noundef %33753, ptr noundef @.str.25)
  %33755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33756 = load i32, ptr %33755, align 4, !tbaa !5
  %33757 = call ptr @s2n_strerror_debug(i32 noundef %33756, ptr noundef @.str.25)
  %33758 = call ptr @__errno_location() #12
  %33759 = load i32, ptr %33758, align 4, !tbaa !5
  %33760 = call ptr @strerror(i32 noundef %33759) #11
  %33761 = call ptr @__errno_location() #12
  %33762 = load i32, ptr %33761, align 4, !tbaa !5
  %33763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33750, ptr noundef @.str.26, i32 noundef %33751, ptr noundef @.str.226, ptr noundef @.str.22, i32 noundef 1524, ptr noundef %33754, ptr noundef %33757, ptr noundef %33760, i32 noundef %33762) #11
  br label %33764

33764:                                            ; preds = %33747, %33730
  call void @llvm.lifetime.end.p0(i64 4, ptr %831) #11
  br label %33765

33765:                                            ; preds = %33764
  br label %33766

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

33767:                                            ; No predecessors!
  br label %33768

33768:                                            ; preds = %33767
  br label %33769

33769:                                            ; preds = %33768, %33709
  br label %33770

33770:                                            ; preds = %33769
  br label %33771

33771:                                            ; preds = %33770
  br label %33772

33772:                                            ; preds = %33771
  %33773 = load i32, ptr @test_count, align 4, !tbaa !5
  %33774 = add nsw i32 %33773, 1
  store i32 %33774, ptr @test_count, align 4, !tbaa !5
  %33775 = getelementptr inbounds %struct.s2n_stuffer, ptr %814, i32 0, i32 2
  %33776 = load i32, ptr %33775, align 4, !tbaa !52
  %33777 = getelementptr inbounds %struct.s2n_stuffer, ptr %814, i32 0, i32 1
  %33778 = load i32, ptr %33777, align 8, !tbaa !53
  %33779 = sub i32 %33776, %33778
  %33780 = icmp eq i32 0, %33779
  br i1 %33780, label %33834, label %33781

33781:                                            ; preds = %33772
  br label %33782

33782:                                            ; preds = %33781
  br label %33783

33783:                                            ; preds = %33782
  call void @llvm.lifetime.start.p0(i64 4, ptr %832) #11
  %33784 = call ptr @__errno_location() #12
  %33785 = load i32, ptr %33784, align 4, !tbaa !5
  store i32 %33785, ptr %832, align 4, !tbaa !5
  %33786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33787 = call i32 @s2n_print_stacktrace(ptr noundef %33786)
  %33788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33789 = trunc i8 %33788 to i1
  br i1 %33789, label %33790, label %33812

33790:                                            ; preds = %33783
  %33791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33792 = call i32 @fileno(ptr noundef %33791) #11
  %33793 = call i32 @isatty(i32 noundef %33792) #11
  %33794 = icmp ne i32 %33793, 0
  br i1 %33794, label %33795, label %33812

33795:                                            ; preds = %33790
  %33796 = load i32, ptr %832, align 4, !tbaa !5
  %33797 = call ptr @__errno_location() #12
  store i32 %33796, ptr %33797, align 4, !tbaa !5
  %33798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33799 = load i32, ptr @test_count, align 4, !tbaa !5
  %33800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33801 = load i32, ptr %33800, align 4, !tbaa !5
  %33802 = call ptr @s2n_strerror(i32 noundef %33801, ptr noundef @.str.25)
  %33803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33804 = load i32, ptr %33803, align 4, !tbaa !5
  %33805 = call ptr @s2n_strerror_debug(i32 noundef %33804, ptr noundef @.str.25)
  %33806 = call ptr @__errno_location() #12
  %33807 = load i32, ptr %33806, align 4, !tbaa !5
  %33808 = call ptr @strerror(i32 noundef %33807) #11
  %33809 = call ptr @__errno_location() #12
  %33810 = load i32, ptr %33809, align 4, !tbaa !5
  %33811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33798, ptr noundef @.str.23, i32 noundef %33799, ptr noundef @.str.234, ptr noundef @.str.22, i32 noundef 1525, ptr noundef %33802, ptr noundef %33805, ptr noundef %33808, i32 noundef %33810) #11
  br label %33829

33812:                                            ; preds = %33790, %33783
  %33813 = load i32, ptr %832, align 4, !tbaa !5
  %33814 = call ptr @__errno_location() #12
  store i32 %33813, ptr %33814, align 4, !tbaa !5
  %33815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33816 = load i32, ptr @test_count, align 4, !tbaa !5
  %33817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33818 = load i32, ptr %33817, align 4, !tbaa !5
  %33819 = call ptr @s2n_strerror(i32 noundef %33818, ptr noundef @.str.25)
  %33820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33821 = load i32, ptr %33820, align 4, !tbaa !5
  %33822 = call ptr @s2n_strerror_debug(i32 noundef %33821, ptr noundef @.str.25)
  %33823 = call ptr @__errno_location() #12
  %33824 = load i32, ptr %33823, align 4, !tbaa !5
  %33825 = call ptr @strerror(i32 noundef %33824) #11
  %33826 = call ptr @__errno_location() #12
  %33827 = load i32, ptr %33826, align 4, !tbaa !5
  %33828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33815, ptr noundef @.str.26, i32 noundef %33816, ptr noundef @.str.234, ptr noundef @.str.22, i32 noundef 1525, ptr noundef %33819, ptr noundef %33822, ptr noundef %33825, i32 noundef %33827) #11
  br label %33829

33829:                                            ; preds = %33812, %33795
  call void @llvm.lifetime.end.p0(i64 4, ptr %832) #11
  br label %33830

33830:                                            ; preds = %33829
  br label %33831

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

33832:                                            ; No predecessors!
  br label %33833

33833:                                            ; preds = %33832
  br label %33834

33834:                                            ; preds = %33833, %33772
  br label %33835

33835:                                            ; preds = %33834
  br label %33836

33836:                                            ; preds = %33835
  br label %33837

33837:                                            ; preds = %33836
  %33838 = load i32, ptr @test_count, align 4, !tbaa !5
  %33839 = add nsw i32 %33838, 1
  store i32 %33839, ptr @test_count, align 4, !tbaa !5
  %33840 = load ptr, ptr %797, align 8, !tbaa !9
  %33841 = load i16, ptr %812, align 2, !tbaa !49
  %33842 = call i32 @s2n_assert_tickets_sent(ptr noundef %33840, i16 noundef zeroext %33841)
  %33843 = getelementptr inbounds %struct.s2n_result, ptr %833, i32 0, i32 0
  store i32 %33842, ptr %33843, align 4
  %33844 = getelementptr inbounds %struct.s2n_result, ptr %833, i32 0, i32 0
  %33845 = load i32, ptr %33844, align 4
  %33846 = call zeroext i1 @s2n_result_is_ok(i32 %33845)
  br i1 %33846, label %33900, label %33847

33847:                                            ; preds = %33837
  br label %33848

33848:                                            ; preds = %33847
  br label %33849

33849:                                            ; preds = %33848
  call void @llvm.lifetime.start.p0(i64 4, ptr %834) #11
  %33850 = call ptr @__errno_location() #12
  %33851 = load i32, ptr %33850, align 4, !tbaa !5
  store i32 %33851, ptr %834, align 4, !tbaa !5
  %33852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33853 = call i32 @s2n_print_stacktrace(ptr noundef %33852)
  %33854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33855 = trunc i8 %33854 to i1
  br i1 %33855, label %33856, label %33878

33856:                                            ; preds = %33849
  %33857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33858 = call i32 @fileno(ptr noundef %33857) #11
  %33859 = call i32 @isatty(i32 noundef %33858) #11
  %33860 = icmp ne i32 %33859, 0
  br i1 %33860, label %33861, label %33878

33861:                                            ; preds = %33856
  %33862 = load i32, ptr %834, align 4, !tbaa !5
  %33863 = call ptr @__errno_location() #12
  store i32 %33862, ptr %33863, align 4, !tbaa !5
  %33864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33865 = load i32, ptr @test_count, align 4, !tbaa !5
  %33866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33867 = load i32, ptr %33866, align 4, !tbaa !5
  %33868 = call ptr @s2n_strerror(i32 noundef %33867, ptr noundef @.str.25)
  %33869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33870 = load i32, ptr %33869, align 4, !tbaa !5
  %33871 = call ptr @s2n_strerror_debug(i32 noundef %33870, ptr noundef @.str.25)
  %33872 = call ptr @__errno_location() #12
  %33873 = load i32, ptr %33872, align 4, !tbaa !5
  %33874 = call ptr @strerror(i32 noundef %33873) #11
  %33875 = call ptr @__errno_location() #12
  %33876 = load i32, ptr %33875, align 4, !tbaa !5
  %33877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33864, ptr noundef @.str.23, i32 noundef %33865, ptr noundef @.str.227, ptr noundef @.str.22, i32 noundef 1526, ptr noundef %33868, ptr noundef %33871, ptr noundef %33874, i32 noundef %33876) #11
  br label %33895

33878:                                            ; preds = %33856, %33849
  %33879 = load i32, ptr %834, align 4, !tbaa !5
  %33880 = call ptr @__errno_location() #12
  store i32 %33879, ptr %33880, align 4, !tbaa !5
  %33881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33882 = load i32, ptr @test_count, align 4, !tbaa !5
  %33883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33884 = load i32, ptr %33883, align 4, !tbaa !5
  %33885 = call ptr @s2n_strerror(i32 noundef %33884, ptr noundef @.str.25)
  %33886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33887 = load i32, ptr %33886, align 4, !tbaa !5
  %33888 = call ptr @s2n_strerror_debug(i32 noundef %33887, ptr noundef @.str.25)
  %33889 = call ptr @__errno_location() #12
  %33890 = load i32, ptr %33889, align 4, !tbaa !5
  %33891 = call ptr @strerror(i32 noundef %33890) #11
  %33892 = call ptr @__errno_location() #12
  %33893 = load i32, ptr %33892, align 4, !tbaa !5
  %33894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33881, ptr noundef @.str.26, i32 noundef %33882, ptr noundef @.str.227, ptr noundef @.str.22, i32 noundef 1526, ptr noundef %33885, ptr noundef %33888, ptr noundef %33891, i32 noundef %33893) #11
  br label %33895

33895:                                            ; preds = %33878, %33861
  call void @llvm.lifetime.end.p0(i64 4, ptr %834) #11
  br label %33896

33896:                                            ; preds = %33895
  br label %33897

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

33898:                                            ; No predecessors!
  br label %33899

33899:                                            ; preds = %33898
  br label %33900

33900:                                            ; preds = %33899, %33837
  br label %33901

33901:                                            ; preds = %33900
  br label %33902

33902:                                            ; preds = %33901
  br label %33903

33903:                                            ; preds = %33902
  %33904 = load i32, ptr @test_count, align 4, !tbaa !5
  %33905 = add nsw i32 %33904, 1
  store i32 %33905, ptr @test_count, align 4, !tbaa !5
  %33906 = call i32 @s2n_stuffer_free(ptr noundef %813)
  %33907 = icmp eq i32 %33906, -1
  br i1 %33907, label %33908, label %33961

33908:                                            ; preds = %33903
  br label %33909

33909:                                            ; preds = %33908
  br label %33910

33910:                                            ; preds = %33909
  call void @llvm.lifetime.start.p0(i64 4, ptr %835) #11
  %33911 = call ptr @__errno_location() #12
  %33912 = load i32, ptr %33911, align 4, !tbaa !5
  store i32 %33912, ptr %835, align 4, !tbaa !5
  %33913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33914 = call i32 @s2n_print_stacktrace(ptr noundef %33913)
  %33915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33916 = trunc i8 %33915 to i1
  br i1 %33916, label %33917, label %33939

33917:                                            ; preds = %33910
  %33918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33919 = call i32 @fileno(ptr noundef %33918) #11
  %33920 = call i32 @isatty(i32 noundef %33919) #11
  %33921 = icmp ne i32 %33920, 0
  br i1 %33921, label %33922, label %33939

33922:                                            ; preds = %33917
  %33923 = load i32, ptr %835, align 4, !tbaa !5
  %33924 = call ptr @__errno_location() #12
  store i32 %33923, ptr %33924, align 4, !tbaa !5
  %33925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33926 = load i32, ptr @test_count, align 4, !tbaa !5
  %33927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33928 = load i32, ptr %33927, align 4, !tbaa !5
  %33929 = call ptr @s2n_strerror(i32 noundef %33928, ptr noundef @.str.25)
  %33930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33931 = load i32, ptr %33930, align 4, !tbaa !5
  %33932 = call ptr @s2n_strerror_debug(i32 noundef %33931, ptr noundef @.str.25)
  %33933 = call ptr @__errno_location() #12
  %33934 = load i32, ptr %33933, align 4, !tbaa !5
  %33935 = call ptr @strerror(i32 noundef %33934) #11
  %33936 = call ptr @__errno_location() #12
  %33937 = load i32, ptr %33936, align 4, !tbaa !5
  %33938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33925, ptr noundef @.str.23, i32 noundef %33926, ptr noundef @.str.235, ptr noundef @.str.22, i32 noundef 1528, ptr noundef %33929, ptr noundef %33932, ptr noundef %33935, i32 noundef %33937) #11
  br label %33956

33939:                                            ; preds = %33917, %33910
  %33940 = load i32, ptr %835, align 4, !tbaa !5
  %33941 = call ptr @__errno_location() #12
  store i32 %33940, ptr %33941, align 4, !tbaa !5
  %33942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33943 = load i32, ptr @test_count, align 4, !tbaa !5
  %33944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33945 = load i32, ptr %33944, align 4, !tbaa !5
  %33946 = call ptr @s2n_strerror(i32 noundef %33945, ptr noundef @.str.25)
  %33947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33948 = load i32, ptr %33947, align 4, !tbaa !5
  %33949 = call ptr @s2n_strerror_debug(i32 noundef %33948, ptr noundef @.str.25)
  %33950 = call ptr @__errno_location() #12
  %33951 = load i32, ptr %33950, align 4, !tbaa !5
  %33952 = call ptr @strerror(i32 noundef %33951) #11
  %33953 = call ptr @__errno_location() #12
  %33954 = load i32, ptr %33953, align 4, !tbaa !5
  %33955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33942, ptr noundef @.str.26, i32 noundef %33943, ptr noundef @.str.235, ptr noundef @.str.22, i32 noundef 1528, ptr noundef %33946, ptr noundef %33949, ptr noundef %33952, i32 noundef %33954) #11
  br label %33956

33956:                                            ; preds = %33939, %33922
  call void @llvm.lifetime.end.p0(i64 4, ptr %835) #11
  br label %33957

33957:                                            ; preds = %33956
  br label %33958

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

33959:                                            ; No predecessors!
  br label %33960

33960:                                            ; preds = %33959
  br label %33961

33961:                                            ; preds = %33960, %33903
  br label %33962

33962:                                            ; preds = %33961
  br label %33963

33963:                                            ; preds = %33962
  br label %33964

33964:                                            ; preds = %33963
  %33965 = load i32, ptr @test_count, align 4, !tbaa !5
  %33966 = add nsw i32 %33965, 1
  store i32 %33966, ptr @test_count, align 4, !tbaa !5
  %33967 = call i32 @s2n_stuffer_free(ptr noundef %814)
  %33968 = icmp eq i32 %33967, -1
  br i1 %33968, label %33969, label %34022

33969:                                            ; preds = %33964
  br label %33970

33970:                                            ; preds = %33969
  br label %33971

33971:                                            ; preds = %33970
  call void @llvm.lifetime.start.p0(i64 4, ptr %836) #11
  %33972 = call ptr @__errno_location() #12
  %33973 = load i32, ptr %33972, align 4, !tbaa !5
  store i32 %33973, ptr %836, align 4, !tbaa !5
  %33974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33975 = call i32 @s2n_print_stacktrace(ptr noundef %33974)
  %33976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33977 = trunc i8 %33976 to i1
  br i1 %33977, label %33978, label %34000

33978:                                            ; preds = %33971
  %33979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33980 = call i32 @fileno(ptr noundef %33979) #11
  %33981 = call i32 @isatty(i32 noundef %33980) #11
  %33982 = icmp ne i32 %33981, 0
  br i1 %33982, label %33983, label %34000

33983:                                            ; preds = %33978
  %33984 = load i32, ptr %836, 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.25)
  %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.25)
  %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.23, i32 noundef %33987, ptr noundef @.str.236, ptr noundef @.str.22, i32 noundef 1529, ptr noundef %33990, ptr noundef %33993, ptr noundef %33996, i32 noundef %33998) #11
  br label %34017

34000:                                            ; preds = %33978, %33971
  %34001 = load i32, ptr %836, align 4, !tbaa !5
  %34002 = call ptr @__errno_location() #12
  store i32 %34001, ptr %34002, align 4, !tbaa !5
  %34003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34004 = load i32, ptr @test_count, align 4, !tbaa !5
  %34005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34006 = load i32, ptr %34005, align 4, !tbaa !5
  %34007 = call ptr @s2n_strerror(i32 noundef %34006, ptr noundef @.str.25)
  %34008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34009 = load i32, ptr %34008, align 4, !tbaa !5
  %34010 = call ptr @s2n_strerror_debug(i32 noundef %34009, ptr noundef @.str.25)
  %34011 = call ptr @__errno_location() #12
  %34012 = load i32, ptr %34011, align 4, !tbaa !5
  %34013 = call ptr @strerror(i32 noundef %34012) #11
  %34014 = call ptr @__errno_location() #12
  %34015 = load i32, ptr %34014, align 4, !tbaa !5
  %34016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34003, ptr noundef @.str.26, i32 noundef %34004, ptr noundef @.str.236, ptr noundef @.str.22, i32 noundef 1529, ptr noundef %34007, ptr noundef %34010, ptr noundef %34013, i32 noundef %34015) #11
  br label %34017

34017:                                            ; preds = %34000, %33983
  call void @llvm.lifetime.end.p0(i64 4, ptr %836) #11
  br label %34018

34018:                                            ; preds = %34017
  br label %34019

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

34020:                                            ; No predecessors!
  br label %34021

34021:                                            ; preds = %34020
  br label %34022

34022:                                            ; preds = %34021, %33964
  br label %34023

34023:                                            ; preds = %34022
  br label %34024

34024:                                            ; preds = %34023
  br label %34025

34025:                                            ; preds = %34024
  %34026 = load i32, ptr @test_count, align 4, !tbaa !5
  %34027 = add nsw i32 %34026, 1
  store i32 %34027, ptr @test_count, align 4, !tbaa !5
  %34028 = load ptr, ptr %797, align 8, !tbaa !9
  %34029 = call i32 @s2n_connection_free(ptr noundef %34028)
  %34030 = icmp eq i32 %34029, -1
  br i1 %34030, label %34031, label %34084

34031:                                            ; preds = %34025
  br label %34032

34032:                                            ; preds = %34031
  br label %34033

34033:                                            ; preds = %34032
  call void @llvm.lifetime.start.p0(i64 4, ptr %837) #11
  %34034 = call ptr @__errno_location() #12
  %34035 = load i32, ptr %34034, align 4, !tbaa !5
  store i32 %34035, ptr %837, align 4, !tbaa !5
  %34036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34037 = call i32 @s2n_print_stacktrace(ptr noundef %34036)
  %34038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34039 = trunc i8 %34038 to i1
  br i1 %34039, label %34040, label %34062

34040:                                            ; preds = %34033
  %34041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34042 = call i32 @fileno(ptr noundef %34041) #11
  %34043 = call i32 @isatty(i32 noundef %34042) #11
  %34044 = icmp ne i32 %34043, 0
  br i1 %34044, label %34045, label %34062

34045:                                            ; preds = %34040
  %34046 = load i32, ptr %837, align 4, !tbaa !5
  %34047 = call ptr @__errno_location() #12
  store i32 %34046, ptr %34047, align 4, !tbaa !5
  %34048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34049 = load i32, ptr @test_count, align 4, !tbaa !5
  %34050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34051 = load i32, ptr %34050, align 4, !tbaa !5
  %34052 = call ptr @s2n_strerror(i32 noundef %34051, ptr noundef @.str.25)
  %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_debug(i32 noundef %34054, ptr noundef @.str.25)
  %34056 = call ptr @__errno_location() #12
  %34057 = load i32, ptr %34056, align 4, !tbaa !5
  %34058 = call ptr @strerror(i32 noundef %34057) #11
  %34059 = call ptr @__errno_location() #12
  %34060 = load i32, ptr %34059, align 4, !tbaa !5
  %34061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34048, ptr noundef @.str.23, i32 noundef %34049, ptr noundef @.str.87, ptr noundef @.str.22, i32 noundef 1530, ptr noundef %34052, ptr noundef %34055, ptr noundef %34058, i32 noundef %34060) #11
  br label %34079

34062:                                            ; preds = %34040, %34033
  %34063 = load i32, ptr %837, align 4, !tbaa !5
  %34064 = call ptr @__errno_location() #12
  store i32 %34063, ptr %34064, align 4, !tbaa !5
  %34065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34066 = load i32, ptr @test_count, align 4, !tbaa !5
  %34067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34068 = load i32, ptr %34067, align 4, !tbaa !5
  %34069 = call ptr @s2n_strerror(i32 noundef %34068, ptr noundef @.str.25)
  %34070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34071 = load i32, ptr %34070, align 4, !tbaa !5
  %34072 = call ptr @s2n_strerror_debug(i32 noundef %34071, ptr noundef @.str.25)
  %34073 = call ptr @__errno_location() #12
  %34074 = load i32, ptr %34073, align 4, !tbaa !5
  %34075 = call ptr @strerror(i32 noundef %34074) #11
  %34076 = call ptr @__errno_location() #12
  %34077 = load i32, ptr %34076, align 4, !tbaa !5
  %34078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34065, ptr noundef @.str.26, i32 noundef %34066, ptr noundef @.str.87, ptr noundef @.str.22, i32 noundef 1530, ptr noundef %34069, ptr noundef %34072, ptr noundef %34075, i32 noundef %34077) #11
  br label %34079

34079:                                            ; preds = %34062, %34045
  call void @llvm.lifetime.end.p0(i64 4, ptr %837) #11
  br label %34080

34080:                                            ; preds = %34079
  br label %34081

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

34082:                                            ; No predecessors!
  br label %34083

34083:                                            ; preds = %34082
  br label %34084

34084:                                            ; preds = %34083, %34025
  br label %34085

34085:                                            ; preds = %34084
  br label %34086

34086:                                            ; preds = %34085
  br label %34087

34087:                                            ; preds = %34086
  %34088 = load i32, ptr @test_count, align 4, !tbaa !5
  %34089 = add nsw i32 %34088, 1
  store i32 %34089, ptr @test_count, align 4, !tbaa !5
  %34090 = load ptr, ptr %796, align 8, !tbaa !9
  %34091 = call i32 @s2n_connection_free(ptr noundef %34090)
  %34092 = icmp eq i32 %34091, -1
  br i1 %34092, label %34093, label %34146

34093:                                            ; preds = %34087
  br label %34094

34094:                                            ; preds = %34093
  br label %34095

34095:                                            ; preds = %34094
  call void @llvm.lifetime.start.p0(i64 4, ptr %838) #11
  %34096 = call ptr @__errno_location() #12
  %34097 = load i32, ptr %34096, align 4, !tbaa !5
  store i32 %34097, ptr %838, align 4, !tbaa !5
  %34098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34099 = call i32 @s2n_print_stacktrace(ptr noundef %34098)
  %34100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34101 = trunc i8 %34100 to i1
  br i1 %34101, label %34102, label %34124

34102:                                            ; preds = %34095
  %34103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34104 = call i32 @fileno(ptr noundef %34103) #11
  %34105 = call i32 @isatty(i32 noundef %34104) #11
  %34106 = icmp ne i32 %34105, 0
  br i1 %34106, label %34107, label %34124

34107:                                            ; preds = %34102
  %34108 = load i32, ptr %838, align 4, !tbaa !5
  %34109 = call ptr @__errno_location() #12
  store i32 %34108, ptr %34109, align 4, !tbaa !5
  %34110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34111 = load i32, ptr @test_count, align 4, !tbaa !5
  %34112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34113 = load i32, ptr %34112, align 4, !tbaa !5
  %34114 = call ptr @s2n_strerror(i32 noundef %34113, ptr noundef @.str.25)
  %34115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34116 = load i32, ptr %34115, align 4, !tbaa !5
  %34117 = call ptr @s2n_strerror_debug(i32 noundef %34116, ptr noundef @.str.25)
  %34118 = call ptr @__errno_location() #12
  %34119 = load i32, ptr %34118, align 4, !tbaa !5
  %34120 = call ptr @strerror(i32 noundef %34119) #11
  %34121 = call ptr @__errno_location() #12
  %34122 = load i32, ptr %34121, align 4, !tbaa !5
  %34123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34110, ptr noundef @.str.23, i32 noundef %34111, ptr noundef @.str.141, ptr noundef @.str.22, i32 noundef 1531, ptr noundef %34114, ptr noundef %34117, ptr noundef %34120, i32 noundef %34122) #11
  br label %34141

34124:                                            ; preds = %34102, %34095
  %34125 = load i32, ptr %838, align 4, !tbaa !5
  %34126 = call ptr @__errno_location() #12
  store i32 %34125, ptr %34126, align 4, !tbaa !5
  %34127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34128 = load i32, ptr @test_count, align 4, !tbaa !5
  %34129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34130 = load i32, ptr %34129, align 4, !tbaa !5
  %34131 = call ptr @s2n_strerror(i32 noundef %34130, ptr noundef @.str.25)
  %34132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34133 = load i32, ptr %34132, align 4, !tbaa !5
  %34134 = call ptr @s2n_strerror_debug(i32 noundef %34133, ptr noundef @.str.25)
  %34135 = call ptr @__errno_location() #12
  %34136 = load i32, ptr %34135, align 4, !tbaa !5
  %34137 = call ptr @strerror(i32 noundef %34136) #11
  %34138 = call ptr @__errno_location() #12
  %34139 = load i32, ptr %34138, align 4, !tbaa !5
  %34140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34127, ptr noundef @.str.26, i32 noundef %34128, ptr noundef @.str.141, ptr noundef @.str.22, i32 noundef 1531, ptr noundef %34131, ptr noundef %34134, ptr noundef %34137, i32 noundef %34139) #11
  br label %34141

34141:                                            ; preds = %34124, %34107
  call void @llvm.lifetime.end.p0(i64 4, ptr %838) #11
  br label %34142

34142:                                            ; preds = %34141
  br label %34143

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

34144:                                            ; No predecessors!
  br label %34145

34145:                                            ; preds = %34144
  br label %34146

34146:                                            ; preds = %34145, %34087
  br label %34147

34147:                                            ; preds = %34146
  br label %34148

34148:                                            ; preds = %34147
  br label %34149

34149:                                            ; preds = %34148
  %34150 = load i32, ptr @test_count, align 4, !tbaa !5
  %34151 = add nsw i32 %34150, 1
  store i32 %34151, ptr @test_count, align 4, !tbaa !5
  %34152 = load ptr, ptr %800, align 8, !tbaa !9
  %34153 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %34152)
  %34154 = icmp eq i32 %34153, -1
  br i1 %34154, label %34155, label %34208

34155:                                            ; preds = %34149
  br label %34156

34156:                                            ; preds = %34155
  br label %34157

34157:                                            ; preds = %34156
  call void @llvm.lifetime.start.p0(i64 4, ptr %839) #11
  %34158 = call ptr @__errno_location() #12
  %34159 = load i32, ptr %34158, align 4, !tbaa !5
  store i32 %34159, ptr %839, align 4, !tbaa !5
  %34160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34161 = call i32 @s2n_print_stacktrace(ptr noundef %34160)
  %34162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34163 = trunc i8 %34162 to i1
  br i1 %34163, label %34164, label %34186

34164:                                            ; preds = %34157
  %34165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34166 = call i32 @fileno(ptr noundef %34165) #11
  %34167 = call i32 @isatty(i32 noundef %34166) #11
  %34168 = icmp ne i32 %34167, 0
  br i1 %34168, label %34169, label %34186

34169:                                            ; preds = %34164
  %34170 = load i32, ptr %839, align 4, !tbaa !5
  %34171 = call ptr @__errno_location() #12
  store i32 %34170, ptr %34171, align 4, !tbaa !5
  %34172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34173 = load i32, ptr @test_count, align 4, !tbaa !5
  %34174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34175 = load i32, ptr %34174, align 4, !tbaa !5
  %34176 = call ptr @s2n_strerror(i32 noundef %34175, ptr noundef @.str.25)
  %34177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34178 = load i32, ptr %34177, align 4, !tbaa !5
  %34179 = call ptr @s2n_strerror_debug(i32 noundef %34178, ptr noundef @.str.25)
  %34180 = call ptr @__errno_location() #12
  %34181 = load i32, ptr %34180, align 4, !tbaa !5
  %34182 = call ptr @strerror(i32 noundef %34181) #11
  %34183 = call ptr @__errno_location() #12
  %34184 = load i32, ptr %34183, align 4, !tbaa !5
  %34185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34172, ptr noundef @.str.23, i32 noundef %34173, ptr noundef @.str.237, ptr noundef @.str.22, i32 noundef 1532, ptr noundef %34176, ptr noundef %34179, ptr noundef %34182, i32 noundef %34184) #11
  br label %34203

34186:                                            ; preds = %34164, %34157
  %34187 = load i32, ptr %839, align 4, !tbaa !5
  %34188 = call ptr @__errno_location() #12
  store i32 %34187, ptr %34188, align 4, !tbaa !5
  %34189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34190 = load i32, ptr @test_count, align 4, !tbaa !5
  %34191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34192 = load i32, ptr %34191, align 4, !tbaa !5
  %34193 = call ptr @s2n_strerror(i32 noundef %34192, ptr noundef @.str.25)
  %34194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34195 = load i32, ptr %34194, align 4, !tbaa !5
  %34196 = call ptr @s2n_strerror_debug(i32 noundef %34195, ptr noundef @.str.25)
  %34197 = call ptr @__errno_location() #12
  %34198 = load i32, ptr %34197, align 4, !tbaa !5
  %34199 = call ptr @strerror(i32 noundef %34198) #11
  %34200 = call ptr @__errno_location() #12
  %34201 = load i32, ptr %34200, align 4, !tbaa !5
  %34202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34189, ptr noundef @.str.26, i32 noundef %34190, ptr noundef @.str.237, ptr noundef @.str.22, i32 noundef 1532, ptr noundef %34193, ptr noundef %34196, ptr noundef %34199, i32 noundef %34201) #11
  br label %34203

34203:                                            ; preds = %34186, %34169
  call void @llvm.lifetime.end.p0(i64 4, ptr %839) #11
  br label %34204

34204:                                            ; preds = %34203
  br label %34205

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

34206:                                            ; No predecessors!
  br label %34207

34207:                                            ; preds = %34206
  br label %34208

34208:                                            ; preds = %34207, %34149
  br label %34209

34209:                                            ; preds = %34208
  br label %34210

34210:                                            ; preds = %34209
  br label %34211

34211:                                            ; preds = %34210
  %34212 = load i32, ptr @test_count, align 4, !tbaa !5
  %34213 = add nsw i32 %34212, 1
  store i32 %34213, ptr @test_count, align 4, !tbaa !5
  %34214 = load ptr, ptr %802, align 8, !tbaa !9
  %34215 = call i32 @s2n_config_free(ptr noundef %34214)
  %34216 = icmp eq i32 %34215, -1
  br i1 %34216, label %34217, label %34270

34217:                                            ; preds = %34211
  br label %34218

34218:                                            ; preds = %34217
  br label %34219

34219:                                            ; preds = %34218
  call void @llvm.lifetime.start.p0(i64 4, ptr %840) #11
  %34220 = call ptr @__errno_location() #12
  %34221 = load i32, ptr %34220, align 4, !tbaa !5
  store i32 %34221, ptr %840, align 4, !tbaa !5
  %34222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34223 = call i32 @s2n_print_stacktrace(ptr noundef %34222)
  %34224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34225 = trunc i8 %34224 to i1
  br i1 %34225, label %34226, label %34248

34226:                                            ; preds = %34219
  %34227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34228 = call i32 @fileno(ptr noundef %34227) #11
  %34229 = call i32 @isatty(i32 noundef %34228) #11
  %34230 = icmp ne i32 %34229, 0
  br i1 %34230, label %34231, label %34248

34231:                                            ; preds = %34226
  %34232 = load i32, ptr %840, align 4, !tbaa !5
  %34233 = call ptr @__errno_location() #12
  store i32 %34232, ptr %34233, align 4, !tbaa !5
  %34234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34235 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %34237, ptr noundef @.str.25)
  %34239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34240 = load i32, ptr %34239, align 4, !tbaa !5
  %34241 = call ptr @s2n_strerror_debug(i32 noundef %34240, ptr noundef @.str.25)
  %34242 = call ptr @__errno_location() #12
  %34243 = load i32, ptr %34242, align 4, !tbaa !5
  %34244 = call ptr @strerror(i32 noundef %34243) #11
  %34245 = call ptr @__errno_location() #12
  %34246 = load i32, ptr %34245, align 4, !tbaa !5
  %34247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34234, ptr noundef @.str.23, i32 noundef %34235, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1533, ptr noundef %34238, ptr noundef %34241, ptr noundef %34244, i32 noundef %34246) #11
  br label %34265

34248:                                            ; preds = %34226, %34219
  %34249 = load i32, ptr %840, align 4, !tbaa !5
  %34250 = call ptr @__errno_location() #12
  store i32 %34249, ptr %34250, align 4, !tbaa !5
  %34251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34252 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %34254, ptr noundef @.str.25)
  %34256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34257 = load i32, ptr %34256, align 4, !tbaa !5
  %34258 = call ptr @s2n_strerror_debug(i32 noundef %34257, ptr noundef @.str.25)
  %34259 = call ptr @__errno_location() #12
  %34260 = load i32, ptr %34259, align 4, !tbaa !5
  %34261 = call ptr @strerror(i32 noundef %34260) #11
  %34262 = call ptr @__errno_location() #12
  %34263 = load i32, ptr %34262, align 4, !tbaa !5
  %34264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34251, ptr noundef @.str.26, i32 noundef %34252, ptr noundef @.str.58, ptr noundef @.str.22, i32 noundef 1533, ptr noundef %34255, ptr noundef %34258, ptr noundef %34261, i32 noundef %34263) #11
  br label %34265

34265:                                            ; preds = %34248, %34231
  call void @llvm.lifetime.end.p0(i64 4, ptr %840) #11
  br label %34266

34266:                                            ; preds = %34265
  br label %34267

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

34268:                                            ; No predecessors!
  br label %34269

34269:                                            ; preds = %34268
  br label %34270

34270:                                            ; preds = %34269, %34211
  br label %34271

34271:                                            ; preds = %34270
  br label %34272

34272:                                            ; preds = %34271
  call void @llvm.lifetime.end.p0(i64 2, ptr %824) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %814) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %813) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %812) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %802) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %800) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %797) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %796) #11
  br label %34273

34273:                                            ; preds = %34272, %32177
  br label %34274

34274:                                            ; preds = %34273
  br label %34275

34275:                                            ; preds = %34274
  %34276 = call i32 @s2n_cleanup()
  %34277 = icmp eq i32 %34276, -1
  br i1 %34277, label %34278, label %34329

34278:                                            ; preds = %34275
  br label %34279

34279:                                            ; preds = %34278
  br label %34280

34280:                                            ; preds = %34279
  call void @llvm.lifetime.start.p0(i64 4, ptr %841) #11
  %34281 = call ptr @__errno_location() #12
  %34282 = load i32, ptr %34281, align 4, !tbaa !5
  store i32 %34282, ptr %841, 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 %841, 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.25)
  %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.25)
  %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.23, i32 noundef %34296, ptr noundef @.str.238, ptr noundef @.str.22, i32 noundef 1536, ptr noundef %34299, ptr noundef %34302, ptr noundef %34305, i32 noundef %34307) #11
  br label %34326

34309:                                            ; preds = %34287, %34280
  %34310 = load i32, ptr %841, 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.25)
  %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.25)
  %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.26, i32 noundef %34313, ptr noundef @.str.238, ptr noundef @.str.22, i32 noundef 1536, 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 %841) #11
  br label %34327

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

34328:                                            ; No predecessors!
  br label %34329

34329:                                            ; preds = %34328, %34275
  br label %34330

34330:                                            ; preds = %34329
  br label %34331

34331:                                            ; preds = %34330
  br label %34332

34332:                                            ; preds = %34331
  %34333 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %34334 = icmp eq i32 %34333, -1
  br i1 %34334, label %34335, label %34386

34335:                                            ; preds = %34332
  br label %34336

34336:                                            ; preds = %34335
  br label %34337

34337:                                            ; preds = %34336
  call void @llvm.lifetime.start.p0(i64 4, ptr %842) #11
  %34338 = call ptr @__errno_location() #12
  %34339 = load i32, ptr %34338, align 4, !tbaa !5
  store i32 %34339, ptr %842, align 4, !tbaa !5
  %34340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34341 = call i32 @s2n_print_stacktrace(ptr noundef %34340)
  %34342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34343 = trunc i8 %34342 to i1
  br i1 %34343, label %34344, label %34366

34344:                                            ; preds = %34337
  %34345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34346 = call i32 @fileno(ptr noundef %34345) #11
  %34347 = call i32 @isatty(i32 noundef %34346) #11
  %34348 = icmp ne i32 %34347, 0
  br i1 %34348, label %34349, label %34366

34349:                                            ; preds = %34344
  %34350 = load i32, ptr %842, align 4, !tbaa !5
  %34351 = call ptr @__errno_location() #12
  store i32 %34350, ptr %34351, align 4, !tbaa !5
  %34352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34353 = load i32, ptr @test_count, align 4, !tbaa !5
  %34354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34355 = load i32, ptr %34354, align 4, !tbaa !5
  %34356 = call ptr @s2n_strerror(i32 noundef %34355, ptr noundef @.str.25)
  %34357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34358 = load i32, ptr %34357, align 4, !tbaa !5
  %34359 = call ptr @s2n_strerror_debug(i32 noundef %34358, ptr noundef @.str.25)
  %34360 = call ptr @__errno_location() #12
  %34361 = load i32, ptr %34360, align 4, !tbaa !5
  %34362 = call ptr @strerror(i32 noundef %34361) #11
  %34363 = call ptr @__errno_location() #12
  %34364 = load i32, ptr %34363, align 4, !tbaa !5
  %34365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34352, ptr noundef @.str.23, i32 noundef %34353, ptr noundef @.str.239, ptr noundef @.str.22, i32 noundef 1536, ptr noundef %34356, ptr noundef %34359, ptr noundef %34362, i32 noundef %34364) #11
  br label %34383

34366:                                            ; preds = %34344, %34337
  %34367 = load i32, ptr %842, align 4, !tbaa !5
  %34368 = call ptr @__errno_location() #12
  store i32 %34367, ptr %34368, align 4, !tbaa !5
  %34369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34370 = load i32, ptr @test_count, align 4, !tbaa !5
  %34371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34372 = load i32, ptr %34371, align 4, !tbaa !5
  %34373 = call ptr @s2n_strerror(i32 noundef %34372, ptr noundef @.str.25)
  %34374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34375 = load i32, ptr %34374, align 4, !tbaa !5
  %34376 = call ptr @s2n_strerror_debug(i32 noundef %34375, ptr noundef @.str.25)
  %34377 = call ptr @__errno_location() #12
  %34378 = load i32, ptr %34377, align 4, !tbaa !5
  %34379 = call ptr @strerror(i32 noundef %34378) #11
  %34380 = call ptr @__errno_location() #12
  %34381 = load i32, ptr %34380, align 4, !tbaa !5
  %34382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34369, ptr noundef @.str.26, i32 noundef %34370, ptr noundef @.str.239, ptr noundef @.str.22, i32 noundef 1536, ptr noundef %34373, ptr noundef %34376, ptr noundef %34379, i32 noundef %34381) #11
  br label %34383

34383:                                            ; preds = %34366, %34349
  call void @llvm.lifetime.end.p0(i64 4, ptr %842) #11
  br label %34384

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

34385:                                            ; No predecessors!
  br label %34386

34386:                                            ; preds = %34385, %34332
  br label %34387

34387:                                            ; preds = %34386
  %34388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34389 = trunc i8 %34388 to i1
  br i1 %34389, label %34390, label %34406

34390:                                            ; preds = %34387
  %34391 = load ptr, ptr @stdout, align 8, !tbaa !9
  %34392 = call i32 @fileno(ptr noundef %34391) #11
  %34393 = call i32 @isatty(i32 noundef %34392) #11
  %34394 = icmp ne i32 %34393, 0
  br i1 %34394, label %34395, label %34406

34395:                                            ; preds = %34390
  %34396 = load i32, ptr @test_count, align 4, !tbaa !5
  %34397 = icmp ne i32 %34396, 0
  br i1 %34397, label %34398, label %34402

34398:                                            ; preds = %34395
  %34399 = load ptr, ptr @stdout, align 8, !tbaa !9
  %34400 = load i32, ptr @test_count, align 4, !tbaa !5
  %34401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34399, ptr noundef @.str.240, i32 noundef %34400) #11
  br label %34405

34402:                                            ; preds = %34395
  %34403 = load ptr, ptr @stdout, align 8, !tbaa !9
  %34404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34403, ptr noundef @.str.241) #11
  br label %34405

34405:                                            ; preds = %34402, %34398
  br label %34417

34406:                                            ; preds = %34390, %34387
  %34407 = load i32, ptr @test_count, align 4, !tbaa !5
  %34408 = icmp ne i32 %34407, 0
  br i1 %34408, label %34409, label %34413

34409:                                            ; preds = %34406
  %34410 = load ptr, ptr @stdout, align 8, !tbaa !9
  %34411 = load i32, ptr @test_count, align 4, !tbaa !5
  %34412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34410, ptr noundef @.str.242, i32 noundef %34411) #11
  br label %34416

34413:                                            ; preds = %34406
  %34414 = load ptr, ptr @stdout, align 8, !tbaa !9
  %34415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34414, ptr noundef @.str.243) #11
  br label %34416

34416:                                            ; preds = %34413, %34409
  br label %34417

34417:                                            ; preds = %34416, %34405
  store i32 0, ptr %3, align 4
  br label %34419

34418:                                            ; No predecessors!
  br label %34419

34419:                                            ; preds = %34418, %34417, %18211, %9503
  %34420 = load i32, ptr %3, align 4
  ret i32 %34420

34421:                                            ; preds = %18211, %9503
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #7

declare i32 @fflush(ptr noundef) #0

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #0

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

declare i32 @s2n_print_stacktrace(ptr noundef) #0

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #7

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #7

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #0

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #0

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #7

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #9

declare i32 @s2n_enable_atexit() #0

declare i32 @s2n_init() #0

declare ptr @s2n_connection_new(i32 noundef) #0

declare ptr @s2n_config_new() #0

declare i32 @s2n_config_set_wall_clock(ptr noundef, ptr noundef, ptr noundef) #0

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

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) #0

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) #0

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) #0

declare i32 @s2n_stuffer_read_uint24(ptr noundef, ptr noundef) #0

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

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

declare i32 @s2n_connection_free(ptr noundef) #0

declare i32 @s2n_stuffer_free(ptr noundef) #0

declare i32 @s2n_config_free(ptr noundef) #0

declare void @s2n_debug_info_reset() #0

declare i32 @s2n_config_ptr_free(ptr noundef) #0

declare i32 @s2n_connection_ptr_free(ptr noundef) #0

declare i32 @s2n_stuffer_wipe(ptr noundef) #0

declare i32 @s2n_connection_set_server_max_early_data_size(ptr noundef, i32 noundef) #0

declare i32 @s2n_config_set_session_tickets_onoff(ptr noundef, i8 noundef zeroext) #0

declare i32 @s2n_config_set_session_ticket_cb(ptr noundef, ptr noundef, ptr noundef) #0

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

declare i32 @s2n_connection_set_server_early_data_context(ptr noundef, ptr noundef, i16 noundef zeroext) #0

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

declare i32 @s2n_connection_set_server_keying_material_lifetime(ptr noundef, i32 noundef) #0

declare i32 @s2n_psk_parameters_wipe(ptr noundef) #0

declare i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef, ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_setup_test_resumption_secret(ptr noundef) #5

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

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_assert_tickets_sent(ptr noundef, i16 noundef zeroext) #5

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) #0

declare i32 @s2n_connection_add_new_tickets_to_send(ptr noundef, i8 noundef zeroext) #0

declare ptr @s2n_test_psk_new(ptr noundef) #0

declare i32 @s2n_psk_free(ptr noundef) #0

declare i32 @s2n_config_add_ticket_crypto_key(ptr noundef, ptr noundef, i32 noundef, ptr noundef, i32 noundef, i64 noundef) #0

declare i32 @s2n_config_set_initial_ticket_count(ptr noundef, i8 noundef zeroext) #0

declare i32 @s2n_stuffer_rewrite(ptr noundef) #0

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

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #0

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) #0

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) #0

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) #0

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) #0

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) #0

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) #0

declare i32 @s2n_cleanup() #0

attributes #0 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #3 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { 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 #6 = { 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 #7 = { 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 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { noreturn nounwind }
attributes #14 = { nounwind willreturn memory(read) }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!18, !7, i64 220}
!18 = !{!"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, !19, i64 160, !16, i64 168, !16, 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, !20, i64 240, !10, i64 632, !10, i64 640, !21, i64 648, !27, i64 1144, !30, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !33, i64 1776, !33, i64 1816, !33, i64 1856, !33, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !33, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !34, i64 2004, !34, i64 2008, !35, i64 2016, !32, i64 2208, !6, i64 2212, !32, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !34, i64 2264, !34, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !26, i64 2792, !6, i64 2816, !26, i64 2824, !26, i64 2848, !26, i64 2872, !37, i64 2896, !39, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !26, i64 3784, !6, i64 3808, !41, i64 3816, !7, i64 3848, !33, i64 3992, !26, i64 4032, !26, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !32, i64 4084, !32, i64 4086, !6, i64 4088, !6, i64 4092, !26, i64 4096, !6, i64 4120, !42, i64 4128, !34, i64 4176, !7, i64 4180, !7, i64 4181}
!19 = !{!"s2n_timer", !16, i64 0}
!20 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!21 = !{!"s2n_kex_parameters", !22, i64 0, !23, i64 8, !7, i64 24, !23, i64 56, !24, i64 72, !24, i64 184, !7, i64 296, !25, i64 360, !26, i64 448, !26, i64 472}
!22 = !{!"s2n_dh_params", !10, i64 0}
!23 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!24 = !{!"s2n_kem_group_params", !10, i64 0, !25, i64 8, !23, i64 96}
!25 = !{!"s2n_kem_params", !10, i64 0, !26, i64 8, !26, i64 32, !26, i64 56, !12, i64 80}
!26 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!27 = !{!"s2n_handshake_parameters", !28, i64 0, !28, i64 48, !26, i64 96, !6, i64 120, !29, 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}
!28 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!29 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!30 = !{!"s2n_psk_parameters", !6, i64 0, !31, i64 8, !32, i64 40, !32, i64 42, !10, i64 48, !6, i64 56}
!31 = !{!"s2n_array", !26, i64 0, !6, i64 24, !6, i64 28}
!32 = !{!"short", !7, i64 0}
!33 = !{!"s2n_stuffer", !26, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!34 = !{!"", !6, i64 0}
!35 = !{!"s2n_handshake", !33, 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, !36, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!36 = !{!"s2n_offered_early_data", !10, i64 0}
!37 = !{!"s2n_client_hello", !26, i64 0, !38, i64 24, !26, i64 728, !26, i64 752, !26, 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}
!38 = !{!"", !7, i64 0, !26, i64 672, !32, i64 696}
!39 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !32, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !40, i64 48, !12, i64 52}
!40 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!41 = !{!"s2n_ticket_fields", !26, i64 0, !6, i64 24}
!42 = !{!"s2n_post_handshake", !33, i64 0, !7, i64 40}
!43 = !{!18, !10, i64 232}
!44 = !{!45, !10, i64 0}
!45 = !{!"s2n_crypto_parameters", !10, i64 0, !46, i64 8, !46, i64 16, !47, i64 24, !47, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!46 = !{!"s2n_session_key", !10, i64 0}
!47 = !{!"s2n_hmac_state", !6, i64 0, !32, i64 4, !6, i64 8, !32, i64 12, !7, i64 14, !48, i64 16, !48, i64 72, !48, i64 128, !48, i64 184, !7, i64 240, !7, i64 368}
!48 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !16, i64 16, !7, i64 24}
!49 = !{!32, !32, i64 0}
!50 = !{!18, !32, i64 4086}
!51 = !{!7, !7, i64 0}
!52 = !{!33, !6, i64 28}
!53 = !{!33, !6, i64 24}
!54 = !{!26, !10, i64 0}
!55 = !{!56, !16, i64 160}
!56 = !{!"s2n_config", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !57, i64 24, !26, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !16, i64 144, !10, i64 152, !16, i64 160, !16, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !58, i64 304, !32, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !26, i64 448}
!57 = !{!"certs_by_type", !7, i64 0}
!58 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!59 = !{!56, !16, i64 168}
!60 = !{!56, !16, i64 144}
!61 = !{!18, !10, i64 1736}
!62 = !{!63, !16, i64 160}
!63 = !{!"s2n_psk", !6, i64 0, !26, i64 8, !26, i64 32, !6, i64 56, !6, i64 60, !16, i64 64, !26, i64 72, !64, i64 96, !16, i64 160}
!64 = !{!"s2n_early_data_config", !6, i64 0, !7, i64 4, !10, i64 8, !26, i64 16, !26, i64 40}
!65 = !{!66, !32, i64 0}
!66 = !{!"", !32, i64 0, !7, i64 2}
!67 = distinct !{!67, !68}
!68 = !{!"llvm.loop.mustprogress"}
!69 = !{!70, !6, i64 4}
!70 = !{!"", !7, i64 0, !6, i64 4}
!71 = distinct !{!71, !68}
!72 = !{!26, !6, i64 8}
!73 = !{!18, !6, i64 3792}
!74 = !{!18, !10, i64 3784}
!75 = !{!18, !6, i64 4092}
!76 = distinct !{!76, !68}
!77 = !{!18, !6, i64 3780}
!78 = !{!18, !6, i64 2044}
!79 = !{!18, !6, i64 2040}
!80 = !{!18, !10, i64 8}
!81 = !{!18, !32, i64 4084}
!82 = !{!18, !6, i64 2024}
!83 = !{!18, !6, i64 1744}
!84 = !{!63, !6, i64 0}
!85 = !{!56, !10, i64 80}
!86 = !{!56, !10, i64 104}
!87 = distinct !{!87, !68}
!88 = distinct !{!88, !68}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.s2n_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.anon = type { i16, [2 x i8] }
%struct.anon.1 = type { [4 x i8], i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }

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

declare i32 @s2n_stuffer_read_uint32(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

declare i32 @s2n_stuffer_read_uint16(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_connection_get_session_length(ptr noundef) local_unnamed_addr #0

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

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #0

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

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

; 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
declare dso_local i32 @s2n_server_nst_send(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) local_unnamed_addr #6

declare i32 @s2n_stuffer_write_uint32(ptr noundef, i32 noundef) local_unnamed_addr #0

declare i32 @s2n_stuffer_write(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_stuffer_init(ptr noundef, ptr noundef) local_unnamed_addr #0

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_generate_ticket_lifetime(ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #5

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

declare i32 @s2n_connection_get_session_state_size(ptr noundef, ptr noundef) local_unnamed_addr #0

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_generate_ticket_age_add(ptr noundef, ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_generate_ticket_nonce(i16 noundef zeroext, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_generate_session_secret(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

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

declare i32 @s2n_stuffer_read_uint8(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_stuffer_read_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
define dso_local range(i32 -1, 1) i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #5 {
  %3 = alloca %struct.s2n_stuffer, align 8
  %4 = alloca i8, align 1
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i8, align 1
  %8 = alloca [2 x i8], align 2
  %9 = alloca [2 x i8], align 2
  %10 = alloca %struct.s2n_blob, align 8
  %11 = alloca i16, align 2
  %12 = alloca i16, align 2
  %13 = alloca %struct.s2n_stuffer, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca %struct.s2n_stuffer, align 8
  %17 = alloca %struct.s2n_stuffer, align 8
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca %struct.s2n_stuffer, align 8
  %21 = alloca i16, align 2
  %22 = alloca i16, align 2
  %23 = alloca i32, align 4
  %24 = alloca [65535 x i8], align 16
  %25 = alloca %struct.s2n_stuffer, align 8
  %26 = alloca i32, align 4
  %27 = alloca ptr, align 8
  %28 = alloca ptr, align 8
  %29 = alloca i64, align 8
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca [2 x i8], align 2
  %35 = alloca %struct.s2n_blob, align 8
  %36 = alloca [8 x %struct.anon.1], align 16
  %37 = alloca i32, align 4
  %38 = alloca %struct.s2n_blob, align 8
  %39 = alloca %struct.s2n_blob, align 8
  %40 = alloca [2 x i8], align 2
  %41 = alloca %struct.s2n_blob, align 8
  %42 = alloca [18 x i8], align 16
  %43 = alloca %struct.s2n_stuffer, align 8
  %44 = alloca %struct.s2n_blob, align 8
  %45 = alloca %struct.s2n_stuffer, align 8
  %46 = alloca %struct.s2n_blob, align 8
  %47 = alloca %struct.s2n_stuffer, align 8
  %48 = alloca %struct.s2n_blob, align 8
  %49 = alloca %struct.s2n_blob, align 8
  %50 = alloca %struct.s2n_stuffer, align 8
  %51 = alloca i16, align 2
  %52 = alloca [4 x i8], align 4
  %53 = alloca %struct.s2n_blob, align 8
  %54 = alloca %struct.s2n_stuffer, align 8
  %55 = alloca %struct.s2n_stuffer, align 8
  %56 = alloca %struct.s2n_stuffer, align 8
  %57 = alloca %struct.s2n_stuffer, align 8
  %58 = alloca %struct.s2n_stuffer, align 8
  %59 = alloca %struct.s2n_stuffer, align 8
  %60 = alloca ptr, align 8
  %61 = alloca ptr, align 8
  %62 = alloca i32, align 4
  %63 = alloca i16, align 2
  %64 = alloca ptr, align 8
  %65 = alloca ptr, align 8
  %66 = alloca i32, align 4
  %67 = alloca i16, align 2
  %68 = alloca ptr, align 8
  %69 = alloca ptr, align 8
  %70 = alloca i32, align 4
  %71 = alloca i16, align 2
  %72 = alloca %struct.s2n_stuffer, align 8
  %73 = alloca i32, align 4
  %74 = alloca ptr, align 8
  %75 = alloca ptr, align 8
  %76 = alloca %struct.s2n_stuffer, align 8
  %77 = alloca i32, align 4
  %78 = alloca %struct.s2n_stuffer, align 8
  %79 = alloca i32, align 4
  %80 = alloca ptr, align 8
  %81 = alloca ptr, align 8
  %82 = alloca %struct.s2n_stuffer, align 8
  %83 = alloca i32, align 4
  %84 = alloca ptr, align 8
  %85 = alloca ptr, align 8
  %86 = alloca %struct.s2n_stuffer, align 8
  %87 = alloca %struct.s2n_stuffer, align 8
  %88 = alloca i32, align 4
  %89 = alloca i16, align 2
  %90 = alloca %struct.s2n_stuffer, align 8
  %91 = alloca ptr, align 8
  %92 = alloca i32, align 4
  %93 = alloca [16 x i8], align 16
  %94 = alloca i64, align 8
  %95 = alloca %struct.s2n_stuffer, align 8
  %96 = alloca i32, align 4
  %97 = alloca [16 x i8], align 16
  %98 = alloca i64, align 8
  %99 = alloca %struct.s2n_stuffer, align 8
  %100 = alloca i32, align 4
  %101 = alloca %struct.s2n_stuffer, align 8
  %102 = alloca i32, align 4
  %103 = alloca i16, align 2
  %104 = alloca %struct.s2n_stuffer, align 8
  %105 = alloca i64, align 8
  %106 = alloca i32, align 4
  %107 = alloca [19 x i8], align 16
  %108 = alloca i64, align 8
  %109 = alloca i32, align 4
  %110 = alloca [29 x i8], align 16
  %111 = alloca i64, align 8
  %112 = alloca i32, align 4
  %113 = alloca ptr, align 8
  %114 = alloca %struct.s2n_stuffer, align 8
  %115 = alloca %struct.s2n_stuffer, align 8
  %116 = alloca i16, align 2
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %117 = load ptr, ptr @stdout, align 8, !tbaa !9
  %118 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %117, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.22) #12
  %119 = load ptr, ptr @stdout, align 8, !tbaa !9
  %120 = tail call i32 @fflush(ptr noundef %119)
  %121 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %122 = icmp eq i32 %121, -1
  br i1 %122, label %123, label %147

123:                                              ; preds = %2
  %124 = tail call ptr @__errno_location() #13
  %125 = load i32, ptr %124, align 4, !tbaa !5
  %126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %127 = tail call i32 @s2n_print_stacktrace(ptr noundef %126) #12
  %128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %129 = trunc nuw i8 %128 to i1
  br i1 %129, label %130, label %134

130:                                              ; preds = %123
  %131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %132 = tail call i32 @fileno(ptr noundef %131) #12
  %133 = tail call i32 @isatty(i32 noundef %132) #12
  %.not2153 = icmp eq i32 %133, 0
  br i1 %.not2153, label %134, label %135

134:                                              ; preds = %130, %123
  br label %135

135:                                              ; preds = %130, %134
  %.str.26.sink = phi ptr [ @.str.26, %134 ], [ @.str.23, %130 ]
  store i32 %125, ptr %124, align 4, !tbaa !5
  %136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %137 = load i32, ptr @test_count, align 4, !tbaa !5
  %138 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %139 = load i32, ptr %138, align 4, !tbaa !5
  %140 = tail call ptr @s2n_strerror(i32 noundef %139, ptr noundef nonnull @.str.25) #12
  %141 = load i32, ptr %138, align 4, !tbaa !5
  %142 = tail call ptr @s2n_strerror_debug(i32 noundef %141, ptr noundef nonnull @.str.25) #12
  %143 = load i32, ptr %124, align 4, !tbaa !5
  %144 = tail call ptr @strerror(i32 noundef %143) #12
  %145 = load i32, ptr %124, align 4, !tbaa !5
  %146 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %136, ptr noundef nonnull %.str.26.sink, i32 noundef %137, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.22, i32 noundef 127, ptr noundef %140, ptr noundef %142, ptr noundef %144, i32 noundef %145) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

147:                                              ; preds = %2
  %148 = load i32, ptr @test_count, align 4, !tbaa !5
  %149 = add nsw i32 %148, 1
  store i32 %149, ptr @test_count, align 4, !tbaa !5
  %150 = tail call i32 @s2n_enable_atexit() #12
  %151 = icmp eq i32 %150, -1
  br i1 %151, label %152, label %176

152:                                              ; preds = %147
  %153 = tail call ptr @__errno_location() #13
  %154 = load i32, ptr %153, align 4, !tbaa !5
  %155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %156 = tail call i32 @s2n_print_stacktrace(ptr noundef %155) #12
  %157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %158 = trunc nuw i8 %157 to i1
  br i1 %158, label %159, label %163

159:                                              ; preds = %152
  %160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %161 = tail call i32 @fileno(ptr noundef %160) #12
  %162 = tail call i32 @isatty(i32 noundef %161) #12
  %.not2152 = icmp eq i32 %162, 0
  br i1 %.not2152, label %163, label %164

163:                                              ; preds = %159, %152
  br label %164

164:                                              ; preds = %159, %163
  %.str.26.sink2194 = phi ptr [ @.str.26, %163 ], [ @.str.23, %159 ]
  store i32 %154, ptr %153, align 4, !tbaa !5
  %165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %166 = load i32, ptr @test_count, align 4, !tbaa !5
  %167 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %168 = load i32, ptr %167, align 4, !tbaa !5
  %169 = tail call ptr @s2n_strerror(i32 noundef %168, ptr noundef nonnull @.str.25) #12
  %170 = load i32, ptr %167, align 4, !tbaa !5
  %171 = tail call ptr @s2n_strerror_debug(i32 noundef %170, ptr noundef nonnull @.str.25) #12
  %172 = load i32, ptr %153, align 4, !tbaa !5
  %173 = tail call ptr @strerror(i32 noundef %172) #12
  %174 = load i32, ptr %153, align 4, !tbaa !5
  %175 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %165, ptr noundef nonnull %.str.26.sink2194, i32 noundef %166, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.22, i32 noundef 127, ptr noundef %169, ptr noundef %171, ptr noundef %173, i32 noundef %174) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

176:                                              ; preds = %147
  %177 = tail call i32 @s2n_init() #12
  %178 = icmp eq i32 %177, -1
  br i1 %178, label %179, label %203

179:                                              ; preds = %176
  %180 = tail call ptr @__errno_location() #13
  %181 = load i32, ptr %180, align 4, !tbaa !5
  %182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %183 = tail call i32 @s2n_print_stacktrace(ptr noundef %182) #12
  %184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %185 = trunc nuw i8 %184 to i1
  br i1 %185, label %186, label %190

186:                                              ; preds = %179
  %187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %188 = tail call i32 @fileno(ptr noundef %187) #12
  %189 = tail call i32 @isatty(i32 noundef %188) #12
  %.not2151 = icmp eq i32 %189, 0
  br i1 %.not2151, label %190, label %191

190:                                              ; preds = %186, %179
  br label %191

191:                                              ; preds = %186, %190
  %.str.26.sink2205 = phi ptr [ @.str.26, %190 ], [ @.str.23, %186 ]
  store i32 %181, ptr %180, align 4, !tbaa !5
  %192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %193 = load i32, ptr @test_count, align 4, !tbaa !5
  %194 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %195 = load i32, ptr %194, align 4, !tbaa !5
  %196 = tail call ptr @s2n_strerror(i32 noundef %195, ptr noundef nonnull @.str.25) #12
  %197 = load i32, ptr %194, align 4, !tbaa !5
  %198 = tail call ptr @s2n_strerror_debug(i32 noundef %197, ptr noundef nonnull @.str.25) #12
  %199 = load i32, ptr %180, align 4, !tbaa !5
  %200 = tail call ptr @strerror(i32 noundef %199) #12
  %201 = load i32, ptr %180, align 4, !tbaa !5
  %202 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %192, ptr noundef nonnull %.str.26.sink2205, i32 noundef %193, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.22, i32 noundef 127, ptr noundef %196, ptr noundef %198, ptr noundef %200, i32 noundef %201) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

203:                                              ; preds = %176
  %204 = load i32, ptr @test_count, align 4, !tbaa !5
  %205 = add nsw i32 %204, 1
  store i32 %205, ptr @test_count, align 4, !tbaa !5
  %206 = tail call ptr @s2n_connection_new(i32 noundef 0) #12
  %207 = icmp eq ptr %206, null
  br i1 %207, label %208, label %232

208:                                              ; preds = %203
  %209 = tail call ptr @__errno_location() #13
  %210 = load i32, ptr %209, align 4, !tbaa !5
  %211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %212 = tail call i32 @s2n_print_stacktrace(ptr noundef %211) #12
  %213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %214 = trunc nuw i8 %213 to i1
  br i1 %214, label %215, label %219

215:                                              ; preds = %208
  %216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %217 = tail call i32 @fileno(ptr noundef %216) #12
  %218 = tail call i32 @isatty(i32 noundef %217) #12
  %.not2150 = icmp eq i32 %218, 0
  br i1 %.not2150, label %219, label %220

219:                                              ; preds = %215, %208
  br label %220

220:                                              ; preds = %215, %219
  %.str.26.sink2216 = phi ptr [ @.str.26, %219 ], [ @.str.23, %215 ]
  store i32 %210, ptr %209, align 4, !tbaa !5
  %221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %222 = load i32, ptr @test_count, align 4, !tbaa !5
  %223 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %224 = load i32, ptr %223, align 4, !tbaa !5
  %225 = tail call ptr @s2n_strerror(i32 noundef %224, ptr noundef nonnull @.str.25) #12
  %226 = load i32, ptr %223, align 4, !tbaa !5
  %227 = tail call ptr @s2n_strerror_debug(i32 noundef %226, ptr noundef nonnull @.str.25) #12
  %228 = load i32, ptr %209, align 4, !tbaa !5
  %229 = tail call ptr @strerror(i32 noundef %228) #12
  %230 = load i32, ptr %209, align 4, !tbaa !5
  %231 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %221, ptr noundef nonnull %.str.26.sink2216, i32 noundef %222, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.22, i32 noundef 135, ptr noundef %225, ptr noundef %227, ptr noundef %229, i32 noundef %230) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

232:                                              ; preds = %203
  %233 = load i32, ptr @test_count, align 4, !tbaa !5
  %234 = add nsw i32 %233, 1
  store i32 %234, ptr @test_count, align 4, !tbaa !5
  %235 = tail call ptr @s2n_config_new() #12
  %236 = icmp eq ptr %235, null
  br i1 %236, label %237, label %261

237:                                              ; preds = %232
  %238 = tail call ptr @__errno_location() #13
  %239 = load i32, ptr %238, align 4, !tbaa !5
  %240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %241 = tail call i32 @s2n_print_stacktrace(ptr noundef %240) #12
  %242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %243 = trunc nuw i8 %242 to i1
  br i1 %243, label %244, label %248

244:                                              ; preds = %237
  %245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %246 = tail call i32 @fileno(ptr noundef %245) #12
  %247 = tail call i32 @isatty(i32 noundef %246) #12
  %.not2149 = icmp eq i32 %247, 0
  br i1 %.not2149, label %248, label %249

248:                                              ; preds = %244, %237
  br label %249

249:                                              ; preds = %244, %248
  %.str.26.sink2227 = phi ptr [ @.str.26, %248 ], [ @.str.23, %244 ]
  store i32 %239, ptr %238, align 4, !tbaa !5
  %250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %251 = load i32, ptr @test_count, align 4, !tbaa !5
  %252 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %253 = load i32, ptr %252, align 4, !tbaa !5
  %254 = tail call ptr @s2n_strerror(i32 noundef %253, ptr noundef nonnull @.str.25) #12
  %255 = load i32, ptr %252, align 4, !tbaa !5
  %256 = tail call ptr @s2n_strerror_debug(i32 noundef %255, ptr noundef nonnull @.str.25) #12
  %257 = load i32, ptr %238, align 4, !tbaa !5
  %258 = tail call ptr @strerror(i32 noundef %257) #12
  %259 = load i32, ptr %238, align 4, !tbaa !5
  %260 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %250, ptr noundef nonnull %.str.26.sink2227, i32 noundef %251, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.22, i32 noundef 136, ptr noundef %254, ptr noundef %256, ptr noundef %258, i32 noundef %259) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

261:                                              ; preds = %232
  store i64 0, ptr @mock_current_time, 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 = tail call i32 @s2n_config_set_wall_clock(ptr noundef nonnull %235, ptr noundef nonnull @mock_time, ptr noundef null) #12
  %265 = icmp eq i32 %264, -1
  br i1 %265, label %266, label %290

266:                                              ; preds = %261
  %267 = tail call ptr @__errno_location() #13
  %268 = load i32, ptr %267, align 4, !tbaa !5
  %269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %270 = tail call i32 @s2n_print_stacktrace(ptr noundef %269) #12
  %271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %272 = trunc nuw i8 %271 to i1
  br i1 %272, label %273, label %277

273:                                              ; preds = %266
  %274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %275 = tail call i32 @fileno(ptr noundef %274) #12
  %276 = tail call i32 @isatty(i32 noundef %275) #12
  %.not2148 = icmp eq i32 %276, 0
  br i1 %.not2148, label %277, label %278

277:                                              ; preds = %273, %266
  br label %278

278:                                              ; preds = %273, %277
  %.str.26.sink2238 = phi ptr [ @.str.26, %277 ], [ @.str.23, %273 ]
  store i32 %268, ptr %267, align 4, !tbaa !5
  %279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %280 = load i32, ptr @test_count, align 4, !tbaa !5
  %281 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %282 = load i32, ptr %281, align 4, !tbaa !5
  %283 = tail call ptr @s2n_strerror(i32 noundef %282, ptr noundef nonnull @.str.25) #12
  %284 = load i32, ptr %281, align 4, !tbaa !5
  %285 = tail call ptr @s2n_strerror_debug(i32 noundef %284, ptr noundef nonnull @.str.25) #12
  %286 = load i32, ptr %267, align 4, !tbaa !5
  %287 = tail call ptr @strerror(i32 noundef %286) #12
  %288 = load i32, ptr %267, align 4, !tbaa !5
  %289 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %279, ptr noundef nonnull %.str.26.sink2238, i32 noundef %280, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.22, i32 noundef 139, ptr noundef %283, ptr noundef %285, ptr noundef %287, i32 noundef %288) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

290:                                              ; preds = %261
  %291 = load i32, ptr @test_count, align 4, !tbaa !5
  %292 = add nsw i32 %291, 1
  store i32 %292, ptr @test_count, align 4, !tbaa !5
  %293 = tail call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %235) #12
  %294 = tail call zeroext i1 @s2n_result_is_ok(i32 %293)
  br i1 %294, label %319, label %295

295:                                              ; preds = %290
  %296 = tail call ptr @__errno_location() #13
  %297 = load i32, ptr %296, align 4, !tbaa !5
  %298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %299 = tail call i32 @s2n_print_stacktrace(ptr noundef %298) #12
  %300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %301 = trunc nuw i8 %300 to i1
  br i1 %301, label %302, label %306

302:                                              ; preds = %295
  %303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %304 = tail call i32 @fileno(ptr noundef %303) #12
  %305 = tail call i32 @isatty(i32 noundef %304) #12
  %.not = icmp eq i32 %305, 0
  br i1 %.not, label %306, label %307

306:                                              ; preds = %302, %295
  br label %307

307:                                              ; preds = %302, %306
  %.str.26.sink2249 = phi ptr [ @.str.26, %306 ], [ @.str.23, %302 ]
  store i32 %297, ptr %296, align 4, !tbaa !5
  %308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %309 = load i32, ptr @test_count, align 4, !tbaa !5
  %310 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %311 = load i32, ptr %310, align 4, !tbaa !5
  %312 = tail call ptr @s2n_strerror(i32 noundef %311, ptr noundef nonnull @.str.25) #12
  %313 = load i32, ptr %310, align 4, !tbaa !5
  %314 = tail call ptr @s2n_strerror_debug(i32 noundef %313, ptr noundef nonnull @.str.25) #12
  %315 = load i32, ptr %296, align 4, !tbaa !5
  %316 = tail call ptr @strerror(i32 noundef %315) #12
  %317 = load i32, ptr %296, align 4, !tbaa !5
  %318 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %308, ptr noundef nonnull %.str.26.sink2249, i32 noundef %309, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 141, ptr noundef %312, ptr noundef %314, ptr noundef %316, i32 noundef %317) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

319:                                              ; preds = %290
  %320 = load i32, ptr @test_count, align 4, !tbaa !5
  %321 = add nsw i32 %320, 1
  store i32 %321, ptr @test_count, align 4, !tbaa !5
  %322 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %206, ptr noundef nonnull %235) #12
  %323 = icmp eq i32 %322, -1
  br i1 %323, label %324, label %348

324:                                              ; preds = %319
  %325 = tail call ptr @__errno_location() #13
  %326 = load i32, ptr %325, align 4, !tbaa !5
  %327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %328 = tail call i32 @s2n_print_stacktrace(ptr noundef %327) #12
  %329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %330 = trunc nuw i8 %329 to i1
  br i1 %330, label %331, label %335

331:                                              ; preds = %324
  %332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %333 = tail call i32 @fileno(ptr noundef %332) #12
  %334 = tail call i32 @isatty(i32 noundef %333) #12
  %.not2147 = icmp eq i32 %334, 0
  br i1 %.not2147, label %335, label %336

335:                                              ; preds = %331, %324
  br label %336

336:                                              ; preds = %331, %335
  %.str.26.sink2260 = phi ptr [ @.str.26, %335 ], [ @.str.23, %331 ]
  store i32 %326, ptr %325, align 4, !tbaa !5
  %337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %338 = load i32, ptr @test_count, align 4, !tbaa !5
  %339 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %340 = load i32, ptr %339, align 4, !tbaa !5
  %341 = tail call ptr @s2n_strerror(i32 noundef %340, ptr noundef nonnull @.str.25) #12
  %342 = load i32, ptr %339, align 4, !tbaa !5
  %343 = tail call ptr @s2n_strerror_debug(i32 noundef %342, ptr noundef nonnull @.str.25) #12
  %344 = load i32, ptr %325, align 4, !tbaa !5
  %345 = tail call ptr @strerror(i32 noundef %344) #12
  %346 = load i32, ptr %325, align 4, !tbaa !5
  %347 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %337, ptr noundef nonnull %.str.26.sink2260, i32 noundef %338, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 142, ptr noundef %341, ptr noundef %343, ptr noundef %345, i32 noundef %346) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

348:                                              ; preds = %319
  %349 = getelementptr inbounds i8, ptr %206, i64 220
  store i8 34, ptr %349, align 4, !tbaa !17
  %350 = getelementptr inbounds i8, ptr %206, i64 232
  %351 = load ptr, ptr %350, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %351, align 8, !tbaa !44
  %352 = getelementptr inbounds i8, ptr %206, i64 4086
  store i16 10, ptr %352, align 2, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, i8 0, i64 40, i1 false)
  %353 = load i32, ptr @test_count, align 4, !tbaa !5
  %354 = add nsw i32 %353, 1
  store i32 %354, ptr @test_count, align 4, !tbaa !5
  %355 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %3, i32 noundef 0) #12
  %356 = icmp eq i32 %355, -1
  br i1 %356, label %357, label %381

357:                                              ; preds = %348
  %358 = tail call ptr @__errno_location() #13
  %359 = load i32, ptr %358, align 4, !tbaa !5
  %360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %361 = call i32 @s2n_print_stacktrace(ptr noundef %360) #12
  %362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %363 = trunc nuw i8 %362 to i1
  br i1 %363, label %364, label %368

364:                                              ; preds = %357
  %365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %366 = call i32 @fileno(ptr noundef %365) #12
  %367 = call i32 @isatty(i32 noundef %366) #12
  %.not2146 = icmp eq i32 %367, 0
  br i1 %.not2146, label %368, label %369

368:                                              ; preds = %364, %357
  br label %369

369:                                              ; preds = %364, %368
  %.str.26.sink2271 = phi ptr [ @.str.26, %368 ], [ @.str.23, %364 ]
  store i32 %359, ptr %358, align 4, !tbaa !5
  %370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %371 = load i32, ptr @test_count, align 4, !tbaa !5
  %372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %373 = load i32, ptr %372, align 4, !tbaa !5
  %374 = call ptr @s2n_strerror(i32 noundef %373, ptr noundef nonnull @.str.25) #12
  %375 = load i32, ptr %372, align 4, !tbaa !5
  %376 = call ptr @s2n_strerror_debug(i32 noundef %375, ptr noundef nonnull @.str.25) #12
  %377 = load i32, ptr %358, align 4, !tbaa !5
  %378 = call ptr @strerror(i32 noundef %377) #12
  %379 = load i32, ptr %358, align 4, !tbaa !5
  %380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %370, ptr noundef nonnull %.str.26.sink2271, i32 noundef %371, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.22, i32 noundef 151, ptr noundef %374, ptr noundef %376, ptr noundef %378, i32 noundef %379) #14
  call void @exit(i32 noundef 1) #15
  unreachable

381:                                              ; preds = %348
  %382 = load i32, ptr @test_count, align 4, !tbaa !5
  %383 = add nsw i32 %382, 1
  store i32 %383, ptr @test_count, align 4, !tbaa !5
  %384 = call i32 @s2n_tls13_server_nst_write(ptr noundef nonnull %206, ptr noundef nonnull %3)
  %385 = call zeroext i1 @s2n_result_is_ok(i32 %384)
  br i1 %385, label %410, label %386

386:                                              ; preds = %381
  %387 = tail call ptr @__errno_location() #13
  %388 = load i32, ptr %387, align 4, !tbaa !5
  %389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %390 = call i32 @s2n_print_stacktrace(ptr noundef %389) #12
  %391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %392 = trunc nuw i8 %391 to i1
  br i1 %392, label %393, label %397

393:                                              ; preds = %386
  %394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %395 = call i32 @fileno(ptr noundef %394) #12
  %396 = call i32 @isatty(i32 noundef %395) #12
  %.not1614 = icmp eq i32 %396, 0
  br i1 %.not1614, label %397, label %398

397:                                              ; preds = %393, %386
  br label %398

398:                                              ; preds = %393, %397
  %.str.26.sink2282 = phi ptr [ @.str.26, %397 ], [ @.str.23, %393 ]
  store i32 %388, ptr %387, align 4, !tbaa !5
  %399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %400 = load i32, ptr @test_count, align 4, !tbaa !5
  %401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %402 = load i32, ptr %401, align 4, !tbaa !5
  %403 = call ptr @s2n_strerror(i32 noundef %402, ptr noundef nonnull @.str.25) #12
  %404 = load i32, ptr %401, align 4, !tbaa !5
  %405 = call ptr @s2n_strerror_debug(i32 noundef %404, ptr noundef nonnull @.str.25) #12
  %406 = load i32, ptr %387, align 4, !tbaa !5
  %407 = call ptr @strerror(i32 noundef %406) #12
  %408 = load i32, ptr %387, align 4, !tbaa !5
  %409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %399, ptr noundef nonnull %.str.26.sink2282, i32 noundef %400, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.22, i32 noundef 153, ptr noundef %403, ptr noundef %405, ptr noundef %407, i32 noundef %408) #14
  call void @exit(i32 noundef 1) #15
  unreachable

410:                                              ; preds = %381
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #12
  store i8 0, ptr %4, align 1, !tbaa !50
  %411 = load i32, ptr @test_count, align 4, !tbaa !5
  %412 = add nsw i32 %411, 1
  store i32 %412, ptr @test_count, align 4, !tbaa !5
  %413 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %3, ptr noundef nonnull %4) #12
  %414 = icmp eq i32 %413, -1
  br i1 %414, label %415, label %439

415:                                              ; preds = %410
  %416 = tail call ptr @__errno_location() #13
  %417 = load i32, ptr %416, align 4, !tbaa !5
  %418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %419 = call i32 @s2n_print_stacktrace(ptr noundef %418) #12
  %420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %421 = trunc nuw i8 %420 to i1
  br i1 %421, label %422, label %426

422:                                              ; preds = %415
  %423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %424 = call i32 @fileno(ptr noundef %423) #12
  %425 = call i32 @isatty(i32 noundef %424) #12
  %.not2145 = icmp eq i32 %425, 0
  br i1 %.not2145, label %426, label %427

426:                                              ; preds = %422, %415
  br label %427

427:                                              ; preds = %422, %426
  %.str.26.sink2293 = phi ptr [ @.str.26, %426 ], [ @.str.23, %422 ]
  store i32 %417, ptr %416, align 4, !tbaa !5
  %428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %429 = load i32, ptr @test_count, align 4, !tbaa !5
  %430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %431 = load i32, ptr %430, align 4, !tbaa !5
  %432 = call ptr @s2n_strerror(i32 noundef %431, ptr noundef nonnull @.str.25) #12
  %433 = load i32, ptr %430, align 4, !tbaa !5
  %434 = call ptr @s2n_strerror_debug(i32 noundef %433, ptr noundef nonnull @.str.25) #12
  %435 = load i32, ptr %416, align 4, !tbaa !5
  %436 = call ptr @strerror(i32 noundef %435) #12
  %437 = load i32, ptr %416, align 4, !tbaa !5
  %438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %428, ptr noundef nonnull %.str.26.sink2293, i32 noundef %429, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.22, i32 noundef 156, ptr noundef %432, ptr noundef %434, ptr noundef %436, i32 noundef %437) #14
  call void @exit(i32 noundef 1) #15
  unreachable

439:                                              ; preds = %410
  %440 = load i32, ptr @test_count, align 4, !tbaa !5
  %441 = add nsw i32 %440, 1
  store i32 %441, ptr @test_count, align 4, !tbaa !5
  %442 = load i8, ptr %4, align 1, !tbaa !50
  %443 = icmp eq i8 %442, 4
  br i1 %443, label %468, label %444

444:                                              ; preds = %439
  %445 = tail call ptr @__errno_location() #13
  %446 = load i32, ptr %445, align 4, !tbaa !5
  %447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %448 = call i32 @s2n_print_stacktrace(ptr noundef %447) #12
  %449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %450 = trunc nuw i8 %449 to i1
  br i1 %450, label %451, label %455

451:                                              ; preds = %444
  %452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %453 = call i32 @fileno(ptr noundef %452) #12
  %454 = call i32 @isatty(i32 noundef %453) #12
  %.not1615 = icmp eq i32 %454, 0
  br i1 %.not1615, label %455, label %456

455:                                              ; preds = %451, %444
  br label %456

456:                                              ; preds = %451, %455
  %.str.26.sink2304 = phi ptr [ @.str.26, %455 ], [ @.str.23, %451 ]
  store i32 %446, ptr %445, align 4, !tbaa !5
  %457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %458 = load i32, ptr @test_count, align 4, !tbaa !5
  %459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %460 = load i32, ptr %459, align 4, !tbaa !5
  %461 = call ptr @s2n_strerror(i32 noundef %460, ptr noundef nonnull @.str.25) #12
  %462 = load i32, ptr %459, align 4, !tbaa !5
  %463 = call ptr @s2n_strerror_debug(i32 noundef %462, ptr noundef nonnull @.str.25) #12
  %464 = load i32, ptr %445, align 4, !tbaa !5
  %465 = call ptr @strerror(i32 noundef %464) #12
  %466 = load i32, ptr %445, align 4, !tbaa !5
  %467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %457, ptr noundef nonnull %.str.26.sink2304, i32 noundef %458, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.22, i32 noundef 157, ptr noundef %461, ptr noundef %463, ptr noundef %465, i32 noundef %466) #14
  call void @exit(i32 noundef 1) #15
  unreachable

468:                                              ; preds = %439
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #12
  store i32 0, ptr %5, align 4, !tbaa !5
  %469 = add nsw i32 %440, 2
  store i32 %469, ptr @test_count, align 4, !tbaa !5
  %470 = call i32 @s2n_stuffer_read_uint24(ptr noundef nonnull %3, ptr noundef nonnull %5) #12
  %471 = icmp eq i32 %470, -1
  br i1 %471, label %472, label %496

472:                                              ; preds = %468
  %473 = tail call ptr @__errno_location() #13
  %474 = load i32, ptr %473, align 4, !tbaa !5
  %475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %476 = call i32 @s2n_print_stacktrace(ptr noundef %475) #12
  %477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %478 = trunc nuw i8 %477 to i1
  br i1 %478, label %479, label %483

479:                                              ; preds = %472
  %480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %481 = call i32 @fileno(ptr noundef %480) #12
  %482 = call i32 @isatty(i32 noundef %481) #12
  %.not2144 = icmp eq i32 %482, 0
  br i1 %.not2144, label %483, label %484

483:                                              ; preds = %479, %472
  br label %484

484:                                              ; preds = %479, %483
  %.str.26.sink2315 = phi ptr [ @.str.26, %483 ], [ @.str.23, %479 ]
  store i32 %474, ptr %473, align 4, !tbaa !5
  %485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %486 = load i32, ptr @test_count, align 4, !tbaa !5
  %487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %488 = load i32, ptr %487, align 4, !tbaa !5
  %489 = call ptr @s2n_strerror(i32 noundef %488, ptr noundef nonnull @.str.25) #12
  %490 = load i32, ptr %487, align 4, !tbaa !5
  %491 = call ptr @s2n_strerror_debug(i32 noundef %490, ptr noundef nonnull @.str.25) #12
  %492 = load i32, ptr %473, align 4, !tbaa !5
  %493 = call ptr @strerror(i32 noundef %492) #12
  %494 = load i32, ptr %473, align 4, !tbaa !5
  %495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %485, ptr noundef nonnull %.str.26.sink2315, i32 noundef %486, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.22, i32 noundef 160, ptr noundef %489, ptr noundef %491, ptr noundef %493, i32 noundef %494) #14
  call void @exit(i32 noundef 1) #15
  unreachable

496:                                              ; preds = %468
  %497 = load i32, ptr @test_count, align 4, !tbaa !5
  %498 = add nsw i32 %497, 1
  store i32 %498, ptr @test_count, align 4, !tbaa !5
  %499 = load i32, ptr %5, align 4, !tbaa !5
  %500 = getelementptr inbounds i8, ptr %3, i64 28
  %501 = load i32, ptr %500, align 4, !tbaa !51
  %502 = getelementptr inbounds i8, ptr %3, i64 24
  %503 = load i32, ptr %502, align 8, !tbaa !52
  %504 = sub i32 %501, %503
  %505 = icmp eq i32 %499, %504
  br i1 %505, label %530, label %506

506:                                              ; preds = %496
  %507 = tail call ptr @__errno_location() #13
  %508 = load i32, ptr %507, align 4, !tbaa !5
  %509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %510 = call i32 @s2n_print_stacktrace(ptr noundef %509) #12
  %511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %512 = trunc nuw i8 %511 to i1
  br i1 %512, label %513, label %517

513:                                              ; preds = %506
  %514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %515 = call i32 @fileno(ptr noundef %514) #12
  %516 = call i32 @isatty(i32 noundef %515) #12
  %.not1616 = icmp eq i32 %516, 0
  br i1 %.not1616, label %517, label %518

517:                                              ; preds = %513, %506
  br label %518

518:                                              ; preds = %513, %517
  %.str.26.sink2326 = phi ptr [ @.str.26, %517 ], [ @.str.23, %513 ]
  store i32 %508, ptr %507, align 4, !tbaa !5
  %519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %520 = load i32, ptr @test_count, align 4, !tbaa !5
  %521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %522 = load i32, ptr %521, align 4, !tbaa !5
  %523 = call ptr @s2n_strerror(i32 noundef %522, ptr noundef nonnull @.str.25) #12
  %524 = load i32, ptr %521, align 4, !tbaa !5
  %525 = call ptr @s2n_strerror_debug(i32 noundef %524, ptr noundef nonnull @.str.25) #12
  %526 = load i32, ptr %507, align 4, !tbaa !5
  %527 = call ptr @strerror(i32 noundef %526) #12
  %528 = load i32, ptr %507, align 4, !tbaa !5
  %529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %519, ptr noundef nonnull %.str.26.sink2326, i32 noundef %520, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.22, i32 noundef 161, ptr noundef %523, ptr noundef %525, ptr noundef %527, i32 noundef %528) #14
  call void @exit(i32 noundef 1) #15
  unreachable

530:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #12
  store i32 0, ptr %6, align 4, !tbaa !5
  %531 = add nsw i32 %497, 2
  store i32 %531, ptr @test_count, align 4, !tbaa !5
  %532 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %3, ptr noundef nonnull %6) #12
  %533 = icmp eq i32 %532, -1
  br i1 %533, label %534, label %558

534:                                              ; preds = %530
  %535 = tail call ptr @__errno_location() #13
  %536 = load i32, ptr %535, align 4, !tbaa !5
  %537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %538 = call i32 @s2n_print_stacktrace(ptr noundef %537) #12
  %539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %540 = trunc nuw i8 %539 to i1
  br i1 %540, label %541, label %545

541:                                              ; preds = %534
  %542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %543 = call i32 @fileno(ptr noundef %542) #12
  %544 = call i32 @isatty(i32 noundef %543) #12
  %.not2143 = icmp eq i32 %544, 0
  br i1 %.not2143, label %545, label %546

545:                                              ; preds = %541, %534
  br label %546

546:                                              ; preds = %541, %545
  %.str.26.sink2337 = phi ptr [ @.str.26, %545 ], [ @.str.23, %541 ]
  store i32 %536, ptr %535, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = load i32, ptr @test_count, align 4, !tbaa !5
  %549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %550 = load i32, ptr %549, align 4, !tbaa !5
  %551 = call ptr @s2n_strerror(i32 noundef %550, ptr noundef nonnull @.str.25) #12
  %552 = load i32, ptr %549, align 4, !tbaa !5
  %553 = call ptr @s2n_strerror_debug(i32 noundef %552, ptr noundef nonnull @.str.25) #12
  %554 = load i32, ptr %535, align 4, !tbaa !5
  %555 = call ptr @strerror(i32 noundef %554) #12
  %556 = load i32, ptr %535, align 4, !tbaa !5
  %557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %547, ptr noundef nonnull %.str.26.sink2337, i32 noundef %548, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.22, i32 noundef 164, ptr noundef %551, ptr noundef %553, ptr noundef %555, i32 noundef %556) #14
  call void @exit(i32 noundef 1) #15
  unreachable

558:                                              ; preds = %530
  %559 = load i32, ptr @test_count, align 4, !tbaa !5
  %560 = add nsw i32 %559, 1
  store i32 %560, ptr @test_count, align 4, !tbaa !5
  %561 = load i32, ptr %6, align 4, !tbaa !5
  %562 = icmp eq i32 %561, 54000
  br i1 %562, label %587, label %563

563:                                              ; preds = %558
  %564 = tail call ptr @__errno_location() #13
  %565 = load i32, ptr %564, align 4, !tbaa !5
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = call i32 @s2n_print_stacktrace(ptr noundef %566) #12
  %568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %569 = trunc nuw i8 %568 to i1
  br i1 %569, label %570, label %574

570:                                              ; preds = %563
  %571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %572 = call i32 @fileno(ptr noundef %571) #12
  %573 = call i32 @isatty(i32 noundef %572) #12
  %.not1617 = icmp eq i32 %573, 0
  br i1 %.not1617, label %574, label %575

574:                                              ; preds = %570, %563
  br label %575

575:                                              ; preds = %570, %574
  %.str.26.sink2348 = phi ptr [ @.str.26, %574 ], [ @.str.23, %570 ]
  store i32 %565, ptr %564, align 4, !tbaa !5
  %576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %577 = load i32, ptr @test_count, align 4, !tbaa !5
  %578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %579 = load i32, ptr %578, align 4, !tbaa !5
  %580 = call ptr @s2n_strerror(i32 noundef %579, ptr noundef nonnull @.str.25) #12
  %581 = load i32, ptr %578, align 4, !tbaa !5
  %582 = call ptr @s2n_strerror_debug(i32 noundef %581, ptr noundef nonnull @.str.25) #12
  %583 = load i32, ptr %564, align 4, !tbaa !5
  %584 = call ptr @strerror(i32 noundef %583) #12
  %585 = load i32, ptr %564, align 4, !tbaa !5
  %586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %576, ptr noundef nonnull %.str.26.sink2348, i32 noundef %577, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.22, i32 noundef 165, ptr noundef %580, ptr noundef %582, ptr noundef %584, i32 noundef %585) #14
  call void @exit(i32 noundef 1) #15
  unreachable

587:                                              ; preds = %558
  %588 = add nsw i32 %559, 2
  store i32 %588, ptr @test_count, align 4, !tbaa !5
  %589 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3, i32 noundef 4) #12
  %590 = icmp eq i32 %589, -1
  br i1 %590, label %591, label %615

591:                                              ; preds = %587
  %592 = tail call ptr @__errno_location() #13
  %593 = load i32, ptr %592, align 4, !tbaa !5
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = call i32 @s2n_print_stacktrace(ptr noundef %594) #12
  %596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %597 = trunc nuw i8 %596 to i1
  br i1 %597, label %598, label %602

598:                                              ; preds = %591
  %599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %600 = call i32 @fileno(ptr noundef %599) #12
  %601 = call i32 @isatty(i32 noundef %600) #12
  %.not2142 = icmp eq i32 %601, 0
  br i1 %.not2142, label %602, label %603

602:                                              ; preds = %598, %591
  br label %603

603:                                              ; preds = %598, %602
  %.str.26.sink2359 = phi ptr [ @.str.26, %602 ], [ @.str.23, %598 ]
  store i32 %593, ptr %592, align 4, !tbaa !5
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = load i32, ptr @test_count, align 4, !tbaa !5
  %606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %607 = load i32, ptr %606, align 4, !tbaa !5
  %608 = call ptr @s2n_strerror(i32 noundef %607, ptr noundef nonnull @.str.25) #12
  %609 = load i32, ptr %606, align 4, !tbaa !5
  %610 = call ptr @s2n_strerror_debug(i32 noundef %609, ptr noundef nonnull @.str.25) #12
  %611 = load i32, ptr %592, align 4, !tbaa !5
  %612 = call ptr @strerror(i32 noundef %611) #12
  %613 = load i32, ptr %592, align 4, !tbaa !5
  %614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %604, ptr noundef nonnull %.str.26.sink2359, i32 noundef %605, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.22, i32 noundef 168, ptr noundef %608, ptr noundef %610, ptr noundef %612, i32 noundef %613) #14
  call void @exit(i32 noundef 1) #15
  unreachable

615:                                              ; preds = %587
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #12
  store i8 0, ptr %7, align 1, !tbaa !50
  %616 = load i32, ptr @test_count, align 4, !tbaa !5
  %617 = add nsw i32 %616, 1
  store i32 %617, ptr @test_count, align 4, !tbaa !5
  %618 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %3, ptr noundef nonnull %7) #12
  %619 = icmp eq i32 %618, -1
  br i1 %619, label %620, label %644

620:                                              ; preds = %615
  %621 = tail call ptr @__errno_location() #13
  %622 = load i32, ptr %621, align 4, !tbaa !5
  %623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %624 = call i32 @s2n_print_stacktrace(ptr noundef %623) #12
  %625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %626 = trunc nuw i8 %625 to i1
  br i1 %626, label %627, label %631

627:                                              ; preds = %620
  %628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %629 = call i32 @fileno(ptr noundef %628) #12
  %630 = call i32 @isatty(i32 noundef %629) #12
  %.not2141 = icmp eq i32 %630, 0
  br i1 %.not2141, label %631, label %632

631:                                              ; preds = %627, %620
  br label %632

632:                                              ; preds = %627, %631
  %.str.26.sink2370 = phi ptr [ @.str.26, %631 ], [ @.str.23, %627 ]
  store i32 %622, ptr %621, align 4, !tbaa !5
  %633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %634 = load i32, ptr @test_count, align 4, !tbaa !5
  %635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %636 = load i32, ptr %635, align 4, !tbaa !5
  %637 = call ptr @s2n_strerror(i32 noundef %636, ptr noundef nonnull @.str.25) #12
  %638 = load i32, ptr %635, align 4, !tbaa !5
  %639 = call ptr @s2n_strerror_debug(i32 noundef %638, ptr noundef nonnull @.str.25) #12
  %640 = load i32, ptr %621, align 4, !tbaa !5
  %641 = call ptr @strerror(i32 noundef %640) #12
  %642 = load i32, ptr %621, align 4, !tbaa !5
  %643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %633, ptr noundef nonnull %.str.26.sink2370, i32 noundef %634, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.22, i32 noundef 171, ptr noundef %637, ptr noundef %639, ptr noundef %641, i32 noundef %642) #14
  call void @exit(i32 noundef 1) #15
  unreachable

644:                                              ; preds = %615
  %645 = load i32, ptr @test_count, align 4, !tbaa !5
  %646 = add nsw i32 %645, 1
  store i32 %646, ptr @test_count, align 4, !tbaa !5
  %647 = load i8, ptr %7, align 1, !tbaa !50
  %648 = icmp eq i8 %647, 2
  br i1 %648, label %673, label %649

649:                                              ; preds = %644
  %650 = tail call ptr @__errno_location() #13
  %651 = load i32, ptr %650, align 4, !tbaa !5
  %652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %653 = call i32 @s2n_print_stacktrace(ptr noundef %652) #12
  %654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %655 = trunc nuw i8 %654 to i1
  br i1 %655, label %656, label %660

656:                                              ; preds = %649
  %657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %658 = call i32 @fileno(ptr noundef %657) #12
  %659 = call i32 @isatty(i32 noundef %658) #12
  %.not1618 = icmp eq i32 %659, 0
  br i1 %.not1618, label %660, label %661

660:                                              ; preds = %656, %649
  br label %661

661:                                              ; preds = %656, %660
  %.str.26.sink2381 = phi ptr [ @.str.26, %660 ], [ @.str.23, %656 ]
  store i32 %651, ptr %650, align 4, !tbaa !5
  %662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %663 = load i32, ptr @test_count, align 4, !tbaa !5
  %664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %665 = load i32, ptr %664, align 4, !tbaa !5
  %666 = call ptr @s2n_strerror(i32 noundef %665, ptr noundef nonnull @.str.25) #12
  %667 = load i32, ptr %664, align 4, !tbaa !5
  %668 = call ptr @s2n_strerror_debug(i32 noundef %667, ptr noundef nonnull @.str.25) #12
  %669 = load i32, ptr %650, align 4, !tbaa !5
  %670 = call ptr @strerror(i32 noundef %669) #12
  %671 = load i32, ptr %650, align 4, !tbaa !5
  %672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %662, ptr noundef nonnull %.str.26.sink2381, i32 noundef %663, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.22, i32 noundef 172, ptr noundef %666, ptr noundef %668, ptr noundef %670, i32 noundef %671) #14
  call void @exit(i32 noundef 1) #15
  unreachable

673:                                              ; preds = %644
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %8) #12
  store i16 0, ptr %8, align 2
  %674 = add nsw i32 %645, 2
  store i32 %674, ptr @test_count, align 4, !tbaa !5
  %675 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %3, ptr noundef nonnull %8, i32 noundef 2) #12
  %676 = icmp eq i32 %675, -1
  br i1 %676, label %677, label %701

677:                                              ; preds = %673
  %678 = tail call ptr @__errno_location() #13
  %679 = load i32, ptr %678, align 4, !tbaa !5
  %680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %681 = call i32 @s2n_print_stacktrace(ptr noundef %680) #12
  %682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %683 = trunc nuw i8 %682 to i1
  br i1 %683, label %684, label %688

684:                                              ; preds = %677
  %685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %686 = call i32 @fileno(ptr noundef %685) #12
  %687 = call i32 @isatty(i32 noundef %686) #12
  %.not2140 = icmp eq i32 %687, 0
  br i1 %.not2140, label %688, label %689

688:                                              ; preds = %684, %677
  br label %689

689:                                              ; preds = %684, %688
  %.str.26.sink2392 = phi ptr [ @.str.26, %688 ], [ @.str.23, %684 ]
  store i32 %679, ptr %678, align 4, !tbaa !5
  %690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %691 = load i32, ptr @test_count, align 4, !tbaa !5
  %692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %693 = load i32, ptr %692, align 4, !tbaa !5
  %694 = call ptr @s2n_strerror(i32 noundef %693, ptr noundef nonnull @.str.25) #12
  %695 = load i32, ptr %692, align 4, !tbaa !5
  %696 = call ptr @s2n_strerror_debug(i32 noundef %695, ptr noundef nonnull @.str.25) #12
  %697 = load i32, ptr %678, align 4, !tbaa !5
  %698 = call ptr @strerror(i32 noundef %697) #12
  %699 = load i32, ptr %678, align 4, !tbaa !5
  %700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %690, ptr noundef nonnull %.str.26.sink2392, i32 noundef %691, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.22, i32 noundef 175, ptr noundef %694, ptr noundef %696, ptr noundef %698, i32 noundef %699) #14
  call void @exit(i32 noundef 1) #15
  unreachable

701:                                              ; preds = %673
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %9) #12
  store i16 0, ptr %9, align 2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, i8 0, i64 24, i1 false)
  %702 = load i32, ptr @test_count, align 4, !tbaa !5
  %703 = add nsw i32 %702, 1
  store i32 %703, ptr @test_count, align 4, !tbaa !5
  %704 = call i32 @s2n_blob_init(ptr noundef nonnull %10, ptr noundef nonnull %9, i32 noundef 2) #12
  %705 = icmp eq i32 %704, -1
  br i1 %705, label %706, label %730

706:                                              ; preds = %701
  %707 = tail call ptr @__errno_location() #13
  %708 = load i32, ptr %707, align 4, !tbaa !5
  %709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %710 = call i32 @s2n_print_stacktrace(ptr noundef %709) #12
  %711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %712 = trunc nuw i8 %711 to i1
  br i1 %712, label %713, label %717

713:                                              ; preds = %706
  %714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %715 = call i32 @fileno(ptr noundef %714) #12
  %716 = call i32 @isatty(i32 noundef %715) #12
  %.not2139 = icmp eq i32 %716, 0
  br i1 %.not2139, label %717, label %718

717:                                              ; preds = %713, %706
  br label %718

718:                                              ; preds = %713, %717
  %.str.26.sink2403 = phi ptr [ @.str.26, %717 ], [ @.str.23, %713 ]
  store i32 %708, ptr %707, align 4, !tbaa !5
  %719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %720 = load i32, ptr @test_count, align 4, !tbaa !5
  %721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %722 = load i32, ptr %721, align 4, !tbaa !5
  %723 = call ptr @s2n_strerror(i32 noundef %722, ptr noundef nonnull @.str.25) #12
  %724 = load i32, ptr %721, align 4, !tbaa !5
  %725 = call ptr @s2n_strerror_debug(i32 noundef %724, ptr noundef nonnull @.str.25) #12
  %726 = load i32, ptr %707, align 4, !tbaa !5
  %727 = call ptr @strerror(i32 noundef %726) #12
  %728 = load i32, ptr %707, align 4, !tbaa !5
  %729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %719, ptr noundef nonnull %.str.26.sink2403, i32 noundef %720, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.22, i32 noundef 179, ptr noundef %723, ptr noundef %725, ptr noundef %727, i32 noundef %728) #14
  call void @exit(i32 noundef 1) #15
  unreachable

730:                                              ; preds = %701
  %731 = load i32, ptr @test_count, align 4, !tbaa !5
  %732 = add nsw i32 %731, 1
  store i32 %732, ptr @test_count, align 4, !tbaa !5
  %733 = call i32 @s2n_generate_ticket_nonce(i16 noundef zeroext 10, ptr noundef nonnull %10)
  %734 = call zeroext i1 @s2n_result_is_ok(i32 %733)
  br i1 %734, label %759, label %735

735:                                              ; preds = %730
  %736 = tail call ptr @__errno_location() #13
  %737 = load i32, ptr %736, align 4, !tbaa !5
  %738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %739 = call i32 @s2n_print_stacktrace(ptr noundef %738) #12
  %740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %741 = trunc nuw i8 %740 to i1
  br i1 %741, label %742, label %746

742:                                              ; preds = %735
  %743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %744 = call i32 @fileno(ptr noundef %743) #12
  %745 = call i32 @isatty(i32 noundef %744) #12
  %.not1619 = icmp eq i32 %745, 0
  br i1 %.not1619, label %746, label %747

746:                                              ; preds = %742, %735
  br label %747

747:                                              ; preds = %742, %746
  %.str.26.sink2414 = phi ptr [ @.str.26, %746 ], [ @.str.23, %742 ]
  store i32 %737, ptr %736, align 4, !tbaa !5
  %748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %749 = load i32, ptr @test_count, align 4, !tbaa !5
  %750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %751 = load i32, ptr %750, align 4, !tbaa !5
  %752 = call ptr @s2n_strerror(i32 noundef %751, ptr noundef nonnull @.str.25) #12
  %753 = load i32, ptr %750, align 4, !tbaa !5
  %754 = call ptr @s2n_strerror_debug(i32 noundef %753, ptr noundef nonnull @.str.25) #12
  %755 = load i32, ptr %736, align 4, !tbaa !5
  %756 = call ptr @strerror(i32 noundef %755) #12
  %757 = load i32, ptr %736, align 4, !tbaa !5
  %758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %748, ptr noundef nonnull %.str.26.sink2414, i32 noundef %749, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.22, i32 noundef 180, ptr noundef %752, ptr noundef %754, ptr noundef %756, i32 noundef %757) #14
  call void @exit(i32 noundef 1) #15
  unreachable

759:                                              ; preds = %730
  %760 = load i8, ptr %7, align 1, !tbaa !50
  %.not1620 = icmp eq i8 %760, 0
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1620, label %790, label %761

761:                                              ; preds = %759
  %762 = add nsw i32 %.pre, 1
  store i32 %762, ptr @test_count, align 4, !tbaa !5
  %763 = load ptr, ptr %10, align 8, !tbaa !53
  %764 = zext i8 %760 to i64
  %bcmp = call i32 @bcmp(ptr nonnull %8, ptr %763, i64 %764)
  %765 = icmp eq i32 %bcmp, 0
  br i1 %765, label %790, label %766

766:                                              ; preds = %761
  %767 = tail call ptr @__errno_location() #13
  %768 = load i32, ptr %767, align 4, !tbaa !5
  %769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %770 = call i32 @s2n_print_stacktrace(ptr noundef %769) #12
  %771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %772 = trunc nuw i8 %771 to i1
  br i1 %772, label %773, label %777

773:                                              ; preds = %766
  %774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %775 = call i32 @fileno(ptr noundef %774) #12
  %776 = call i32 @isatty(i32 noundef %775) #12
  %.not1621 = icmp eq i32 %776, 0
  br i1 %.not1621, label %777, label %778

777:                                              ; preds = %773, %766
  br label %778

778:                                              ; preds = %773, %777
  %.str.26.sink2425 = phi ptr [ @.str.26, %777 ], [ @.str.23, %773 ]
  store i32 %768, ptr %767, align 4, !tbaa !5
  %779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %780 = load i32, ptr @test_count, align 4, !tbaa !5
  %781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %782 = load i32, ptr %781, align 4, !tbaa !5
  %783 = call ptr @s2n_strerror(i32 noundef %782, ptr noundef nonnull @.str.25) #12
  %784 = load i32, ptr %781, align 4, !tbaa !5
  %785 = call ptr @s2n_strerror_debug(i32 noundef %784, ptr noundef nonnull @.str.25) #12
  %786 = load i32, ptr %767, align 4, !tbaa !5
  %787 = call ptr @strerror(i32 noundef %786) #12
  %788 = load i32, ptr %767, align 4, !tbaa !5
  %789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %779, ptr noundef nonnull %.str.26.sink2425, i32 noundef %780, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.22, i32 noundef 181, ptr noundef %783, ptr noundef %785, ptr noundef %787, i32 noundef %788) #14
  call void @exit(i32 noundef 1) #15
  unreachable

790:                                              ; preds = %761, %759
  %791 = phi i32 [ %762, %761 ], [ %.pre, %759 ]
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %11) #12
  store i16 0, ptr %11, align 2, !tbaa !54
  %792 = add nsw i32 %791, 1
  store i32 %792, ptr @test_count, align 4, !tbaa !5
  %793 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %11) #12
  %794 = icmp eq i32 %793, -1
  br i1 %794, label %795, label %819

795:                                              ; preds = %790
  %796 = tail call ptr @__errno_location() #13
  %797 = load i32, ptr %796, align 4, !tbaa !5
  %798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %799 = call i32 @s2n_print_stacktrace(ptr noundef %798) #12
  %800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %801 = trunc nuw i8 %800 to i1
  br i1 %801, label %802, label %806

802:                                              ; preds = %795
  %803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %804 = call i32 @fileno(ptr noundef %803) #12
  %805 = call i32 @isatty(i32 noundef %804) #12
  %.not2138 = icmp eq i32 %805, 0
  br i1 %.not2138, label %806, label %807

806:                                              ; preds = %802, %795
  br label %807

807:                                              ; preds = %802, %806
  %.str.26.sink2436 = phi ptr [ @.str.26, %806 ], [ @.str.23, %802 ]
  store i32 %797, ptr %796, align 4, !tbaa !5
  %808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %809 = load i32, ptr @test_count, align 4, !tbaa !5
  %810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %811 = load i32, ptr %810, align 4, !tbaa !5
  %812 = call ptr @s2n_strerror(i32 noundef %811, ptr noundef nonnull @.str.25) #12
  %813 = load i32, ptr %810, align 4, !tbaa !5
  %814 = call ptr @s2n_strerror_debug(i32 noundef %813, ptr noundef nonnull @.str.25) #12
  %815 = load i32, ptr %796, align 4, !tbaa !5
  %816 = call ptr @strerror(i32 noundef %815) #12
  %817 = load i32, ptr %796, align 4, !tbaa !5
  %818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %808, ptr noundef nonnull %.str.26.sink2436, i32 noundef %809, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.22, i32 noundef 184, ptr noundef %812, ptr noundef %814, ptr noundef %816, i32 noundef %817) #14
  call void @exit(i32 noundef 1) #15
  unreachable

819:                                              ; preds = %790
  %820 = load i32, ptr @test_count, align 4, !tbaa !5
  %821 = add nsw i32 %820, 1
  store i32 %821, ptr @test_count, align 4, !tbaa !5
  %822 = load i16, ptr %11, align 2, !tbaa !54
  %823 = zext i16 %822 to i32
  %824 = load i32, ptr %500, align 4, !tbaa !51
  %825 = load i32, ptr %502, align 8, !tbaa !52
  %826 = add i32 %824, -2
  %827 = sub i32 %826, %825
  %828 = icmp eq i32 %827, %823
  br i1 %828, label %853, label %829

829:                                              ; preds = %819
  %830 = tail call ptr @__errno_location() #13
  %831 = load i32, ptr %830, align 4, !tbaa !5
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = call i32 @s2n_print_stacktrace(ptr noundef %832) #12
  %834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %835 = trunc nuw i8 %834 to i1
  br i1 %835, label %836, label %840

836:                                              ; preds = %829
  %837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %838 = call i32 @fileno(ptr noundef %837) #12
  %839 = call i32 @isatty(i32 noundef %838) #12
  %.not1622 = icmp eq i32 %839, 0
  br i1 %.not1622, label %840, label %841

840:                                              ; preds = %836, %829
  br label %841

841:                                              ; preds = %836, %840
  %.str.26.sink2447 = phi ptr [ @.str.26, %840 ], [ @.str.23, %836 ]
  store i32 %831, ptr %830, align 4, !tbaa !5
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = load i32, ptr @test_count, align 4, !tbaa !5
  %844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %845 = load i32, ptr %844, align 4, !tbaa !5
  %846 = call ptr @s2n_strerror(i32 noundef %845, ptr noundef nonnull @.str.25) #12
  %847 = load i32, ptr %844, align 4, !tbaa !5
  %848 = call ptr @s2n_strerror_debug(i32 noundef %847, ptr noundef nonnull @.str.25) #12
  %849 = load i32, ptr %830, align 4, !tbaa !5
  %850 = call ptr @strerror(i32 noundef %849) #12
  %851 = load i32, ptr %830, align 4, !tbaa !5
  %852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %842, ptr noundef nonnull %.str.26.sink2447, i32 noundef %843, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.22, i32 noundef 186, ptr noundef %846, ptr noundef %848, ptr noundef %850, i32 noundef %851) #14
  call void @exit(i32 noundef 1) #15
  unreachable

853:                                              ; preds = %819
  %854 = add nsw i32 %820, 2
  store i32 %854, ptr @test_count, align 4, !tbaa !5
  %855 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3, i32 noundef %823) #12
  %856 = icmp eq i32 %855, -1
  br i1 %856, label %857, label %881

857:                                              ; preds = %853
  %858 = tail call ptr @__errno_location() #13
  %859 = load i32, ptr %858, align 4, !tbaa !5
  %860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %861 = call i32 @s2n_print_stacktrace(ptr noundef %860) #12
  %862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %863 = trunc nuw i8 %862 to i1
  br i1 %863, label %864, label %868

864:                                              ; preds = %857
  %865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %866 = call i32 @fileno(ptr noundef %865) #12
  %867 = call i32 @isatty(i32 noundef %866) #12
  %.not2137 = icmp eq i32 %867, 0
  br i1 %.not2137, label %868, label %869

868:                                              ; preds = %864, %857
  br label %869

869:                                              ; preds = %864, %868
  %.str.26.sink2458 = phi ptr [ @.str.26, %868 ], [ @.str.23, %864 ]
  store i32 %859, ptr %858, align 4, !tbaa !5
  %870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %871 = load i32, ptr @test_count, align 4, !tbaa !5
  %872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %873 = load i32, ptr %872, align 4, !tbaa !5
  %874 = call ptr @s2n_strerror(i32 noundef %873, ptr noundef nonnull @.str.25) #12
  %875 = load i32, ptr %872, align 4, !tbaa !5
  %876 = call ptr @s2n_strerror_debug(i32 noundef %875, ptr noundef nonnull @.str.25) #12
  %877 = load i32, ptr %858, align 4, !tbaa !5
  %878 = call ptr @strerror(i32 noundef %877) #12
  %879 = load i32, ptr %858, align 4, !tbaa !5
  %880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %870, ptr noundef nonnull %.str.26.sink2458, i32 noundef %871, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.22, i32 noundef 189, ptr noundef %874, ptr noundef %876, ptr noundef %878, i32 noundef %879) #14
  call void @exit(i32 noundef 1) #15
  unreachable

881:                                              ; preds = %853
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %12) #12
  store i16 0, ptr %12, align 2, !tbaa !54
  %882 = load i32, ptr @test_count, align 4, !tbaa !5
  %883 = add nsw i32 %882, 1
  store i32 %883, ptr @test_count, align 4, !tbaa !5
  %884 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %12) #12
  %885 = icmp eq i32 %884, -1
  br i1 %885, label %886, label %910

886:                                              ; preds = %881
  %887 = tail call ptr @__errno_location() #13
  %888 = load i32, ptr %887, align 4, !tbaa !5
  %889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %890 = call i32 @s2n_print_stacktrace(ptr noundef %889) #12
  %891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %892 = trunc nuw i8 %891 to i1
  br i1 %892, label %893, label %897

893:                                              ; preds = %886
  %894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %895 = call i32 @fileno(ptr noundef %894) #12
  %896 = call i32 @isatty(i32 noundef %895) #12
  %.not2136 = icmp eq i32 %896, 0
  br i1 %.not2136, label %897, label %898

897:                                              ; preds = %893, %886
  br label %898

898:                                              ; preds = %893, %897
  %.str.26.sink2469 = phi ptr [ @.str.26, %897 ], [ @.str.23, %893 ]
  store i32 %888, ptr %887, align 4, !tbaa !5
  %899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %900 = load i32, ptr @test_count, align 4, !tbaa !5
  %901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %902 = load i32, ptr %901, align 4, !tbaa !5
  %903 = call ptr @s2n_strerror(i32 noundef %902, ptr noundef nonnull @.str.25) #12
  %904 = load i32, ptr %901, align 4, !tbaa !5
  %905 = call ptr @s2n_strerror_debug(i32 noundef %904, ptr noundef nonnull @.str.25) #12
  %906 = load i32, ptr %887, align 4, !tbaa !5
  %907 = call ptr @strerror(i32 noundef %906) #12
  %908 = load i32, ptr %887, align 4, !tbaa !5
  %909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %899, ptr noundef nonnull %.str.26.sink2469, i32 noundef %900, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.22, i32 noundef 192, ptr noundef %903, ptr noundef %905, ptr noundef %907, i32 noundef %908) #14
  call void @exit(i32 noundef 1) #15
  unreachable

910:                                              ; preds = %881
  %911 = load i32, ptr @test_count, align 4, !tbaa !5
  %912 = add nsw i32 %911, 1
  store i32 %912, ptr @test_count, align 4, !tbaa !5
  %913 = load i16, ptr %12, align 2, !tbaa !54
  %914 = icmp eq i16 %913, 0
  br i1 %914, label %939, label %915

915:                                              ; preds = %910
  %916 = tail call ptr @__errno_location() #13
  %917 = load i32, ptr %916, align 4, !tbaa !5
  %918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %919 = call i32 @s2n_print_stacktrace(ptr noundef %918) #12
  %920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %921 = trunc nuw i8 %920 to i1
  br i1 %921, label %922, label %926

922:                                              ; preds = %915
  %923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %924 = call i32 @fileno(ptr noundef %923) #12
  %925 = call i32 @isatty(i32 noundef %924) #12
  %.not1623 = icmp eq i32 %925, 0
  br i1 %.not1623, label %926, label %927

926:                                              ; preds = %922, %915
  br label %927

927:                                              ; preds = %922, %926
  %.str.26.sink2480 = phi ptr [ @.str.26, %926 ], [ @.str.23, %922 ]
  store i32 %917, ptr %916, align 4, !tbaa !5
  %928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %929 = load i32, ptr @test_count, align 4, !tbaa !5
  %930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %931 = load i32, ptr %930, align 4, !tbaa !5
  %932 = call ptr @s2n_strerror(i32 noundef %931, ptr noundef nonnull @.str.25) #12
  %933 = load i32, ptr %930, align 4, !tbaa !5
  %934 = call ptr @s2n_strerror_debug(i32 noundef %933, ptr noundef nonnull @.str.25) #12
  %935 = load i32, ptr %916, align 4, !tbaa !5
  %936 = call ptr @strerror(i32 noundef %935) #12
  %937 = load i32, ptr %916, align 4, !tbaa !5
  %938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %928, ptr noundef nonnull %.str.26.sink2480, i32 noundef %929, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.22, i32 noundef 193, ptr noundef %932, ptr noundef %934, ptr noundef %936, i32 noundef %937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

939:                                              ; preds = %910
  %940 = add nsw i32 %911, 2
  store i32 %940, ptr @test_count, align 4, !tbaa !5
  %941 = load i32, ptr %500, align 4, !tbaa !51
  %942 = load i32, ptr %502, align 8, !tbaa !52
  %943 = icmp eq i32 %941, %942
  br i1 %943, label %968, label %944

944:                                              ; preds = %939
  %945 = tail call ptr @__errno_location() #13
  %946 = load i32, ptr %945, align 4, !tbaa !5
  %947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %948 = call i32 @s2n_print_stacktrace(ptr noundef %947) #12
  %949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %950 = trunc nuw i8 %949 to i1
  br i1 %950, label %951, label %955

951:                                              ; preds = %944
  %952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %953 = call i32 @fileno(ptr noundef %952) #12
  %954 = call i32 @isatty(i32 noundef %953) #12
  %.not1624 = icmp eq i32 %954, 0
  br i1 %.not1624, label %955, label %956

955:                                              ; preds = %951, %944
  br label %956

956:                                              ; preds = %951, %955
  %.str.26.sink2491 = phi ptr [ @.str.26, %955 ], [ @.str.23, %951 ]
  store i32 %946, ptr %945, align 4, !tbaa !5
  %957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %958 = load i32, ptr @test_count, align 4, !tbaa !5
  %959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %960 = load i32, ptr %959, align 4, !tbaa !5
  %961 = call ptr @s2n_strerror(i32 noundef %960, ptr noundef nonnull @.str.25) #12
  %962 = load i32, ptr %959, align 4, !tbaa !5
  %963 = call ptr @s2n_strerror_debug(i32 noundef %962, ptr noundef nonnull @.str.25) #12
  %964 = load i32, ptr %945, align 4, !tbaa !5
  %965 = call ptr @strerror(i32 noundef %964) #12
  %966 = load i32, ptr %945, align 4, !tbaa !5
  %967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %957, ptr noundef nonnull %.str.26.sink2491, i32 noundef %958, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.22, i32 noundef 195, ptr noundef %961, ptr noundef %963, ptr noundef %965, i32 noundef %966) #14
  call void @exit(i32 noundef 1) #15
  unreachable

968:                                              ; preds = %939
  %969 = add nsw i32 %911, 3
  store i32 %969, ptr @test_count, align 4, !tbaa !5
  %970 = load i16, ptr %352, align 2, !tbaa !49
  %971 = icmp eq i16 %970, 11
  br i1 %971, label %996, label %972

972:                                              ; preds = %968
  %973 = tail call ptr @__errno_location() #13
  %974 = load i32, ptr %973, align 4, !tbaa !5
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = call i32 @s2n_print_stacktrace(ptr noundef %975) #12
  %977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %978 = trunc nuw i8 %977 to i1
  br i1 %978, label %979, label %983

979:                                              ; preds = %972
  %980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %981 = call i32 @fileno(ptr noundef %980) #12
  %982 = call i32 @isatty(i32 noundef %981) #12
  %.not1625 = icmp eq i32 %982, 0
  br i1 %.not1625, label %983, label %984

983:                                              ; preds = %979, %972
  br label %984

984:                                              ; preds = %979, %983
  %.str.26.sink2502 = phi ptr [ @.str.26, %983 ], [ @.str.23, %979 ]
  store i32 %974, ptr %973, align 4, !tbaa !5
  %985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %986 = load i32, ptr @test_count, align 4, !tbaa !5
  %987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %988 = load i32, ptr %987, align 4, !tbaa !5
  %989 = call ptr @s2n_strerror(i32 noundef %988, ptr noundef nonnull @.str.25) #12
  %990 = load i32, ptr %987, align 4, !tbaa !5
  %991 = call ptr @s2n_strerror_debug(i32 noundef %990, ptr noundef nonnull @.str.25) #12
  %992 = load i32, ptr %973, align 4, !tbaa !5
  %993 = call ptr @strerror(i32 noundef %992) #12
  %994 = load i32, ptr %973, align 4, !tbaa !5
  %995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %985, ptr noundef nonnull %.str.26.sink2502, i32 noundef %986, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.22, i32 noundef 197, ptr noundef %989, ptr noundef %991, ptr noundef %993, i32 noundef %994) #14
  call void @exit(i32 noundef 1) #15
  unreachable

996:                                              ; preds = %968
  %997 = add nsw i32 %911, 4
  store i32 %997, ptr @test_count, align 4, !tbaa !5
  %998 = call i32 @s2n_connection_free(ptr noundef nonnull %206) #12
  %999 = icmp eq i32 %998, -1
  br i1 %999, label %1000, label %1024

1000:                                             ; preds = %996
  %1001 = tail call ptr @__errno_location() #13
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = call i32 @s2n_print_stacktrace(ptr noundef %1003) #12
  %1005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1006 = trunc nuw i8 %1005 to i1
  br i1 %1006, label %1007, label %1011

1007:                                             ; preds = %1000
  %1008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1009 = call i32 @fileno(ptr noundef %1008) #12
  %1010 = call i32 @isatty(i32 noundef %1009) #12
  %.not2135 = icmp eq i32 %1010, 0
  br i1 %.not2135, label %1011, label %1012

1011:                                             ; preds = %1007, %1000
  br label %1012

1012:                                             ; preds = %1007, %1011
  %.str.26.sink2513 = phi ptr [ @.str.26, %1011 ], [ @.str.23, %1007 ]
  store i32 %1002, ptr %1001, align 4, !tbaa !5
  %1013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1014 = load i32, ptr @test_count, align 4, !tbaa !5
  %1015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1016 = load i32, ptr %1015, align 4, !tbaa !5
  %1017 = call ptr @s2n_strerror(i32 noundef %1016, ptr noundef nonnull @.str.25) #12
  %1018 = load i32, ptr %1015, align 4, !tbaa !5
  %1019 = call ptr @s2n_strerror_debug(i32 noundef %1018, ptr noundef nonnull @.str.25) #12
  %1020 = load i32, ptr %1001, align 4, !tbaa !5
  %1021 = call ptr @strerror(i32 noundef %1020) #12
  %1022 = load i32, ptr %1001, align 4, !tbaa !5
  %1023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1013, ptr noundef nonnull %.str.26.sink2513, i32 noundef %1014, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 199, ptr noundef %1017, ptr noundef %1019, ptr noundef %1021, i32 noundef %1022) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1024:                                             ; preds = %996
  %1025 = load i32, ptr @test_count, align 4, !tbaa !5
  %1026 = add nsw i32 %1025, 1
  store i32 %1026, ptr @test_count, align 4, !tbaa !5
  %1027 = call i32 @s2n_stuffer_free(ptr noundef nonnull %3) #12
  %1028 = icmp eq i32 %1027, -1
  br i1 %1028, label %1029, label %1053

1029:                                             ; preds = %1024
  %1030 = tail call ptr @__errno_location() #13
  %1031 = load i32, ptr %1030, align 4, !tbaa !5
  %1032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1033 = call i32 @s2n_print_stacktrace(ptr noundef %1032) #12
  %1034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1035 = trunc nuw i8 %1034 to i1
  br i1 %1035, label %1036, label %1040

1036:                                             ; preds = %1029
  %1037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1038 = call i32 @fileno(ptr noundef %1037) #12
  %1039 = call i32 @isatty(i32 noundef %1038) #12
  %.not2134 = icmp eq i32 %1039, 0
  br i1 %.not2134, label %1040, label %1041

1040:                                             ; preds = %1036, %1029
  br label %1041

1041:                                             ; preds = %1036, %1040
  %.str.26.sink2524 = phi ptr [ @.str.26, %1040 ], [ @.str.23, %1036 ]
  store i32 %1031, ptr %1030, align 4, !tbaa !5
  %1042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1043 = load i32, ptr @test_count, align 4, !tbaa !5
  %1044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1045 = load i32, ptr %1044, align 4, !tbaa !5
  %1046 = call ptr @s2n_strerror(i32 noundef %1045, ptr noundef nonnull @.str.25) #12
  %1047 = load i32, ptr %1044, align 4, !tbaa !5
  %1048 = call ptr @s2n_strerror_debug(i32 noundef %1047, ptr noundef nonnull @.str.25) #12
  %1049 = load i32, ptr %1030, align 4, !tbaa !5
  %1050 = call ptr @strerror(i32 noundef %1049) #12
  %1051 = load i32, ptr %1030, align 4, !tbaa !5
  %1052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1042, ptr noundef nonnull %.str.26.sink2524, i32 noundef %1043, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.22, i32 noundef 200, ptr noundef %1046, ptr noundef %1048, ptr noundef %1050, i32 noundef %1051) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1053:                                             ; preds = %1024
  %1054 = load i32, ptr @test_count, align 4, !tbaa !5
  %1055 = add nsw i32 %1054, 1
  store i32 %1055, ptr @test_count, align 4, !tbaa !5
  %1056 = call i32 @s2n_config_free(ptr noundef nonnull %235) #12
  %1057 = icmp eq i32 %1056, -1
  br i1 %1057, label %1058, label %1082

1058:                                             ; preds = %1053
  %1059 = tail call ptr @__errno_location() #13
  %1060 = load i32, ptr %1059, align 4, !tbaa !5
  %1061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1062 = call i32 @s2n_print_stacktrace(ptr noundef %1061) #12
  %1063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1064 = trunc nuw i8 %1063 to i1
  br i1 %1064, label %1065, label %1069

1065:                                             ; preds = %1058
  %1066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1067 = call i32 @fileno(ptr noundef %1066) #12
  %1068 = call i32 @isatty(i32 noundef %1067) #12
  %.not2133 = icmp eq i32 %1068, 0
  br i1 %.not2133, label %1069, label %1070

1069:                                             ; preds = %1065, %1058
  br label %1070

1070:                                             ; preds = %1065, %1069
  %.str.26.sink2535 = phi ptr [ @.str.26, %1069 ], [ @.str.23, %1065 ]
  store i32 %1060, ptr %1059, align 4, !tbaa !5
  %1071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1072 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1074, ptr noundef nonnull @.str.25) #12
  %1076 = load i32, ptr %1073, align 4, !tbaa !5
  %1077 = call ptr @s2n_strerror_debug(i32 noundef %1076, ptr noundef nonnull @.str.25) #12
  %1078 = load i32, ptr %1059, align 4, !tbaa !5
  %1079 = call ptr @strerror(i32 noundef %1078) #12
  %1080 = load i32, ptr %1059, align 4, !tbaa !5
  %1081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1071, ptr noundef nonnull %.str.26.sink2535, i32 noundef %1072, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 201, ptr noundef %1075, ptr noundef %1077, ptr noundef %1079, i32 noundef %1080) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1082:                                             ; preds = %1053
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %8) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3) #12
  %1083 = load i32, ptr @test_count, align 4, !tbaa !5
  %1084 = add nsw i32 %1083, 1
  store i32 %1084, ptr @test_count, align 4, !tbaa !5
  %1085 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %1086 = icmp eq ptr %1085, null
  br i1 %1086, label %1087, label %1111

1087:                                             ; preds = %1082
  %1088 = tail call ptr @__errno_location() #13
  %1089 = load i32, ptr %1088, align 4, !tbaa !5
  %1090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1091 = call i32 @s2n_print_stacktrace(ptr noundef %1090) #12
  %1092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1093 = trunc nuw i8 %1092 to i1
  br i1 %1093, label %1094, label %1098

1094:                                             ; preds = %1087
  %1095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1096 = call i32 @fileno(ptr noundef %1095) #12
  %1097 = call i32 @isatty(i32 noundef %1096) #12
  %.not2132 = icmp eq i32 %1097, 0
  br i1 %.not2132, label %1098, label %1099

1098:                                             ; preds = %1094, %1087
  br label %1099

1099:                                             ; preds = %1094, %1098
  %.str.26.sink2546 = phi ptr [ @.str.26, %1098 ], [ @.str.23, %1094 ]
  store i32 %1089, ptr %1088, align 4, !tbaa !5
  %1100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1101 = load i32, ptr @test_count, align 4, !tbaa !5
  %1102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1103 = load i32, ptr %1102, align 4, !tbaa !5
  %1104 = call ptr @s2n_strerror(i32 noundef %1103, ptr noundef nonnull @.str.25) #12
  %1105 = load i32, ptr %1102, align 4, !tbaa !5
  %1106 = call ptr @s2n_strerror_debug(i32 noundef %1105, ptr noundef nonnull @.str.25) #12
  %1107 = load i32, ptr %1088, align 4, !tbaa !5
  %1108 = call ptr @strerror(i32 noundef %1107) #12
  %1109 = load i32, ptr %1088, align 4, !tbaa !5
  %1110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1100, ptr noundef nonnull %.str.26.sink2546, i32 noundef %1101, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.22, i32 noundef 208, ptr noundef %1104, ptr noundef %1106, ptr noundef %1108, i32 noundef %1109) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1111:                                             ; preds = %1082
  %1112 = load i32, ptr @test_count, align 4, !tbaa !5
  %1113 = add nsw i32 %1112, 1
  store i32 %1113, ptr @test_count, align 4, !tbaa !5
  %1114 = call ptr @s2n_config_new() #12
  %1115 = icmp eq ptr %1114, null
  br i1 %1115, label %1116, label %1140

1116:                                             ; preds = %1111
  %1117 = tail call ptr @__errno_location() #13
  %1118 = load i32, ptr %1117, align 4, !tbaa !5
  %1119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1120 = call i32 @s2n_print_stacktrace(ptr noundef %1119) #12
  %1121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1122 = trunc nuw i8 %1121 to i1
  br i1 %1122, label %1123, label %1127

1123:                                             ; preds = %1116
  %1124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1125 = call i32 @fileno(ptr noundef %1124) #12
  %1126 = call i32 @isatty(i32 noundef %1125) #12
  %.not2131 = icmp eq i32 %1126, 0
  br i1 %.not2131, label %1127, label %1128

1127:                                             ; preds = %1123, %1116
  br label %1128

1128:                                             ; preds = %1123, %1127
  %.str.26.sink2557 = phi ptr [ @.str.26, %1127 ], [ @.str.23, %1123 ]
  store i32 %1118, ptr %1117, align 4, !tbaa !5
  %1129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1130 = load i32, ptr @test_count, align 4, !tbaa !5
  %1131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1132 = load i32, ptr %1131, align 4, !tbaa !5
  %1133 = call ptr @s2n_strerror(i32 noundef %1132, ptr noundef nonnull @.str.25) #12
  %1134 = load i32, ptr %1131, align 4, !tbaa !5
  %1135 = call ptr @s2n_strerror_debug(i32 noundef %1134, ptr noundef nonnull @.str.25) #12
  %1136 = load i32, ptr %1117, align 4, !tbaa !5
  %1137 = call ptr @strerror(i32 noundef %1136) #12
  %1138 = load i32, ptr %1117, align 4, !tbaa !5
  %1139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1129, ptr noundef nonnull %.str.26.sink2557, i32 noundef %1130, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.22, i32 noundef 209, ptr noundef %1133, ptr noundef %1135, ptr noundef %1137, i32 noundef %1138) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1140:                                             ; preds = %1111
  %1141 = load i32, ptr @test_count, align 4, !tbaa !5
  %1142 = add nsw i32 %1141, 1
  store i32 %1142, ptr @test_count, align 4, !tbaa !5
  %1143 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %1114) #12
  %1144 = call zeroext i1 @s2n_result_is_ok(i32 %1143)
  br i1 %1144, label %1169, label %1145

1145:                                             ; preds = %1140
  %1146 = tail call ptr @__errno_location() #13
  %1147 = load i32, ptr %1146, align 4, !tbaa !5
  %1148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1149 = call i32 @s2n_print_stacktrace(ptr noundef %1148) #12
  %1150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1151 = trunc nuw i8 %1150 to i1
  br i1 %1151, label %1152, label %1156

1152:                                             ; preds = %1145
  %1153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1154 = call i32 @fileno(ptr noundef %1153) #12
  %1155 = call i32 @isatty(i32 noundef %1154) #12
  %.not1626 = icmp eq i32 %1155, 0
  br i1 %.not1626, label %1156, label %1157

1156:                                             ; preds = %1152, %1145
  br label %1157

1157:                                             ; preds = %1152, %1156
  %.str.26.sink2568 = phi ptr [ @.str.26, %1156 ], [ @.str.23, %1152 ]
  store i32 %1147, ptr %1146, align 4, !tbaa !5
  %1158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1159 = load i32, ptr @test_count, align 4, !tbaa !5
  %1160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1161 = load i32, ptr %1160, align 4, !tbaa !5
  %1162 = call ptr @s2n_strerror(i32 noundef %1161, ptr noundef nonnull @.str.25) #12
  %1163 = load i32, ptr %1160, align 4, !tbaa !5
  %1164 = call ptr @s2n_strerror_debug(i32 noundef %1163, ptr noundef nonnull @.str.25) #12
  %1165 = load i32, ptr %1146, align 4, !tbaa !5
  %1166 = call ptr @strerror(i32 noundef %1165) #12
  %1167 = load i32, ptr %1146, align 4, !tbaa !5
  %1168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1158, ptr noundef nonnull %.str.26.sink2568, i32 noundef %1159, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 211, ptr noundef %1162, ptr noundef %1164, ptr noundef %1166, i32 noundef %1167) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1169:                                             ; preds = %1140
  %1170 = load i32, ptr @test_count, align 4, !tbaa !5
  %1171 = add nsw i32 %1170, 1
  store i32 %1171, ptr @test_count, align 4, !tbaa !5
  %1172 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1085, ptr noundef nonnull %1114) #12
  %1173 = icmp eq i32 %1172, -1
  br i1 %1173, label %1174, label %1198

1174:                                             ; preds = %1169
  %1175 = tail call ptr @__errno_location() #13
  %1176 = load i32, ptr %1175, align 4, !tbaa !5
  %1177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1178 = call i32 @s2n_print_stacktrace(ptr noundef %1177) #12
  %1179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1180 = trunc nuw i8 %1179 to i1
  br i1 %1180, label %1181, label %1185

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

1185:                                             ; preds = %1181, %1174
  br label %1186

1186:                                             ; preds = %1181, %1185
  %.str.26.sink2579 = phi ptr [ @.str.26, %1185 ], [ @.str.23, %1181 ]
  store i32 %1176, ptr %1175, align 4, !tbaa !5
  %1187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1188 = load i32, ptr @test_count, align 4, !tbaa !5
  %1189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1190 = load i32, ptr %1189, align 4, !tbaa !5
  %1191 = call ptr @s2n_strerror(i32 noundef %1190, ptr noundef nonnull @.str.25) #12
  %1192 = load i32, ptr %1189, align 4, !tbaa !5
  %1193 = call ptr @s2n_strerror_debug(i32 noundef %1192, ptr noundef nonnull @.str.25) #12
  %1194 = load i32, ptr %1175, align 4, !tbaa !5
  %1195 = call ptr @strerror(i32 noundef %1194) #12
  %1196 = load i32, ptr %1175, align 4, !tbaa !5
  %1197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1187, ptr noundef nonnull %.str.26.sink2579, i32 noundef %1188, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 212, ptr noundef %1191, ptr noundef %1193, ptr noundef %1195, i32 noundef %1196) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1198:                                             ; preds = %1169
  %1199 = getelementptr inbounds i8, ptr %1085, i64 220
  store i8 34, ptr %1199, align 4, !tbaa !17
  %1200 = getelementptr inbounds i8, ptr %1085, i64 232
  %1201 = load ptr, ptr %1200, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %1201, align 8, !tbaa !44
  %1202 = getelementptr inbounds i8, ptr %1085, i64 4086
  store i16 -1, ptr %1202, align 2, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %13) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %13, i8 0, i64 40, i1 false)
  %1203 = load i32, ptr @test_count, align 4, !tbaa !5
  %1204 = add nsw i32 %1203, 1
  store i32 %1204, ptr @test_count, align 4, !tbaa !5
  %1205 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %13, i32 noundef 0) #12
  %1206 = icmp eq i32 %1205, -1
  br i1 %1206, label %1207, label %1231

1207:                                             ; preds = %1198
  %1208 = tail call ptr @__errno_location() #13
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1211 = call i32 @s2n_print_stacktrace(ptr noundef %1210) #12
  %1212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1213 = trunc nuw i8 %1212 to i1
  br i1 %1213, label %1214, label %1218

1214:                                             ; preds = %1207
  %1215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1216 = call i32 @fileno(ptr noundef %1215) #12
  %1217 = call i32 @isatty(i32 noundef %1216) #12
  %.not2129 = icmp eq i32 %1217, 0
  br i1 %.not2129, label %1218, label %1219

1218:                                             ; preds = %1214, %1207
  br label %1219

1219:                                             ; preds = %1214, %1218
  %.str.26.sink2590 = phi ptr [ @.str.26, %1218 ], [ @.str.23, %1214 ]
  store i32 %1209, ptr %1208, align 4, !tbaa !5
  %1220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1221 = load i32, ptr @test_count, align 4, !tbaa !5
  %1222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1223 = load i32, ptr %1222, align 4, !tbaa !5
  %1224 = call ptr @s2n_strerror(i32 noundef %1223, ptr noundef nonnull @.str.25) #12
  %1225 = load i32, ptr %1222, align 4, !tbaa !5
  %1226 = call ptr @s2n_strerror_debug(i32 noundef %1225, ptr noundef nonnull @.str.25) #12
  %1227 = load i32, ptr %1208, align 4, !tbaa !5
  %1228 = call ptr @strerror(i32 noundef %1227) #12
  %1229 = load i32, ptr %1208, align 4, !tbaa !5
  %1230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1220, ptr noundef nonnull %.str.26.sink2590, i32 noundef %1221, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.22, i32 noundef 220, ptr noundef %1224, ptr noundef %1226, ptr noundef %1228, i32 noundef %1229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1231:                                             ; preds = %1198
  %1232 = load i32, ptr @test_count, align 4, !tbaa !5
  %1233 = add nsw i32 %1232, 1
  store i32 %1233, ptr @test_count, align 4, !tbaa !5
  %1234 = call i32 @s2n_tls13_server_nst_write(ptr noundef nonnull %1085, ptr noundef nonnull %13)
  %1235 = call zeroext i1 @s2n_result_is_error(i32 %1234)
  br i1 %1235, label %1260, label %1236

1236:                                             ; preds = %1231
  %1237 = tail call ptr @__errno_location() #13
  %1238 = load i32, ptr %1237, align 4, !tbaa !5
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = call i32 @s2n_print_stacktrace(ptr noundef %1239) #12
  %1241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1242 = trunc nuw i8 %1241 to i1
  br i1 %1242, label %1243, label %1247

1243:                                             ; preds = %1236
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = call i32 @fileno(ptr noundef %1244) #12
  %1246 = call i32 @isatty(i32 noundef %1245) #12
  %.not1627 = icmp eq i32 %1246, 0
  br i1 %.not1627, label %1247, label %1248

1247:                                             ; preds = %1243, %1236
  br label %1248

1248:                                             ; preds = %1243, %1247
  %.str.26.sink2601 = phi ptr [ @.str.26, %1247 ], [ @.str.23, %1243 ]
  store i32 %1238, ptr %1237, align 4, !tbaa !5
  %1249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1250 = load i32, ptr @test_count, align 4, !tbaa !5
  %1251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1252 = load i32, ptr %1251, align 4, !tbaa !5
  %1253 = call ptr @s2n_strerror(i32 noundef %1252, ptr noundef nonnull @.str.25) #12
  %1254 = load i32, ptr %1251, align 4, !tbaa !5
  %1255 = call ptr @s2n_strerror_debug(i32 noundef %1254, ptr noundef nonnull @.str.25) #12
  %1256 = load i32, ptr %1237, align 4, !tbaa !5
  %1257 = call ptr @strerror(i32 noundef %1256) #12
  %1258 = load i32, ptr %1237, align 4, !tbaa !5
  %1259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1249, ptr noundef nonnull %.str.26.sink2601, i32 noundef %1250, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.22, i32 noundef 222, ptr noundef %1253, ptr noundef %1255, ptr noundef %1257, i32 noundef %1258) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1260:                                             ; preds = %1231
  %1261 = load i32, ptr @test_count, align 4, !tbaa !5
  %1262 = add nsw i32 %1261, 1
  store i32 %1262, ptr @test_count, align 4, !tbaa !5
  %1263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1264 = load i32, ptr %1263, align 4, !tbaa !5
  %1265 = icmp eq i32 %1264, 402653251
  br i1 %1265, label %1289, label %1266

1266:                                             ; preds = %1260
  %1267 = tail call ptr @__errno_location() #13
  %1268 = load i32, ptr %1267, align 4, !tbaa !5
  %1269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1270 = call i32 @s2n_print_stacktrace(ptr noundef %1269) #12
  %1271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1272 = trunc nuw i8 %1271 to i1
  br i1 %1272, label %1273, label %1277

1273:                                             ; preds = %1266
  %1274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1275 = call i32 @fileno(ptr noundef %1274) #12
  %1276 = call i32 @isatty(i32 noundef %1275) #12
  %.not1628 = icmp eq i32 %1276, 0
  br i1 %.not1628, label %1277, label %1278

1277:                                             ; preds = %1273, %1266
  br label %1278

1278:                                             ; preds = %1273, %1277
  %.str.26.sink2612 = phi ptr [ @.str.26, %1277 ], [ @.str.23, %1273 ]
  store i32 %1268, ptr %1267, align 4, !tbaa !5
  %1279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1280 = load i32, ptr @test_count, align 4, !tbaa !5
  %1281 = load i32, ptr %1263, align 4, !tbaa !5
  %1282 = call ptr @s2n_strerror(i32 noundef %1281, ptr noundef nonnull @.str.25) #12
  %1283 = load i32, ptr %1263, align 4, !tbaa !5
  %1284 = call ptr @s2n_strerror_debug(i32 noundef %1283, ptr noundef nonnull @.str.25) #12
  %1285 = load i32, ptr %1267, align 4, !tbaa !5
  %1286 = call ptr @strerror(i32 noundef %1285) #12
  %1287 = load i32, ptr %1267, align 4, !tbaa !5
  %1288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1279, ptr noundef nonnull %.str.26.sink2612, i32 noundef %1280, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.22, i32 noundef 222, ptr noundef %1282, ptr noundef %1284, ptr noundef %1286, i32 noundef %1287) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1289:                                             ; preds = %1260
  %1290 = add nsw i32 %1261, 2
  store i32 %1290, ptr @test_count, align 4, !tbaa !5
  %1291 = call ptr @s2n_strerror_debug(i32 noundef 402653251, ptr noundef nonnull @.str.25) #12
  %1292 = icmp eq ptr %1291, null
  br i1 %1292, label %1293, label %1316

1293:                                             ; preds = %1289
  %1294 = tail call ptr @__errno_location() #13
  %1295 = load i32, ptr %1294, align 4, !tbaa !5
  %1296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1297 = call i32 @s2n_print_stacktrace(ptr noundef %1296) #12
  %1298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1299 = trunc nuw i8 %1298 to i1
  br i1 %1299, label %1300, label %1304

1300:                                             ; preds = %1293
  %1301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1302 = call i32 @fileno(ptr noundef %1301) #12
  %1303 = call i32 @isatty(i32 noundef %1302) #12
  %.not2128 = icmp eq i32 %1303, 0
  br i1 %.not2128, label %1304, label %1305

1304:                                             ; preds = %1300, %1293
  br label %1305

1305:                                             ; preds = %1300, %1304
  %.str.26.sink2621 = phi ptr [ @.str.26, %1304 ], [ @.str.23, %1300 ]
  store i32 %1295, ptr %1294, align 4, !tbaa !5
  %1306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1307 = load i32, ptr @test_count, align 4, !tbaa !5
  %1308 = load i32, ptr %1263, align 4, !tbaa !5
  %1309 = call ptr @s2n_strerror(i32 noundef %1308, ptr noundef nonnull @.str.25) #12
  %1310 = load i32, ptr %1263, align 4, !tbaa !5
  %1311 = call ptr @s2n_strerror_debug(i32 noundef %1310, ptr noundef nonnull @.str.25) #12
  %1312 = load i32, ptr %1294, align 4, !tbaa !5
  %1313 = call ptr @strerror(i32 noundef %1312) #12
  %1314 = load i32, ptr %1294, align 4, !tbaa !5
  %1315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1306, ptr noundef nonnull %.str.26.sink2621, i32 noundef %1307, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.22, i32 noundef 222, ptr noundef %1309, ptr noundef %1311, ptr noundef %1313, i32 noundef %1314) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1316:                                             ; preds = %1289
  store i32 0, ptr %1263, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %1317 = tail call ptr @__errno_location() #13
  store i32 0, ptr %1317, align 4, !tbaa !5
  %1318 = load i32, ptr @test_count, align 4, !tbaa !5
  %1319 = add nsw i32 %1318, 1
  store i32 %1319, ptr @test_count, align 4, !tbaa !5
  %1320 = call i32 @s2n_connection_free(ptr noundef nonnull %1085) #12
  %1321 = icmp eq i32 %1320, -1
  br i1 %1321, label %1322, label %1344

1322:                                             ; preds = %1316
  %1323 = load i32, ptr %1317, align 4, !tbaa !5
  %1324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1325 = call i32 @s2n_print_stacktrace(ptr noundef %1324) #12
  %1326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1327 = trunc nuw i8 %1326 to i1
  br i1 %1327, label %1328, label %1332

1328:                                             ; preds = %1322
  %1329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1330 = call i32 @fileno(ptr noundef %1329) #12
  %1331 = call i32 @isatty(i32 noundef %1330) #12
  %.not2127 = icmp eq i32 %1331, 0
  br i1 %.not2127, label %1332, label %1333

1332:                                             ; preds = %1328, %1322
  br label %1333

1333:                                             ; preds = %1328, %1332
  %.str.26.sink2630 = phi ptr [ @.str.26, %1332 ], [ @.str.23, %1328 ]
  store i32 %1323, ptr %1317, align 4, !tbaa !5
  %1334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1335 = load i32, ptr @test_count, align 4, !tbaa !5
  %1336 = load i32, ptr %1263, align 4, !tbaa !5
  %1337 = call ptr @s2n_strerror(i32 noundef %1336, ptr noundef nonnull @.str.25) #12
  %1338 = load i32, ptr %1263, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror_debug(i32 noundef %1338, ptr noundef nonnull @.str.25) #12
  %1340 = load i32, ptr %1317, align 4, !tbaa !5
  %1341 = call ptr @strerror(i32 noundef %1340) #12
  %1342 = load i32, ptr %1317, align 4, !tbaa !5
  %1343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1334, ptr noundef nonnull %.str.26.sink2630, i32 noundef %1335, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 224, ptr noundef %1337, ptr noundef %1339, ptr noundef %1341, i32 noundef %1342) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1344:                                             ; preds = %1316
  %1345 = load i32, ptr @test_count, align 4, !tbaa !5
  %1346 = add nsw i32 %1345, 1
  store i32 %1346, ptr @test_count, align 4, !tbaa !5
  %1347 = call i32 @s2n_stuffer_free(ptr noundef nonnull %13) #12
  %1348 = icmp eq i32 %1347, -1
  br i1 %1348, label %1349, label %1371

1349:                                             ; preds = %1344
  %1350 = load i32, ptr %1317, align 4, !tbaa !5
  %1351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1352 = call i32 @s2n_print_stacktrace(ptr noundef %1351) #12
  %1353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1354 = trunc nuw i8 %1353 to i1
  br i1 %1354, label %1355, label %1359

1355:                                             ; preds = %1349
  %1356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1357 = call i32 @fileno(ptr noundef %1356) #12
  %1358 = call i32 @isatty(i32 noundef %1357) #12
  %.not2126 = icmp eq i32 %1358, 0
  br i1 %.not2126, label %1359, label %1360

1359:                                             ; preds = %1355, %1349
  br label %1360

1360:                                             ; preds = %1355, %1359
  %.str.26.sink2639 = phi ptr [ @.str.26, %1359 ], [ @.str.23, %1355 ]
  store i32 %1350, ptr %1317, align 4, !tbaa !5
  %1361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1362 = load i32, ptr @test_count, align 4, !tbaa !5
  %1363 = load i32, ptr %1263, align 4, !tbaa !5
  %1364 = call ptr @s2n_strerror(i32 noundef %1363, ptr noundef nonnull @.str.25) #12
  %1365 = load i32, ptr %1263, align 4, !tbaa !5
  %1366 = call ptr @s2n_strerror_debug(i32 noundef %1365, ptr noundef nonnull @.str.25) #12
  %1367 = load i32, ptr %1317, align 4, !tbaa !5
  %1368 = call ptr @strerror(i32 noundef %1367) #12
  %1369 = load i32, ptr %1317, align 4, !tbaa !5
  %1370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1361, ptr noundef nonnull %.str.26.sink2639, i32 noundef %1362, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.22, i32 noundef 225, ptr noundef %1364, ptr noundef %1366, ptr noundef %1368, i32 noundef %1369) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1371:                                             ; preds = %1344
  %1372 = load i32, ptr @test_count, align 4, !tbaa !5
  %1373 = add nsw i32 %1372, 1
  store i32 %1373, ptr @test_count, align 4, !tbaa !5
  %1374 = call i32 @s2n_config_free(ptr noundef nonnull %1114) #12
  %1375 = icmp eq i32 %1374, -1
  br i1 %1375, label %1376, label %1398

1376:                                             ; preds = %1371
  %1377 = load i32, ptr %1317, align 4, !tbaa !5
  %1378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1379 = call i32 @s2n_print_stacktrace(ptr noundef %1378) #12
  %1380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1381 = trunc nuw i8 %1380 to i1
  br i1 %1381, label %1382, label %1386

1382:                                             ; preds = %1376
  %1383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1384 = call i32 @fileno(ptr noundef %1383) #12
  %1385 = call i32 @isatty(i32 noundef %1384) #12
  %.not2125 = icmp eq i32 %1385, 0
  br i1 %.not2125, label %1386, label %1387

1386:                                             ; preds = %1382, %1376
  br label %1387

1387:                                             ; preds = %1382, %1386
  %.str.26.sink2648 = phi ptr [ @.str.26, %1386 ], [ @.str.23, %1382 ]
  store i32 %1377, ptr %1317, align 4, !tbaa !5
  %1388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1389 = load i32, ptr @test_count, align 4, !tbaa !5
  %1390 = load i32, ptr %1263, align 4, !tbaa !5
  %1391 = call ptr @s2n_strerror(i32 noundef %1390, ptr noundef nonnull @.str.25) #12
  %1392 = load i32, ptr %1263, align 4, !tbaa !5
  %1393 = call ptr @s2n_strerror_debug(i32 noundef %1392, ptr noundef nonnull @.str.25) #12
  %1394 = load i32, ptr %1317, align 4, !tbaa !5
  %1395 = call ptr @strerror(i32 noundef %1394) #12
  %1396 = load i32, ptr %1317, align 4, !tbaa !5
  %1397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1388, ptr noundef nonnull %.str.26.sink2648, i32 noundef %1389, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 226, ptr noundef %1391, ptr noundef %1393, ptr noundef %1395, i32 noundef %1396) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1398:                                             ; preds = %1371
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %13) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #12
  %1399 = call ptr @s2n_config_new() #12
  store ptr %1399, ptr %14, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #12
  %1400 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %1400, ptr %15, align 8, !tbaa !9
  %1401 = load i32, ptr @test_count, align 4, !tbaa !5
  %1402 = add nsw i32 %1401, 1
  store i32 %1402, ptr @test_count, align 4, !tbaa !5
  %1403 = load ptr, ptr %14, align 8, !tbaa !9
  %1404 = icmp eq ptr %1403, null
  br i1 %1404, label %1405, label %1427

1405:                                             ; preds = %1398
  %1406 = load i32, ptr %1317, align 4, !tbaa !5
  %1407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1408 = call i32 @s2n_print_stacktrace(ptr noundef %1407) #12
  %1409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1410 = trunc nuw i8 %1409 to i1
  br i1 %1410, label %1411, label %1415

1411:                                             ; preds = %1405
  %1412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1413 = call i32 @fileno(ptr noundef %1412) #12
  %1414 = call i32 @isatty(i32 noundef %1413) #12
  %.not2124 = icmp eq i32 %1414, 0
  br i1 %.not2124, label %1415, label %1416

1415:                                             ; preds = %1411, %1405
  br label %1416

1416:                                             ; preds = %1411, %1415
  %.str.26.sink2657 = phi ptr [ @.str.26, %1415 ], [ @.str.23, %1411 ]
  store i32 %1406, ptr %1317, align 4, !tbaa !5
  %1417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1418 = load i32, ptr @test_count, align 4, !tbaa !5
  %1419 = load i32, ptr %1263, align 4, !tbaa !5
  %1420 = call ptr @s2n_strerror(i32 noundef %1419, ptr noundef nonnull @.str.25) #12
  %1421 = load i32, ptr %1263, align 4, !tbaa !5
  %1422 = call ptr @s2n_strerror_debug(i32 noundef %1421, ptr noundef nonnull @.str.25) #12
  %1423 = load i32, ptr %1317, align 4, !tbaa !5
  %1424 = call ptr @strerror(i32 noundef %1423) #12
  %1425 = load i32, ptr %1317, align 4, !tbaa !5
  %1426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1417, ptr noundef nonnull %.str.26.sink2657, i32 noundef %1418, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 234, ptr noundef %1420, ptr noundef %1422, ptr noundef %1424, i32 noundef %1425) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1427:                                             ; preds = %1398
  %1428 = add nsw i32 %1401, 2
  store i32 %1428, ptr @test_count, align 4, !tbaa !5
  %1429 = icmp eq ptr %1400, null
  br i1 %1429, label %1430, label %1452

1430:                                             ; preds = %1427
  %1431 = load i32, ptr %1317, align 4, !tbaa !5
  %1432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1433 = call i32 @s2n_print_stacktrace(ptr noundef %1432) #12
  %1434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1435 = trunc nuw i8 %1434 to i1
  br i1 %1435, label %1436, label %1440

1436:                                             ; preds = %1430
  %1437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1438 = call i32 @fileno(ptr noundef %1437) #12
  %1439 = call i32 @isatty(i32 noundef %1438) #12
  %.not2123 = icmp eq i32 %1439, 0
  br i1 %.not2123, label %1440, label %1441

1440:                                             ; preds = %1436, %1430
  br label %1441

1441:                                             ; preds = %1436, %1440
  %.str.26.sink2666 = phi ptr [ @.str.26, %1440 ], [ @.str.23, %1436 ]
  store i32 %1431, ptr %1317, align 4, !tbaa !5
  %1442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1443 = load i32, ptr @test_count, align 4, !tbaa !5
  %1444 = load i32, ptr %1263, align 4, !tbaa !5
  %1445 = call ptr @s2n_strerror(i32 noundef %1444, ptr noundef nonnull @.str.25) #12
  %1446 = load i32, ptr %1263, align 4, !tbaa !5
  %1447 = call ptr @s2n_strerror_debug(i32 noundef %1446, ptr noundef nonnull @.str.25) #12
  %1448 = load i32, ptr %1317, align 4, !tbaa !5
  %1449 = call ptr @strerror(i32 noundef %1448) #12
  %1450 = load i32, ptr %1317, align 4, !tbaa !5
  %1451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1442, ptr noundef nonnull %.str.26.sink2666, i32 noundef %1443, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 235, ptr noundef %1445, ptr noundef %1447, ptr noundef %1449, i32 noundef %1450) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1452:                                             ; preds = %1427
  %1453 = add nsw i32 %1401, 3
  store i32 %1453, ptr @test_count, align 4, !tbaa !5
  %1454 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1400, ptr noundef nonnull %1403) #12
  %1455 = icmp eq i32 %1454, -1
  br i1 %1455, label %1456, label %1478

1456:                                             ; preds = %1452
  %1457 = load i32, ptr %1317, align 4, !tbaa !5
  %1458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1459 = call i32 @s2n_print_stacktrace(ptr noundef %1458) #12
  %1460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1461 = trunc nuw i8 %1460 to i1
  br i1 %1461, label %1462, label %1466

1462:                                             ; preds = %1456
  %1463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1464 = call i32 @fileno(ptr noundef %1463) #12
  %1465 = call i32 @isatty(i32 noundef %1464) #12
  %.not2122 = icmp eq i32 %1465, 0
  br i1 %.not2122, label %1466, label %1467

1466:                                             ; preds = %1462, %1456
  br label %1467

1467:                                             ; preds = %1462, %1466
  %.str.26.sink2675 = phi ptr [ @.str.26, %1466 ], [ @.str.23, %1462 ]
  store i32 %1457, ptr %1317, align 4, !tbaa !5
  %1468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1469 = load i32, ptr @test_count, align 4, !tbaa !5
  %1470 = load i32, ptr %1263, align 4, !tbaa !5
  %1471 = call ptr @s2n_strerror(i32 noundef %1470, ptr noundef nonnull @.str.25) #12
  %1472 = load i32, ptr %1263, align 4, !tbaa !5
  %1473 = call ptr @s2n_strerror_debug(i32 noundef %1472, ptr noundef nonnull @.str.25) #12
  %1474 = load i32, ptr %1317, align 4, !tbaa !5
  %1475 = call ptr @strerror(i32 noundef %1474) #12
  %1476 = load i32, ptr %1317, align 4, !tbaa !5
  %1477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1468, ptr noundef nonnull %.str.26.sink2675, i32 noundef %1469, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 236, ptr noundef %1471, ptr noundef %1473, ptr noundef %1475, i32 noundef %1476) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1478:                                             ; preds = %1452
  %1479 = load ptr, ptr %15, align 8, !tbaa !9
  %1480 = getelementptr inbounds i8, ptr %1479, i64 220
  store i8 34, ptr %1480, align 4, !tbaa !17
  %1481 = getelementptr inbounds i8, ptr %1479, i64 232
  %1482 = load ptr, ptr %1481, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %1482, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %16) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %16, i8 0, i64 40, i1 false)
  %1483 = load i32, ptr @test_count, align 4, !tbaa !5
  %1484 = add nsw i32 %1483, 1
  store i32 %1484, ptr @test_count, align 4, !tbaa !5
  %1485 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %16, i32 noundef 0) #12
  %1486 = icmp eq i32 %1485, -1
  br i1 %1486, label %1487, label %1509

1487:                                             ; preds = %1478
  %1488 = load i32, ptr %1317, align 4, !tbaa !5
  %1489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1490 = call i32 @s2n_print_stacktrace(ptr noundef %1489) #12
  %1491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1492 = trunc nuw i8 %1491 to i1
  br i1 %1492, label %1493, label %1497

1493:                                             ; preds = %1487
  %1494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1495 = call i32 @fileno(ptr noundef %1494) #12
  %1496 = call i32 @isatty(i32 noundef %1495) #12
  %.not2121 = icmp eq i32 %1496, 0
  br i1 %.not2121, label %1497, label %1498

1497:                                             ; preds = %1493, %1487
  br label %1498

1498:                                             ; preds = %1493, %1497
  %.str.26.sink2684 = phi ptr [ @.str.26, %1497 ], [ @.str.23, %1493 ]
  store i32 %1488, ptr %1317, align 4, !tbaa !5
  %1499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1500 = load i32, ptr @test_count, align 4, !tbaa !5
  %1501 = load i32, ptr %1263, align 4, !tbaa !5
  %1502 = call ptr @s2n_strerror(i32 noundef %1501, ptr noundef nonnull @.str.25) #12
  %1503 = load i32, ptr %1263, align 4, !tbaa !5
  %1504 = call ptr @s2n_strerror_debug(i32 noundef %1503, ptr noundef nonnull @.str.25) #12
  %1505 = load i32, ptr %1317, align 4, !tbaa !5
  %1506 = call ptr @strerror(i32 noundef %1505) #12
  %1507 = load i32, ptr %1317, align 4, !tbaa !5
  %1508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1499, ptr noundef nonnull %.str.26.sink2684, i32 noundef %1500, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.22, i32 noundef 242, ptr noundef %1502, ptr noundef %1504, ptr noundef %1506, i32 noundef %1507) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1509:                                             ; preds = %1478
  %1510 = load i32, ptr @test_count, align 4, !tbaa !5
  %1511 = add nsw i32 %1510, 1
  store i32 %1511, ptr @test_count, align 4, !tbaa !5
  %1512 = load ptr, ptr %15, align 8, !tbaa !9
  %1513 = call i32 @s2n_tls13_server_nst_write(ptr noundef %1512, ptr noundef nonnull %16)
  %1514 = call zeroext i1 @s2n_result_is_error(i32 %1513)
  br i1 %1514, label %1537, label %1515

1515:                                             ; preds = %1509
  %1516 = load i32, ptr %1317, align 4, !tbaa !5
  %1517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1518 = call i32 @s2n_print_stacktrace(ptr noundef %1517) #12
  %1519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1520 = trunc nuw i8 %1519 to i1
  br i1 %1520, label %1521, label %1525

1521:                                             ; preds = %1515
  %1522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1523 = call i32 @fileno(ptr noundef %1522) #12
  %1524 = call i32 @isatty(i32 noundef %1523) #12
  %.not1629 = icmp eq i32 %1524, 0
  br i1 %.not1629, label %1525, label %1526

1525:                                             ; preds = %1521, %1515
  br label %1526

1526:                                             ; preds = %1521, %1525
  %.str.26.sink2693 = phi ptr [ @.str.26, %1525 ], [ @.str.23, %1521 ]
  store i32 %1516, ptr %1317, align 4, !tbaa !5
  %1527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1528 = load i32, ptr @test_count, align 4, !tbaa !5
  %1529 = load i32, ptr %1263, align 4, !tbaa !5
  %1530 = call ptr @s2n_strerror(i32 noundef %1529, ptr noundef nonnull @.str.25) #12
  %1531 = load i32, ptr %1263, align 4, !tbaa !5
  %1532 = call ptr @s2n_strerror_debug(i32 noundef %1531, ptr noundef nonnull @.str.25) #12
  %1533 = load i32, ptr %1317, align 4, !tbaa !5
  %1534 = call ptr @strerror(i32 noundef %1533) #12
  %1535 = load i32, ptr %1317, align 4, !tbaa !5
  %1536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1527, ptr noundef nonnull %.str.26.sink2693, i32 noundef %1528, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.22, i32 noundef 243, ptr noundef %1530, ptr noundef %1532, ptr noundef %1534, i32 noundef %1535) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1537:                                             ; preds = %1509
  %1538 = load i32, ptr @test_count, align 4, !tbaa !5
  %1539 = add nsw i32 %1538, 1
  store i32 %1539, ptr @test_count, align 4, !tbaa !5
  %1540 = load i32, ptr %1263, align 4, !tbaa !5
  %1541 = icmp eq i32 %1540, 469762084
  br i1 %1541, label %1564, label %1542

1542:                                             ; preds = %1537
  %1543 = load i32, ptr %1317, align 4, !tbaa !5
  %1544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1545 = call i32 @s2n_print_stacktrace(ptr noundef %1544) #12
  %1546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1547 = trunc nuw i8 %1546 to i1
  br i1 %1547, label %1548, label %1552

1548:                                             ; preds = %1542
  %1549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1550 = call i32 @fileno(ptr noundef %1549) #12
  %1551 = call i32 @isatty(i32 noundef %1550) #12
  %.not1630 = icmp eq i32 %1551, 0
  br i1 %.not1630, label %1552, label %1553

1552:                                             ; preds = %1548, %1542
  br label %1553

1553:                                             ; preds = %1548, %1552
  %.str.26.sink2702 = phi ptr [ @.str.26, %1552 ], [ @.str.23, %1548 ]
  store i32 %1543, ptr %1317, align 4, !tbaa !5
  %1554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1555 = load i32, ptr @test_count, align 4, !tbaa !5
  %1556 = load i32, ptr %1263, align 4, !tbaa !5
  %1557 = call ptr @s2n_strerror(i32 noundef %1556, ptr noundef nonnull @.str.25) #12
  %1558 = load i32, ptr %1263, align 4, !tbaa !5
  %1559 = call ptr @s2n_strerror_debug(i32 noundef %1558, ptr noundef nonnull @.str.25) #12
  %1560 = load i32, ptr %1317, align 4, !tbaa !5
  %1561 = call ptr @strerror(i32 noundef %1560) #12
  %1562 = load i32, ptr %1317, align 4, !tbaa !5
  %1563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1554, ptr noundef nonnull %.str.26.sink2702, i32 noundef %1555, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.22, i32 noundef 243, ptr noundef %1557, ptr noundef %1559, ptr noundef %1561, i32 noundef %1562) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1564:                                             ; preds = %1537
  %1565 = add nsw i32 %1538, 2
  store i32 %1565, ptr @test_count, align 4, !tbaa !5
  %1566 = call ptr @s2n_strerror_debug(i32 noundef 469762084, ptr noundef nonnull @.str.25) #12
  %1567 = icmp eq ptr %1566, null
  br i1 %1567, label %1568, label %1590

1568:                                             ; preds = %1564
  %1569 = load i32, ptr %1317, align 4, !tbaa !5
  %1570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1571 = call i32 @s2n_print_stacktrace(ptr noundef %1570) #12
  %1572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1573 = trunc nuw i8 %1572 to i1
  br i1 %1573, label %1574, label %1578

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

1578:                                             ; preds = %1574, %1568
  br label %1579

1579:                                             ; preds = %1574, %1578
  %.str.26.sink2711 = phi ptr [ @.str.26, %1578 ], [ @.str.23, %1574 ]
  store i32 %1569, ptr %1317, align 4, !tbaa !5
  %1580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1581 = load i32, ptr @test_count, align 4, !tbaa !5
  %1582 = load i32, ptr %1263, align 4, !tbaa !5
  %1583 = call ptr @s2n_strerror(i32 noundef %1582, ptr noundef nonnull @.str.25) #12
  %1584 = load i32, ptr %1263, align 4, !tbaa !5
  %1585 = call ptr @s2n_strerror_debug(i32 noundef %1584, ptr noundef nonnull @.str.25) #12
  %1586 = load i32, ptr %1317, align 4, !tbaa !5
  %1587 = call ptr @strerror(i32 noundef %1586) #12
  %1588 = load i32, ptr %1317, align 4, !tbaa !5
  %1589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1580, ptr noundef nonnull %.str.26.sink2711, i32 noundef %1581, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.22, i32 noundef 243, ptr noundef %1583, ptr noundef %1585, ptr noundef %1587, i32 noundef %1588) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1590:                                             ; preds = %1564
  store i32 0, ptr %1263, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1317, align 4, !tbaa !5
  %1591 = call i32 @s2n_stuffer_free(ptr noundef nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %16) #12
  %1592 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #12
  %1593 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %14) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #12
  %1594 = load i32, ptr @test_count, align 4, !tbaa !5
  %1595 = add nsw i32 %1594, 1
  store i32 %1595, ptr @test_count, align 4, !tbaa !5
  %1596 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %1597 = icmp eq ptr %1596, null
  br i1 %1597, label %1598, label %1620

1598:                                             ; preds = %1590
  %1599 = load i32, ptr %1317, align 4, !tbaa !5
  %1600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1601 = call i32 @s2n_print_stacktrace(ptr noundef %1600) #12
  %1602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1603 = trunc nuw i8 %1602 to i1
  br i1 %1603, label %1604, label %1608

1604:                                             ; preds = %1598
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = call i32 @fileno(ptr noundef %1605) #12
  %1607 = call i32 @isatty(i32 noundef %1606) #12
  %.not2119 = icmp eq i32 %1607, 0
  br i1 %.not2119, label %1608, label %1609

1608:                                             ; preds = %1604, %1598
  br label %1609

1609:                                             ; preds = %1604, %1608
  %.str.26.sink2720 = phi ptr [ @.str.26, %1608 ], [ @.str.23, %1604 ]
  store i32 %1599, ptr %1317, align 4, !tbaa !5
  %1610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1611 = load i32, ptr @test_count, align 4, !tbaa !5
  %1612 = load i32, ptr %1263, align 4, !tbaa !5
  %1613 = call ptr @s2n_strerror(i32 noundef %1612, ptr noundef nonnull @.str.25) #12
  %1614 = load i32, ptr %1263, align 4, !tbaa !5
  %1615 = call ptr @s2n_strerror_debug(i32 noundef %1614, ptr noundef nonnull @.str.25) #12
  %1616 = load i32, ptr %1317, align 4, !tbaa !5
  %1617 = call ptr @strerror(i32 noundef %1616) #12
  %1618 = load i32, ptr %1317, align 4, !tbaa !5
  %1619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1610, ptr noundef nonnull %.str.26.sink2720, i32 noundef %1611, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.22, i32 noundef 255, ptr noundef %1613, ptr noundef %1615, ptr noundef %1617, i32 noundef %1618) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1620:                                             ; preds = %1590
  %1621 = load i32, ptr @test_count, align 4, !tbaa !5
  %1622 = add nsw i32 %1621, 1
  store i32 %1622, ptr @test_count, align 4, !tbaa !5
  %1623 = call ptr @s2n_config_new() #12
  %1624 = icmp eq ptr %1623, null
  br i1 %1624, label %1625, label %1647

1625:                                             ; preds = %1620
  %1626 = load i32, ptr %1317, align 4, !tbaa !5
  %1627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1628 = call i32 @s2n_print_stacktrace(ptr noundef %1627) #12
  %1629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1630 = trunc nuw i8 %1629 to i1
  br i1 %1630, label %1631, label %1635

1631:                                             ; preds = %1625
  %1632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1633 = call i32 @fileno(ptr noundef %1632) #12
  %1634 = call i32 @isatty(i32 noundef %1633) #12
  %.not2118 = icmp eq i32 %1634, 0
  br i1 %.not2118, label %1635, label %1636

1635:                                             ; preds = %1631, %1625
  br label %1636

1636:                                             ; preds = %1631, %1635
  %.str.26.sink2729 = phi ptr [ @.str.26, %1635 ], [ @.str.23, %1631 ]
  store i32 %1626, ptr %1317, align 4, !tbaa !5
  %1637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1638 = load i32, ptr @test_count, align 4, !tbaa !5
  %1639 = load i32, ptr %1263, align 4, !tbaa !5
  %1640 = call ptr @s2n_strerror(i32 noundef %1639, ptr noundef nonnull @.str.25) #12
  %1641 = load i32, ptr %1263, align 4, !tbaa !5
  %1642 = call ptr @s2n_strerror_debug(i32 noundef %1641, ptr noundef nonnull @.str.25) #12
  %1643 = load i32, ptr %1317, align 4, !tbaa !5
  %1644 = call ptr @strerror(i32 noundef %1643) #12
  %1645 = load i32, ptr %1317, align 4, !tbaa !5
  %1646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1637, ptr noundef nonnull %.str.26.sink2729, i32 noundef %1638, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.22, i32 noundef 256, ptr noundef %1640, ptr noundef %1642, ptr noundef %1644, i32 noundef %1645) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1647:                                             ; preds = %1620
  %1648 = load i32, ptr @test_count, align 4, !tbaa !5
  %1649 = add nsw i32 %1648, 1
  store i32 %1649, ptr @test_count, align 4, !tbaa !5
  %1650 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %1623) #12
  %1651 = call zeroext i1 @s2n_result_is_ok(i32 %1650)
  br i1 %1651, label %1674, label %1652

1652:                                             ; preds = %1647
  %1653 = load i32, ptr %1317, align 4, !tbaa !5
  %1654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1655 = call i32 @s2n_print_stacktrace(ptr noundef %1654) #12
  %1656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1657 = trunc nuw i8 %1656 to i1
  br i1 %1657, label %1658, label %1662

1658:                                             ; preds = %1652
  %1659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1660 = call i32 @fileno(ptr noundef %1659) #12
  %1661 = call i32 @isatty(i32 noundef %1660) #12
  %.not1631 = icmp eq i32 %1661, 0
  br i1 %.not1631, label %1662, label %1663

1662:                                             ; preds = %1658, %1652
  br label %1663

1663:                                             ; preds = %1658, %1662
  %.str.26.sink2738 = phi ptr [ @.str.26, %1662 ], [ @.str.23, %1658 ]
  store i32 %1653, ptr %1317, align 4, !tbaa !5
  %1664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1665 = load i32, ptr @test_count, align 4, !tbaa !5
  %1666 = load i32, ptr %1263, align 4, !tbaa !5
  %1667 = call ptr @s2n_strerror(i32 noundef %1666, ptr noundef nonnull @.str.25) #12
  %1668 = load i32, ptr %1263, align 4, !tbaa !5
  %1669 = call ptr @s2n_strerror_debug(i32 noundef %1668, ptr noundef nonnull @.str.25) #12
  %1670 = load i32, ptr %1317, align 4, !tbaa !5
  %1671 = call ptr @strerror(i32 noundef %1670) #12
  %1672 = load i32, ptr %1317, align 4, !tbaa !5
  %1673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1664, ptr noundef nonnull %.str.26.sink2738, i32 noundef %1665, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 258, ptr noundef %1667, ptr noundef %1669, ptr noundef %1671, i32 noundef %1672) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1674:                                             ; preds = %1647
  %1675 = load i32, ptr @test_count, align 4, !tbaa !5
  %1676 = add nsw i32 %1675, 1
  store i32 %1676, ptr @test_count, align 4, !tbaa !5
  %1677 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1596, ptr noundef nonnull %1623) #12
  %1678 = icmp eq i32 %1677, -1
  br i1 %1678, label %1679, label %1701

1679:                                             ; preds = %1674
  %1680 = load i32, ptr %1317, align 4, !tbaa !5
  %1681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1682 = call i32 @s2n_print_stacktrace(ptr noundef %1681) #12
  %1683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1684 = trunc nuw i8 %1683 to i1
  br i1 %1684, label %1685, label %1689

1685:                                             ; preds = %1679
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = call i32 @fileno(ptr noundef %1686) #12
  %1688 = call i32 @isatty(i32 noundef %1687) #12
  %.not2117 = icmp eq i32 %1688, 0
  br i1 %.not2117, label %1689, label %1690

1689:                                             ; preds = %1685, %1679
  br label %1690

1690:                                             ; preds = %1685, %1689
  %.str.26.sink2747 = phi ptr [ @.str.26, %1689 ], [ @.str.23, %1685 ]
  store i32 %1680, ptr %1317, align 4, !tbaa !5
  %1691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1692 = load i32, ptr @test_count, align 4, !tbaa !5
  %1693 = load i32, ptr %1263, align 4, !tbaa !5
  %1694 = call ptr @s2n_strerror(i32 noundef %1693, ptr noundef nonnull @.str.25) #12
  %1695 = load i32, ptr %1263, align 4, !tbaa !5
  %1696 = call ptr @s2n_strerror_debug(i32 noundef %1695, ptr noundef nonnull @.str.25) #12
  %1697 = load i32, ptr %1317, align 4, !tbaa !5
  %1698 = call ptr @strerror(i32 noundef %1697) #12
  %1699 = load i32, ptr %1317, align 4, !tbaa !5
  %1700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1691, ptr noundef nonnull %.str.26.sink2747, i32 noundef %1692, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 259, ptr noundef %1694, ptr noundef %1696, ptr noundef %1698, i32 noundef %1699) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1701:                                             ; preds = %1674
  %1702 = getelementptr inbounds i8, ptr %1596, i64 220
  store i8 34, ptr %1702, align 4, !tbaa !17
  %1703 = getelementptr inbounds i8, ptr %1596, i64 232
  %1704 = load ptr, ptr %1703, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %1704, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %17) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %17, i8 0, i64 40, i1 false)
  %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_stuffer_growable_alloc(ptr noundef nonnull %17, i32 noundef 0) #12
  %1708 = icmp eq i32 %1707, -1
  br i1 %1708, label %1709, label %1731

1709:                                             ; preds = %1701
  %1710 = load i32, ptr %1317, align 4, !tbaa !5
  %1711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1712 = call i32 @s2n_print_stacktrace(ptr noundef %1711) #12
  %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) #12
  %1718 = call i32 @isatty(i32 noundef %1717) #12
  %.not2116 = icmp eq i32 %1718, 0
  br i1 %.not2116, label %1719, label %1720

1719:                                             ; preds = %1715, %1709
  br label %1720

1720:                                             ; preds = %1715, %1719
  %.str.26.sink2756 = phi ptr [ @.str.26, %1719 ], [ @.str.23, %1715 ]
  store i32 %1710, ptr %1317, 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 %1263, align 4, !tbaa !5
  %1724 = call ptr @s2n_strerror(i32 noundef %1723, ptr noundef nonnull @.str.25) #12
  %1725 = load i32, ptr %1263, align 4, !tbaa !5
  %1726 = call ptr @s2n_strerror_debug(i32 noundef %1725, ptr noundef nonnull @.str.25) #12
  %1727 = load i32, ptr %1317, align 4, !tbaa !5
  %1728 = call ptr @strerror(i32 noundef %1727) #12
  %1729 = load i32, ptr %1317, align 4, !tbaa !5
  %1730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1721, ptr noundef nonnull %.str.26.sink2756, i32 noundef %1722, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.22, i32 noundef 266, ptr noundef %1724, ptr noundef %1726, ptr noundef %1728, i32 noundef %1729) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1731:                                             ; preds = %1701
  %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 = call i32 @s2n_tls13_server_nst_write(ptr noundef nonnull %1596, ptr noundef nonnull %17)
  %1735 = call zeroext i1 @s2n_result_is_ok(i32 %1734)
  br i1 %1735, label %1758, label %1736

1736:                                             ; preds = %1731
  %1737 = load i32, ptr %1317, align 4, !tbaa !5
  %1738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1739 = call i32 @s2n_print_stacktrace(ptr noundef %1738) #12
  %1740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1741 = trunc nuw i8 %1740 to i1
  br i1 %1741, label %1742, label %1746

1742:                                             ; preds = %1736
  %1743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1744 = call i32 @fileno(ptr noundef %1743) #12
  %1745 = call i32 @isatty(i32 noundef %1744) #12
  %.not1632 = icmp eq i32 %1745, 0
  br i1 %.not1632, label %1746, label %1747

1746:                                             ; preds = %1742, %1736
  br label %1747

1747:                                             ; preds = %1742, %1746
  %.str.26.sink2765 = phi ptr [ @.str.26, %1746 ], [ @.str.23, %1742 ]
  store i32 %1737, ptr %1317, align 4, !tbaa !5
  %1748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1749 = load i32, ptr @test_count, align 4, !tbaa !5
  %1750 = load i32, ptr %1263, align 4, !tbaa !5
  %1751 = call ptr @s2n_strerror(i32 noundef %1750, ptr noundef nonnull @.str.25) #12
  %1752 = load i32, ptr %1263, align 4, !tbaa !5
  %1753 = call ptr @s2n_strerror_debug(i32 noundef %1752, ptr noundef nonnull @.str.25) #12
  %1754 = load i32, ptr %1317, align 4, !tbaa !5
  %1755 = call ptr @strerror(i32 noundef %1754) #12
  %1756 = load i32, ptr %1317, align 4, !tbaa !5
  %1757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1748, ptr noundef nonnull %.str.26.sink2765, i32 noundef %1749, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.22, i32 noundef 268, ptr noundef %1751, ptr noundef %1753, ptr noundef %1755, i32 noundef %1756) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1758:                                             ; preds = %1731
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #12
  store i32 0, ptr %18, align 4, !tbaa !5
  %1759 = load i32, ptr @test_count, align 4, !tbaa !5
  %1760 = add nsw i32 %1759, 1
  store i32 %1760, ptr @test_count, align 4, !tbaa !5
  %1761 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %17, i32 noundef 8) #12
  %1762 = icmp eq i32 %1761, -1
  br i1 %1762, label %1763, label %1785

1763:                                             ; preds = %1758
  %1764 = load i32, ptr %1317, align 4, !tbaa !5
  %1765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1766 = call i32 @s2n_print_stacktrace(ptr noundef %1765) #12
  %1767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1768 = trunc nuw i8 %1767 to i1
  br i1 %1768, label %1769, label %1773

1769:                                             ; preds = %1763
  %1770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1771 = call i32 @fileno(ptr noundef %1770) #12
  %1772 = call i32 @isatty(i32 noundef %1771) #12
  %.not2115 = icmp eq i32 %1772, 0
  br i1 %.not2115, label %1773, label %1774

1773:                                             ; preds = %1769, %1763
  br label %1774

1774:                                             ; preds = %1769, %1773
  %.str.26.sink2774 = phi ptr [ @.str.26, %1773 ], [ @.str.23, %1769 ]
  store i32 %1764, ptr %1317, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = load i32, ptr @test_count, align 4, !tbaa !5
  %1777 = load i32, ptr %1263, align 4, !tbaa !5
  %1778 = call ptr @s2n_strerror(i32 noundef %1777, ptr noundef nonnull @.str.25) #12
  %1779 = load i32, ptr %1263, align 4, !tbaa !5
  %1780 = call ptr @s2n_strerror_debug(i32 noundef %1779, ptr noundef nonnull @.str.25) #12
  %1781 = load i32, ptr %1317, align 4, !tbaa !5
  %1782 = call ptr @strerror(i32 noundef %1781) #12
  %1783 = load i32, ptr %1317, align 4, !tbaa !5
  %1784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1775, ptr noundef nonnull %.str.26.sink2774, i32 noundef %1776, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.22, i32 noundef 271, ptr noundef %1778, ptr noundef %1780, ptr noundef %1782, i32 noundef %1783) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1785:                                             ; preds = %1758
  %1786 = load i32, ptr @test_count, align 4, !tbaa !5
  %1787 = add nsw i32 %1786, 1
  store i32 %1787, ptr @test_count, align 4, !tbaa !5
  %1788 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %17, ptr noundef nonnull %18) #12
  %1789 = icmp eq i32 %1788, -1
  br i1 %1789, label %1790, label %1812

1790:                                             ; preds = %1785
  %1791 = load i32, ptr %1317, align 4, !tbaa !5
  %1792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1793 = call i32 @s2n_print_stacktrace(ptr noundef %1792) #12
  %1794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1795 = trunc nuw i8 %1794 to i1
  br i1 %1795, label %1796, label %1800

1796:                                             ; preds = %1790
  %1797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1798 = call i32 @fileno(ptr noundef %1797) #12
  %1799 = call i32 @isatty(i32 noundef %1798) #12
  %.not2114 = icmp eq i32 %1799, 0
  br i1 %.not2114, label %1800, label %1801

1800:                                             ; preds = %1796, %1790
  br label %1801

1801:                                             ; preds = %1796, %1800
  %.str.26.sink2783 = phi ptr [ @.str.26, %1800 ], [ @.str.23, %1796 ]
  store i32 %1791, ptr %1317, align 4, !tbaa !5
  %1802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1803 = load i32, ptr @test_count, align 4, !tbaa !5
  %1804 = load i32, ptr %1263, align 4, !tbaa !5
  %1805 = call ptr @s2n_strerror(i32 noundef %1804, ptr noundef nonnull @.str.25) #12
  %1806 = load i32, ptr %1263, align 4, !tbaa !5
  %1807 = call ptr @s2n_strerror_debug(i32 noundef %1806, ptr noundef nonnull @.str.25) #12
  %1808 = load i32, ptr %1317, align 4, !tbaa !5
  %1809 = call ptr @strerror(i32 noundef %1808) #12
  %1810 = load i32, ptr %1317, align 4, !tbaa !5
  %1811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1802, ptr noundef nonnull %.str.26.sink2783, i32 noundef %1803, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.22, i32 noundef 272, ptr noundef %1805, ptr noundef %1807, ptr noundef %1809, i32 noundef %1810) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1812:                                             ; preds = %1785
  %1813 = load i32, ptr @test_count, align 4, !tbaa !5
  %1814 = add nsw i32 %1813, 1
  store i32 %1814, ptr @test_count, align 4, !tbaa !5
  %1815 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %17) #12
  %1816 = icmp eq i32 %1815, -1
  br i1 %1816, label %1817, label %1839

1817:                                             ; preds = %1812
  %1818 = load i32, ptr %1317, align 4, !tbaa !5
  %1819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1820 = call i32 @s2n_print_stacktrace(ptr noundef %1819) #12
  %1821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1822 = trunc nuw i8 %1821 to i1
  br i1 %1822, label %1823, label %1827

1823:                                             ; preds = %1817
  %1824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1825 = call i32 @fileno(ptr noundef %1824) #12
  %1826 = call i32 @isatty(i32 noundef %1825) #12
  %.not2113 = icmp eq i32 %1826, 0
  br i1 %.not2113, label %1827, label %1828

1827:                                             ; preds = %1823, %1817
  br label %1828

1828:                                             ; preds = %1823, %1827
  %.str.26.sink2792 = phi ptr [ @.str.26, %1827 ], [ @.str.23, %1823 ]
  store i32 %1818, ptr %1317, align 4, !tbaa !5
  %1829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1830 = load i32, ptr @test_count, align 4, !tbaa !5
  %1831 = load i32, ptr %1263, align 4, !tbaa !5
  %1832 = call ptr @s2n_strerror(i32 noundef %1831, ptr noundef nonnull @.str.25) #12
  %1833 = load i32, ptr %1263, align 4, !tbaa !5
  %1834 = call ptr @s2n_strerror_debug(i32 noundef %1833, ptr noundef nonnull @.str.25) #12
  %1835 = load i32, ptr %1317, align 4, !tbaa !5
  %1836 = call ptr @strerror(i32 noundef %1835) #12
  %1837 = load i32, ptr %1317, align 4, !tbaa !5
  %1838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1829, ptr noundef nonnull %.str.26.sink2792, i32 noundef %1830, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.22, i32 noundef 274, ptr noundef %1832, ptr noundef %1834, ptr noundef %1836, i32 noundef %1837) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1839:                                             ; preds = %1812
  %1840 = load i32, ptr @test_count, align 4, !tbaa !5
  %1841 = add nsw i32 %1840, 1
  store i32 %1841, ptr @test_count, align 4, !tbaa !5
  %1842 = call i32 @s2n_tls13_server_nst_write(ptr noundef nonnull %1596, ptr noundef nonnull %17)
  %1843 = call zeroext i1 @s2n_result_is_ok(i32 %1842)
  br i1 %1843, label %1866, label %1844

1844:                                             ; preds = %1839
  %1845 = load i32, ptr %1317, align 4, !tbaa !5
  %1846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1847 = call i32 @s2n_print_stacktrace(ptr noundef %1846) #12
  %1848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1849 = trunc nuw i8 %1848 to i1
  br i1 %1849, label %1850, label %1854

1850:                                             ; preds = %1844
  %1851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1852 = call i32 @fileno(ptr noundef %1851) #12
  %1853 = call i32 @isatty(i32 noundef %1852) #12
  %.not1633 = icmp eq i32 %1853, 0
  br i1 %.not1633, label %1854, label %1855

1854:                                             ; preds = %1850, %1844
  br label %1855

1855:                                             ; preds = %1850, %1854
  %.str.26.sink2801 = phi ptr [ @.str.26, %1854 ], [ @.str.23, %1850 ]
  store i32 %1845, ptr %1317, align 4, !tbaa !5
  %1856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1857 = load i32, ptr @test_count, align 4, !tbaa !5
  %1858 = load i32, ptr %1263, align 4, !tbaa !5
  %1859 = call ptr @s2n_strerror(i32 noundef %1858, ptr noundef nonnull @.str.25) #12
  %1860 = load i32, ptr %1263, align 4, !tbaa !5
  %1861 = call ptr @s2n_strerror_debug(i32 noundef %1860, ptr noundef nonnull @.str.25) #12
  %1862 = load i32, ptr %1317, align 4, !tbaa !5
  %1863 = call ptr @strerror(i32 noundef %1862) #12
  %1864 = load i32, ptr %1317, align 4, !tbaa !5
  %1865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1856, ptr noundef nonnull %.str.26.sink2801, i32 noundef %1857, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.22, i32 noundef 275, ptr noundef %1859, ptr noundef %1861, ptr noundef %1863, i32 noundef %1864) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1866:                                             ; preds = %1839
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #12
  store i32 0, ptr %19, align 4, !tbaa !5
  %1867 = load i32, ptr @test_count, align 4, !tbaa !5
  %1868 = add nsw i32 %1867, 1
  store i32 %1868, ptr @test_count, align 4, !tbaa !5
  %1869 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %17, i32 noundef 8) #12
  %1870 = icmp eq i32 %1869, -1
  br i1 %1870, label %1871, label %1893

1871:                                             ; preds = %1866
  %1872 = load i32, ptr %1317, align 4, !tbaa !5
  %1873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1874 = call i32 @s2n_print_stacktrace(ptr noundef %1873) #12
  %1875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1876 = trunc nuw i8 %1875 to i1
  br i1 %1876, label %1877, label %1881

1877:                                             ; preds = %1871
  %1878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1879 = call i32 @fileno(ptr noundef %1878) #12
  %1880 = call i32 @isatty(i32 noundef %1879) #12
  %.not2112 = icmp eq i32 %1880, 0
  br i1 %.not2112, label %1881, label %1882

1881:                                             ; preds = %1877, %1871
  br label %1882

1882:                                             ; preds = %1877, %1881
  %.str.26.sink2810 = phi ptr [ @.str.26, %1881 ], [ @.str.23, %1877 ]
  store i32 %1872, ptr %1317, align 4, !tbaa !5
  %1883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1884 = load i32, ptr @test_count, align 4, !tbaa !5
  %1885 = load i32, ptr %1263, align 4, !tbaa !5
  %1886 = call ptr @s2n_strerror(i32 noundef %1885, ptr noundef nonnull @.str.25) #12
  %1887 = load i32, ptr %1263, align 4, !tbaa !5
  %1888 = call ptr @s2n_strerror_debug(i32 noundef %1887, ptr noundef nonnull @.str.25) #12
  %1889 = load i32, ptr %1317, align 4, !tbaa !5
  %1890 = call ptr @strerror(i32 noundef %1889) #12
  %1891 = load i32, ptr %1317, align 4, !tbaa !5
  %1892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1883, ptr noundef nonnull %.str.26.sink2810, i32 noundef %1884, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.22, i32 noundef 278, ptr noundef %1886, ptr noundef %1888, ptr noundef %1890, i32 noundef %1891) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1893:                                             ; preds = %1866
  %1894 = load i32, ptr @test_count, align 4, !tbaa !5
  %1895 = add nsw i32 %1894, 1
  store i32 %1895, ptr @test_count, align 4, !tbaa !5
  %1896 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %17, ptr noundef nonnull %19) #12
  %1897 = icmp eq i32 %1896, -1
  br i1 %1897, label %1898, label %1920

1898:                                             ; preds = %1893
  %1899 = load i32, ptr %1317, align 4, !tbaa !5
  %1900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1901 = call i32 @s2n_print_stacktrace(ptr noundef %1900) #12
  %1902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1903 = trunc nuw i8 %1902 to i1
  br i1 %1903, label %1904, label %1908

1904:                                             ; preds = %1898
  %1905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1906 = call i32 @fileno(ptr noundef %1905) #12
  %1907 = call i32 @isatty(i32 noundef %1906) #12
  %.not2111 = icmp eq i32 %1907, 0
  br i1 %.not2111, label %1908, label %1909

1908:                                             ; preds = %1904, %1898
  br label %1909

1909:                                             ; preds = %1904, %1908
  %.str.26.sink2819 = phi ptr [ @.str.26, %1908 ], [ @.str.23, %1904 ]
  store i32 %1899, ptr %1317, align 4, !tbaa !5
  %1910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1911 = load i32, ptr @test_count, align 4, !tbaa !5
  %1912 = load i32, ptr %1263, align 4, !tbaa !5
  %1913 = call ptr @s2n_strerror(i32 noundef %1912, ptr noundef nonnull @.str.25) #12
  %1914 = load i32, ptr %1263, align 4, !tbaa !5
  %1915 = call ptr @s2n_strerror_debug(i32 noundef %1914, ptr noundef nonnull @.str.25) #12
  %1916 = load i32, ptr %1317, align 4, !tbaa !5
  %1917 = call ptr @strerror(i32 noundef %1916) #12
  %1918 = load i32, ptr %1317, align 4, !tbaa !5
  %1919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1910, ptr noundef nonnull %.str.26.sink2819, i32 noundef %1911, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.22, i32 noundef 279, ptr noundef %1913, ptr noundef %1915, ptr noundef %1917, i32 noundef %1918) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1920:                                             ; preds = %1893
  %1921 = load i32, ptr @test_count, align 4, !tbaa !5
  %1922 = add nsw i32 %1921, 1
  store i32 %1922, ptr @test_count, align 4, !tbaa !5
  %1923 = load i32, ptr %18, align 4, !tbaa !5
  %1924 = load i32, ptr %19, align 4, !tbaa !5
  %1925 = icmp eq i32 %1923, %1924
  br i1 %1925, label %1926, label %1948

1926:                                             ; preds = %1920
  %1927 = load i32, ptr %1317, align 4, !tbaa !5
  %1928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1929 = call i32 @s2n_print_stacktrace(ptr noundef %1928) #12
  %1930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1931 = trunc nuw i8 %1930 to i1
  br i1 %1931, label %1932, label %1936

1932:                                             ; preds = %1926
  %1933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1934 = call i32 @fileno(ptr noundef %1933) #12
  %1935 = call i32 @isatty(i32 noundef %1934) #12
  %.not2110 = icmp eq i32 %1935, 0
  br i1 %.not2110, label %1936, label %1937

1936:                                             ; preds = %1932, %1926
  br label %1937

1937:                                             ; preds = %1932, %1936
  %.str.26.sink2828 = phi ptr [ @.str.26, %1936 ], [ @.str.23, %1932 ]
  store i32 %1927, ptr %1317, align 4, !tbaa !5
  %1938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1939 = load i32, ptr @test_count, align 4, !tbaa !5
  %1940 = load i32, ptr %1263, align 4, !tbaa !5
  %1941 = call ptr @s2n_strerror(i32 noundef %1940, ptr noundef nonnull @.str.25) #12
  %1942 = load i32, ptr %1263, align 4, !tbaa !5
  %1943 = call ptr @s2n_strerror_debug(i32 noundef %1942, ptr noundef nonnull @.str.25) #12
  %1944 = load i32, ptr %1317, align 4, !tbaa !5
  %1945 = call ptr @strerror(i32 noundef %1944) #12
  %1946 = load i32, ptr %1317, align 4, !tbaa !5
  %1947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1938, ptr noundef nonnull %.str.26.sink2828, i32 noundef %1939, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.22, i32 noundef 281, ptr noundef %1941, ptr noundef %1943, ptr noundef %1945, i32 noundef %1946) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1948:                                             ; preds = %1920
  %1949 = add nsw i32 %1921, 2
  store i32 %1949, ptr @test_count, align 4, !tbaa !5
  %1950 = call i32 @s2n_connection_free(ptr noundef nonnull %1596) #12
  %1951 = icmp eq i32 %1950, -1
  br i1 %1951, label %1952, label %1974

1952:                                             ; preds = %1948
  %1953 = load i32, ptr %1317, align 4, !tbaa !5
  %1954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1955 = call i32 @s2n_print_stacktrace(ptr noundef %1954) #12
  %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) #12
  %1961 = call i32 @isatty(i32 noundef %1960) #12
  %.not2109 = icmp eq i32 %1961, 0
  br i1 %.not2109, label %1962, label %1963

1962:                                             ; preds = %1958, %1952
  br label %1963

1963:                                             ; preds = %1958, %1962
  %.str.26.sink2837 = phi ptr [ @.str.26, %1962 ], [ @.str.23, %1958 ]
  store i32 %1953, ptr %1317, 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 %1263, align 4, !tbaa !5
  %1967 = call ptr @s2n_strerror(i32 noundef %1966, ptr noundef nonnull @.str.25) #12
  %1968 = load i32, ptr %1263, align 4, !tbaa !5
  %1969 = call ptr @s2n_strerror_debug(i32 noundef %1968, ptr noundef nonnull @.str.25) #12
  %1970 = load i32, ptr %1317, align 4, !tbaa !5
  %1971 = call ptr @strerror(i32 noundef %1970) #12
  %1972 = load i32, ptr %1317, align 4, !tbaa !5
  %1973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1964, ptr noundef nonnull %.str.26.sink2837, i32 noundef %1965, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 283, ptr noundef %1967, ptr noundef %1969, ptr noundef %1971, i32 noundef %1972) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1974:                                             ; preds = %1948
  %1975 = load i32, ptr @test_count, align 4, !tbaa !5
  %1976 = add nsw i32 %1975, 1
  store i32 %1976, ptr @test_count, align 4, !tbaa !5
  %1977 = call i32 @s2n_stuffer_free(ptr noundef nonnull %17) #12
  %1978 = icmp eq i32 %1977, -1
  br i1 %1978, label %1979, label %2001

1979:                                             ; preds = %1974
  %1980 = load i32, ptr %1317, align 4, !tbaa !5
  %1981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1982 = call i32 @s2n_print_stacktrace(ptr noundef %1981) #12
  %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) #12
  %1988 = call i32 @isatty(i32 noundef %1987) #12
  %.not2108 = icmp eq i32 %1988, 0
  br i1 %.not2108, label %1989, label %1990

1989:                                             ; preds = %1985, %1979
  br label %1990

1990:                                             ; preds = %1985, %1989
  %.str.26.sink2846 = phi ptr [ @.str.26, %1989 ], [ @.str.23, %1985 ]
  store i32 %1980, ptr %1317, 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 %1263, align 4, !tbaa !5
  %1994 = call ptr @s2n_strerror(i32 noundef %1993, ptr noundef nonnull @.str.25) #12
  %1995 = load i32, ptr %1263, align 4, !tbaa !5
  %1996 = call ptr @s2n_strerror_debug(i32 noundef %1995, ptr noundef nonnull @.str.25) #12
  %1997 = load i32, ptr %1317, align 4, !tbaa !5
  %1998 = call ptr @strerror(i32 noundef %1997) #12
  %1999 = load i32, ptr %1317, align 4, !tbaa !5
  %2000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1991, ptr noundef nonnull %.str.26.sink2846, i32 noundef %1992, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.22, i32 noundef 284, ptr noundef %1994, ptr noundef %1996, ptr noundef %1998, i32 noundef %1999) #14
  call void @exit(i32 noundef 1) #15
  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
  %2004 = call i32 @s2n_config_free(ptr noundef nonnull %1623) #12
  %2005 = icmp eq i32 %2004, -1
  br i1 %2005, label %2006, label %2028

2006:                                             ; preds = %2001
  %2007 = load i32, ptr %1317, align 4, !tbaa !5
  %2008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2009 = call i32 @s2n_print_stacktrace(ptr noundef %2008) #12
  %2010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2011 = trunc nuw i8 %2010 to i1
  br i1 %2011, label %2012, label %2016

2012:                                             ; preds = %2006
  %2013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2014 = call i32 @fileno(ptr noundef %2013) #12
  %2015 = call i32 @isatty(i32 noundef %2014) #12
  %.not2107 = icmp eq i32 %2015, 0
  br i1 %.not2107, label %2016, label %2017

2016:                                             ; preds = %2012, %2006
  br label %2017

2017:                                             ; preds = %2012, %2016
  %.str.26.sink2855 = phi ptr [ @.str.26, %2016 ], [ @.str.23, %2012 ]
  store i32 %2007, ptr %1317, align 4, !tbaa !5
  %2018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2019 = load i32, ptr @test_count, align 4, !tbaa !5
  %2020 = load i32, ptr %1263, align 4, !tbaa !5
  %2021 = call ptr @s2n_strerror(i32 noundef %2020, ptr noundef nonnull @.str.25) #12
  %2022 = load i32, ptr %1263, align 4, !tbaa !5
  %2023 = call ptr @s2n_strerror_debug(i32 noundef %2022, ptr noundef nonnull @.str.25) #12
  %2024 = load i32, ptr %1317, align 4, !tbaa !5
  %2025 = call ptr @strerror(i32 noundef %2024) #12
  %2026 = load i32, ptr %1317, align 4, !tbaa !5
  %2027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2018, ptr noundef nonnull %.str.26.sink2855, i32 noundef %2019, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 285, ptr noundef %2021, ptr noundef %2023, ptr noundef %2025, i32 noundef %2026) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2028:                                             ; preds = %2001
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %17) #12
  %2029 = call ptr @s2n_config_new() #12
  %2030 = load i32, ptr @test_count, align 4, !tbaa !5
  %2031 = add nsw i32 %2030, 1
  store i32 %2031, ptr @test_count, align 4, !tbaa !5
  %2032 = icmp eq ptr %2029, null
  br i1 %2032, label %2033, label %2055

2033:                                             ; preds = %2028
  %2034 = load i32, ptr %1317, align 4, !tbaa !5
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = call i32 @s2n_print_stacktrace(ptr noundef %2035) #12
  %2037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2038 = trunc nuw i8 %2037 to i1
  br i1 %2038, label %2039, label %2043

2039:                                             ; preds = %2033
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = call i32 @fileno(ptr noundef %2040) #12
  %2042 = call i32 @isatty(i32 noundef %2041) #12
  %.not2106 = icmp eq i32 %2042, 0
  br i1 %.not2106, label %2043, label %2044

2043:                                             ; preds = %2039, %2033
  br label %2044

2044:                                             ; preds = %2039, %2043
  %.str.26.sink2864 = phi ptr [ @.str.26, %2043 ], [ @.str.23, %2039 ]
  store i32 %2034, ptr %1317, align 4, !tbaa !5
  %2045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2046 = load i32, ptr @test_count, align 4, !tbaa !5
  %2047 = load i32, ptr %1263, align 4, !tbaa !5
  %2048 = call ptr @s2n_strerror(i32 noundef %2047, ptr noundef nonnull @.str.25) #12
  %2049 = load i32, ptr %1263, align 4, !tbaa !5
  %2050 = call ptr @s2n_strerror_debug(i32 noundef %2049, ptr noundef nonnull @.str.25) #12
  %2051 = load i32, ptr %1317, align 4, !tbaa !5
  %2052 = call ptr @strerror(i32 noundef %2051) #12
  %2053 = load i32, ptr %1317, align 4, !tbaa !5
  %2054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2045, ptr noundef nonnull %.str.26.sink2864, i32 noundef %2046, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 299, ptr noundef %2048, ptr noundef %2050, ptr noundef %2052, i32 noundef %2053) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2055:                                             ; preds = %2028
  %2056 = add nsw i32 %2030, 2
  store i32 %2056, ptr @test_count, align 4, !tbaa !5
  %2057 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %2029) #12
  %2058 = call zeroext i1 @s2n_result_is_ok(i32 %2057)
  br i1 %2058, label %2081, label %2059

2059:                                             ; preds = %2055
  %2060 = load i32, ptr %1317, align 4, !tbaa !5
  %2061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2062 = call i32 @s2n_print_stacktrace(ptr noundef %2061) #12
  %2063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2064 = trunc nuw i8 %2063 to i1
  br i1 %2064, label %2065, label %2069

2065:                                             ; preds = %2059
  %2066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2067 = call i32 @fileno(ptr noundef %2066) #12
  %2068 = call i32 @isatty(i32 noundef %2067) #12
  %.not1634 = icmp eq i32 %2068, 0
  br i1 %.not1634, label %2069, label %2070

2069:                                             ; preds = %2065, %2059
  br label %2070

2070:                                             ; preds = %2065, %2069
  %.str.26.sink2873 = phi ptr [ @.str.26, %2069 ], [ @.str.23, %2065 ]
  store i32 %2060, ptr %1317, align 4, !tbaa !5
  %2071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2072 = load i32, ptr @test_count, align 4, !tbaa !5
  %2073 = load i32, ptr %1263, align 4, !tbaa !5
  %2074 = call ptr @s2n_strerror(i32 noundef %2073, ptr noundef nonnull @.str.25) #12
  %2075 = load i32, ptr %1263, align 4, !tbaa !5
  %2076 = call ptr @s2n_strerror_debug(i32 noundef %2075, ptr noundef nonnull @.str.25) #12
  %2077 = load i32, ptr %1317, align 4, !tbaa !5
  %2078 = call ptr @strerror(i32 noundef %2077) #12
  %2079 = load i32, ptr %1317, align 4, !tbaa !5
  %2080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2071, ptr noundef nonnull %.str.26.sink2873, i32 noundef %2072, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 300, ptr noundef %2074, ptr noundef %2076, ptr noundef %2078, i32 noundef %2079) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2081:                                             ; preds = %2055
  %2082 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %2083 = load i32, ptr @test_count, align 4, !tbaa !5
  %2084 = add nsw i32 %2083, 1
  store i32 %2084, ptr @test_count, align 4, !tbaa !5
  %2085 = icmp eq ptr %2082, null
  br i1 %2085, label %2086, label %2108

2086:                                             ; preds = %2081
  %2087 = load i32, ptr %1317, align 4, !tbaa !5
  %2088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2089 = call i32 @s2n_print_stacktrace(ptr noundef %2088) #12
  %2090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2091 = trunc nuw i8 %2090 to i1
  br i1 %2091, label %2092, label %2096

2092:                                             ; preds = %2086
  %2093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2094 = call i32 @fileno(ptr noundef %2093) #12
  %2095 = call i32 @isatty(i32 noundef %2094) #12
  %.not2105 = icmp eq i32 %2095, 0
  br i1 %.not2105, label %2096, label %2097

2096:                                             ; preds = %2092, %2086
  br label %2097

2097:                                             ; preds = %2092, %2096
  %.str.26.sink2882 = phi ptr [ @.str.26, %2096 ], [ @.str.23, %2092 ]
  store i32 %2087, ptr %1317, align 4, !tbaa !5
  %2098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2099 = load i32, ptr @test_count, align 4, !tbaa !5
  %2100 = load i32, ptr %1263, align 4, !tbaa !5
  %2101 = call ptr @s2n_strerror(i32 noundef %2100, ptr noundef nonnull @.str.25) #12
  %2102 = load i32, ptr %1263, align 4, !tbaa !5
  %2103 = call ptr @s2n_strerror_debug(i32 noundef %2102, ptr noundef nonnull @.str.25) #12
  %2104 = load i32, ptr %1317, align 4, !tbaa !5
  %2105 = call ptr @strerror(i32 noundef %2104) #12
  %2106 = load i32, ptr %1317, align 4, !tbaa !5
  %2107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2098, ptr noundef nonnull %.str.26.sink2882, i32 noundef %2099, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 303, ptr noundef %2101, ptr noundef %2103, ptr noundef %2105, i32 noundef %2106) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2108:                                             ; preds = %2081
  %2109 = add nsw i32 %2083, 2
  store i32 %2109, ptr @test_count, align 4, !tbaa !5
  %2110 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2082, ptr noundef nonnull %2029) #12
  %2111 = icmp eq i32 %2110, -1
  br i1 %2111, label %2112, label %2134

2112:                                             ; preds = %2108
  %2113 = load i32, ptr %1317, align 4, !tbaa !5
  %2114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2115 = call i32 @s2n_print_stacktrace(ptr noundef %2114) #12
  %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) #12
  %2121 = call i32 @isatty(i32 noundef %2120) #12
  %.not2104 = icmp eq i32 %2121, 0
  br i1 %.not2104, label %2122, label %2123

2122:                                             ; preds = %2118, %2112
  br label %2123

2123:                                             ; preds = %2118, %2122
  %.str.26.sink2891 = phi ptr [ @.str.26, %2122 ], [ @.str.23, %2118 ]
  store i32 %2113, ptr %1317, 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 %1263, align 4, !tbaa !5
  %2127 = call ptr @s2n_strerror(i32 noundef %2126, ptr noundef nonnull @.str.25) #12
  %2128 = load i32, ptr %1263, align 4, !tbaa !5
  %2129 = call ptr @s2n_strerror_debug(i32 noundef %2128, ptr noundef nonnull @.str.25) #12
  %2130 = load i32, ptr %1317, align 4, !tbaa !5
  %2131 = call ptr @strerror(i32 noundef %2130) #12
  %2132 = load i32, ptr %1317, align 4, !tbaa !5
  %2133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2124, ptr noundef nonnull %.str.26.sink2891, i32 noundef %2125, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 304, ptr noundef %2127, ptr noundef %2129, ptr noundef %2131, i32 noundef %2132) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2134:                                             ; preds = %2108
  %2135 = load i32, ptr @test_count, align 4, !tbaa !5
  %2136 = add nsw i32 %2135, 1
  store i32 %2136, ptr @test_count, align 4, !tbaa !5
  %2137 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %2082, i32 noundef 10) #12
  %2138 = icmp eq i32 %2137, -1
  br i1 %2138, label %2139, label %2161

2139:                                             ; preds = %2134
  %2140 = load i32, ptr %1317, align 4, !tbaa !5
  %2141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2142 = call i32 @s2n_print_stacktrace(ptr noundef %2141) #12
  %2143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2144 = trunc nuw i8 %2143 to i1
  br i1 %2144, label %2145, label %2149

2145:                                             ; preds = %2139
  %2146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2147 = call i32 @fileno(ptr noundef %2146) #12
  %2148 = call i32 @isatty(i32 noundef %2147) #12
  %.not2103 = icmp eq i32 %2148, 0
  br i1 %.not2103, label %2149, label %2150

2149:                                             ; preds = %2145, %2139
  br label %2150

2150:                                             ; preds = %2145, %2149
  %.str.26.sink2900 = phi ptr [ @.str.26, %2149 ], [ @.str.23, %2145 ]
  store i32 %2140, ptr %1317, align 4, !tbaa !5
  %2151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2152 = load i32, ptr @test_count, align 4, !tbaa !5
  %2153 = load i32, ptr %1263, align 4, !tbaa !5
  %2154 = call ptr @s2n_strerror(i32 noundef %2153, ptr noundef nonnull @.str.25) #12
  %2155 = load i32, ptr %1263, align 4, !tbaa !5
  %2156 = call ptr @s2n_strerror_debug(i32 noundef %2155, ptr noundef nonnull @.str.25) #12
  %2157 = load i32, ptr %1317, align 4, !tbaa !5
  %2158 = call ptr @strerror(i32 noundef %2157) #12
  %2159 = load i32, ptr %1317, align 4, !tbaa !5
  %2160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2151, ptr noundef nonnull %.str.26.sink2900, i32 noundef %2152, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.22, i32 noundef 305, ptr noundef %2154, ptr noundef %2156, ptr noundef %2158, i32 noundef %2159) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2161:                                             ; preds = %2134
  %2162 = getelementptr inbounds i8, ptr %2082, i64 220
  store i8 34, ptr %2162, align 4, !tbaa !17
  %2163 = getelementptr inbounds i8, ptr %2082, i64 232
  %2164 = load ptr, ptr %2163, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %2164, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %20) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %20, i8 0, i64 40, i1 false)
  %2165 = load i32, ptr @test_count, align 4, !tbaa !5
  %2166 = add nsw i32 %2165, 1
  store i32 %2166, ptr @test_count, align 4, !tbaa !5
  %2167 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %20, i32 noundef 0) #12
  %2168 = icmp eq i32 %2167, -1
  br i1 %2168, label %2169, label %2191

2169:                                             ; preds = %2161
  %2170 = load i32, ptr %1317, align 4, !tbaa !5
  %2171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2172 = call i32 @s2n_print_stacktrace(ptr noundef %2171) #12
  %2173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2174 = trunc nuw i8 %2173 to i1
  br i1 %2174, label %2175, label %2179

2175:                                             ; preds = %2169
  %2176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2177 = call i32 @fileno(ptr noundef %2176) #12
  %2178 = call i32 @isatty(i32 noundef %2177) #12
  %.not2102 = icmp eq i32 %2178, 0
  br i1 %.not2102, label %2179, label %2180

2179:                                             ; preds = %2175, %2169
  br label %2180

2180:                                             ; preds = %2175, %2179
  %.str.26.sink2909 = phi ptr [ @.str.26, %2179 ], [ @.str.23, %2175 ]
  store i32 %2170, ptr %1317, align 4, !tbaa !5
  %2181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2182 = load i32, ptr @test_count, align 4, !tbaa !5
  %2183 = load i32, ptr %1263, align 4, !tbaa !5
  %2184 = call ptr @s2n_strerror(i32 noundef %2183, ptr noundef nonnull @.str.25) #12
  %2185 = load i32, ptr %1263, align 4, !tbaa !5
  %2186 = call ptr @s2n_strerror_debug(i32 noundef %2185, ptr noundef nonnull @.str.25) #12
  %2187 = load i32, ptr %1317, align 4, !tbaa !5
  %2188 = call ptr @strerror(i32 noundef %2187) #12
  %2189 = load i32, ptr %1317, align 4, !tbaa !5
  %2190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2181, ptr noundef nonnull %.str.26.sink2909, i32 noundef %2182, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.22, i32 noundef 310, ptr noundef %2184, ptr noundef %2186, ptr noundef %2188, i32 noundef %2189) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2191:                                             ; preds = %2161
  %2192 = load i32, ptr @test_count, align 4, !tbaa !5
  %2193 = add nsw i32 %2192, 1
  store i32 %2193, ptr @test_count, align 4, !tbaa !5
  %2194 = call i32 @s2n_tls13_server_nst_write(ptr noundef nonnull %2082, ptr noundef nonnull %20)
  %2195 = call zeroext i1 @s2n_result_is_ok(i32 %2194)
  br i1 %2195, label %2218, label %2196

2196:                                             ; preds = %2191
  %2197 = load i32, ptr %1317, align 4, !tbaa !5
  %2198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2199 = call i32 @s2n_print_stacktrace(ptr noundef %2198) #12
  %2200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2201 = trunc nuw i8 %2200 to i1
  br i1 %2201, label %2202, label %2206

2202:                                             ; preds = %2196
  %2203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2204 = call i32 @fileno(ptr noundef %2203) #12
  %2205 = call i32 @isatty(i32 noundef %2204) #12
  %.not1635 = icmp eq i32 %2205, 0
  br i1 %.not1635, label %2206, label %2207

2206:                                             ; preds = %2202, %2196
  br label %2207

2207:                                             ; preds = %2202, %2206
  %.str.26.sink2918 = phi ptr [ @.str.26, %2206 ], [ @.str.23, %2202 ]
  store i32 %2197, ptr %1317, align 4, !tbaa !5
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = load i32, ptr @test_count, align 4, !tbaa !5
  %2210 = load i32, ptr %1263, align 4, !tbaa !5
  %2211 = call ptr @s2n_strerror(i32 noundef %2210, ptr noundef nonnull @.str.25) #12
  %2212 = load i32, ptr %1263, align 4, !tbaa !5
  %2213 = call ptr @s2n_strerror_debug(i32 noundef %2212, ptr noundef nonnull @.str.25) #12
  %2214 = load i32, ptr %1317, align 4, !tbaa !5
  %2215 = call ptr @strerror(i32 noundef %2214) #12
  %2216 = load i32, ptr %1317, align 4, !tbaa !5
  %2217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2208, ptr noundef nonnull %.str.26.sink2918, i32 noundef %2209, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.22, i32 noundef 312, ptr noundef %2211, ptr noundef %2213, ptr noundef %2215, i32 noundef %2216) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2218:                                             ; preds = %2191
  %2219 = load i32, ptr @test_count, align 4, !tbaa !5
  %2220 = add nsw i32 %2219, 1
  store i32 %2220, ptr @test_count, align 4, !tbaa !5
  %2221 = getelementptr inbounds i8, ptr %20, i64 28
  %2222 = load i32, ptr %2221, align 4, !tbaa !51
  %2223 = getelementptr inbounds i8, ptr %20, i64 24
  %2224 = load i32, ptr %2223, align 8, !tbaa !52
  %2225 = add i32 %2222, -8
  %2226 = sub i32 %2225, %2224
  %2227 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %20, i32 noundef %2226) #12
  %2228 = icmp eq i32 %2227, -1
  br i1 %2228, label %2229, label %2251

2229:                                             ; preds = %2218
  %2230 = load i32, ptr %1317, align 4, !tbaa !5
  %2231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2232 = call i32 @s2n_print_stacktrace(ptr noundef %2231) #12
  %2233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2234 = trunc nuw i8 %2233 to i1
  br i1 %2234, label %2235, label %2239

2235:                                             ; preds = %2229
  %2236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2237 = call i32 @fileno(ptr noundef %2236) #12
  %2238 = call i32 @isatty(i32 noundef %2237) #12
  %.not2101 = icmp eq i32 %2238, 0
  br i1 %.not2101, label %2239, label %2240

2239:                                             ; preds = %2235, %2229
  br label %2240

2240:                                             ; preds = %2235, %2239
  %.str.26.sink2927 = phi ptr [ @.str.26, %2239 ], [ @.str.23, %2235 ]
  store i32 %2230, ptr %1317, align 4, !tbaa !5
  %2241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2242 = load i32, ptr @test_count, align 4, !tbaa !5
  %2243 = load i32, ptr %1263, align 4, !tbaa !5
  %2244 = call ptr @s2n_strerror(i32 noundef %2243, ptr noundef nonnull @.str.25) #12
  %2245 = load i32, ptr %1263, align 4, !tbaa !5
  %2246 = call ptr @s2n_strerror_debug(i32 noundef %2245, ptr noundef nonnull @.str.25) #12
  %2247 = load i32, ptr %1317, align 4, !tbaa !5
  %2248 = call ptr @strerror(i32 noundef %2247) #12
  %2249 = load i32, ptr %1317, align 4, !tbaa !5
  %2250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2241, ptr noundef nonnull %.str.26.sink2927, i32 noundef %2242, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.22, i32 noundef 314, ptr noundef %2244, ptr noundef %2246, ptr noundef %2248, i32 noundef %2249) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2251:                                             ; preds = %2218
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %21) #12
  store i16 0, ptr %21, align 2, !tbaa !54
  %2252 = load i32, ptr @test_count, align 4, !tbaa !5
  %2253 = add nsw i32 %2252, 1
  store i32 %2253, ptr @test_count, align 4, !tbaa !5
  %2254 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %20, ptr noundef nonnull %21) #12
  %2255 = icmp eq i32 %2254, -1
  br i1 %2255, label %2256, label %2278

2256:                                             ; preds = %2251
  %2257 = load i32, ptr %1317, align 4, !tbaa !5
  %2258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2259 = call i32 @s2n_print_stacktrace(ptr noundef %2258) #12
  %2260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2261 = trunc nuw i8 %2260 to i1
  br i1 %2261, label %2262, label %2266

2262:                                             ; preds = %2256
  %2263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2264 = call i32 @fileno(ptr noundef %2263) #12
  %2265 = call i32 @isatty(i32 noundef %2264) #12
  %.not2100 = icmp eq i32 %2265, 0
  br i1 %.not2100, label %2266, label %2267

2266:                                             ; preds = %2262, %2256
  br label %2267

2267:                                             ; preds = %2262, %2266
  %.str.26.sink2936 = phi ptr [ @.str.26, %2266 ], [ @.str.23, %2262 ]
  store i32 %2257, ptr %1317, align 4, !tbaa !5
  %2268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2269 = load i32, ptr @test_count, align 4, !tbaa !5
  %2270 = load i32, ptr %1263, align 4, !tbaa !5
  %2271 = call ptr @s2n_strerror(i32 noundef %2270, ptr noundef nonnull @.str.25) #12
  %2272 = load i32, ptr %1263, align 4, !tbaa !5
  %2273 = call ptr @s2n_strerror_debug(i32 noundef %2272, ptr noundef nonnull @.str.25) #12
  %2274 = load i32, ptr %1317, align 4, !tbaa !5
  %2275 = call ptr @strerror(i32 noundef %2274) #12
  %2276 = load i32, ptr %1317, align 4, !tbaa !5
  %2277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2268, ptr noundef nonnull %.str.26.sink2936, i32 noundef %2269, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.22, i32 noundef 317, ptr noundef %2271, ptr noundef %2273, ptr noundef %2275, i32 noundef %2276) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2278:                                             ; preds = %2251
  %2279 = load i32, ptr @test_count, align 4, !tbaa !5
  %2280 = add nsw i32 %2279, 1
  store i32 %2280, ptr @test_count, align 4, !tbaa !5
  %2281 = load i16, ptr %21, align 2, !tbaa !54
  %2282 = icmp eq i16 %2281, 42
  br i1 %2282, label %2305, label %2283

2283:                                             ; preds = %2278
  %2284 = load i32, ptr %1317, align 4, !tbaa !5
  %2285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2286 = call i32 @s2n_print_stacktrace(ptr noundef %2285) #12
  %2287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2288 = trunc nuw i8 %2287 to i1
  br i1 %2288, label %2289, label %2293

2289:                                             ; preds = %2283
  %2290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2291 = call i32 @fileno(ptr noundef %2290) #12
  %2292 = call i32 @isatty(i32 noundef %2291) #12
  %.not1636 = icmp eq i32 %2292, 0
  br i1 %.not1636, label %2293, label %2294

2293:                                             ; preds = %2289, %2283
  br label %2294

2294:                                             ; preds = %2289, %2293
  %.str.26.sink2945 = phi ptr [ @.str.26, %2293 ], [ @.str.23, %2289 ]
  store i32 %2284, ptr %1317, align 4, !tbaa !5
  %2295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2296 = load i32, ptr @test_count, align 4, !tbaa !5
  %2297 = load i32, ptr %1263, align 4, !tbaa !5
  %2298 = call ptr @s2n_strerror(i32 noundef %2297, ptr noundef nonnull @.str.25) #12
  %2299 = load i32, ptr %1263, align 4, !tbaa !5
  %2300 = call ptr @s2n_strerror_debug(i32 noundef %2299, ptr noundef nonnull @.str.25) #12
  %2301 = load i32, ptr %1317, align 4, !tbaa !5
  %2302 = call ptr @strerror(i32 noundef %2301) #12
  %2303 = load i32, ptr %1317, align 4, !tbaa !5
  %2304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2295, ptr noundef nonnull %.str.26.sink2945, i32 noundef %2296, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.22, i32 noundef 318, ptr noundef %2298, ptr noundef %2300, ptr noundef %2302, i32 noundef %2303) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2305:                                             ; preds = %2278
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %22) #12
  store i16 0, ptr %22, align 2, !tbaa !54
  %2306 = add nsw i32 %2279, 2
  store i32 %2306, ptr @test_count, align 4, !tbaa !5
  %2307 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %20, ptr noundef nonnull %22) #12
  %2308 = icmp eq i32 %2307, -1
  br i1 %2308, label %2309, label %2331

2309:                                             ; preds = %2305
  %2310 = load i32, ptr %1317, align 4, !tbaa !5
  %2311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2312 = call i32 @s2n_print_stacktrace(ptr noundef %2311) #12
  %2313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2314 = trunc nuw i8 %2313 to i1
  br i1 %2314, label %2315, label %2319

2315:                                             ; preds = %2309
  %2316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2317 = call i32 @fileno(ptr noundef %2316) #12
  %2318 = call i32 @isatty(i32 noundef %2317) #12
  %.not2099 = icmp eq i32 %2318, 0
  br i1 %.not2099, label %2319, label %2320

2319:                                             ; preds = %2315, %2309
  br label %2320

2320:                                             ; preds = %2315, %2319
  %.str.26.sink2954 = phi ptr [ @.str.26, %2319 ], [ @.str.23, %2315 ]
  store i32 %2310, ptr %1317, align 4, !tbaa !5
  %2321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2322 = load i32, ptr @test_count, align 4, !tbaa !5
  %2323 = load i32, ptr %1263, align 4, !tbaa !5
  %2324 = call ptr @s2n_strerror(i32 noundef %2323, ptr noundef nonnull @.str.25) #12
  %2325 = load i32, ptr %1263, align 4, !tbaa !5
  %2326 = call ptr @s2n_strerror_debug(i32 noundef %2325, ptr noundef nonnull @.str.25) #12
  %2327 = load i32, ptr %1317, align 4, !tbaa !5
  %2328 = call ptr @strerror(i32 noundef %2327) #12
  %2329 = load i32, ptr %1317, align 4, !tbaa !5
  %2330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2321, ptr noundef nonnull %.str.26.sink2954, i32 noundef %2322, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.22, i32 noundef 321, ptr noundef %2324, ptr noundef %2326, ptr noundef %2328, i32 noundef %2329) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2331:                                             ; preds = %2305
  %2332 = load i32, ptr @test_count, align 4, !tbaa !5
  %2333 = add nsw i32 %2332, 1
  store i32 %2333, ptr @test_count, align 4, !tbaa !5
  %2334 = load i16, ptr %22, align 2, !tbaa !54
  %2335 = icmp eq i16 %2334, 4
  br i1 %2335, label %2358, label %2336

2336:                                             ; preds = %2331
  %2337 = load i32, ptr %1317, align 4, !tbaa !5
  %2338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2339 = call i32 @s2n_print_stacktrace(ptr noundef %2338) #12
  %2340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2341 = trunc nuw i8 %2340 to i1
  br i1 %2341, label %2342, label %2346

2342:                                             ; preds = %2336
  %2343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2344 = call i32 @fileno(ptr noundef %2343) #12
  %2345 = call i32 @isatty(i32 noundef %2344) #12
  %.not1637 = icmp eq i32 %2345, 0
  br i1 %.not1637, label %2346, label %2347

2346:                                             ; preds = %2342, %2336
  br label %2347

2347:                                             ; preds = %2342, %2346
  %.str.26.sink2963 = phi ptr [ @.str.26, %2346 ], [ @.str.23, %2342 ]
  store i32 %2337, ptr %1317, align 4, !tbaa !5
  %2348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2349 = load i32, ptr @test_count, align 4, !tbaa !5
  %2350 = load i32, ptr %1263, align 4, !tbaa !5
  %2351 = call ptr @s2n_strerror(i32 noundef %2350, ptr noundef nonnull @.str.25) #12
  %2352 = load i32, ptr %1263, align 4, !tbaa !5
  %2353 = call ptr @s2n_strerror_debug(i32 noundef %2352, ptr noundef nonnull @.str.25) #12
  %2354 = load i32, ptr %1317, align 4, !tbaa !5
  %2355 = call ptr @strerror(i32 noundef %2354) #12
  %2356 = load i32, ptr %1317, align 4, !tbaa !5
  %2357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2348, ptr noundef nonnull %.str.26.sink2963, i32 noundef %2349, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.22, i32 noundef 322, ptr noundef %2351, ptr noundef %2353, ptr noundef %2355, i32 noundef %2356) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2358:                                             ; preds = %2331
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #12
  store i32 0, ptr %23, align 4, !tbaa !5
  %2359 = add nsw i32 %2332, 2
  store i32 %2359, ptr @test_count, align 4, !tbaa !5
  %2360 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %20, ptr noundef nonnull %23) #12
  %2361 = icmp eq i32 %2360, -1
  br i1 %2361, label %2362, label %2384

2362:                                             ; preds = %2358
  %2363 = load i32, ptr %1317, align 4, !tbaa !5
  %2364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2365 = call i32 @s2n_print_stacktrace(ptr noundef %2364) #12
  %2366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2367 = trunc nuw i8 %2366 to i1
  br i1 %2367, label %2368, label %2372

2368:                                             ; preds = %2362
  %2369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2370 = call i32 @fileno(ptr noundef %2369) #12
  %2371 = call i32 @isatty(i32 noundef %2370) #12
  %.not2098 = icmp eq i32 %2371, 0
  br i1 %.not2098, label %2372, label %2373

2372:                                             ; preds = %2368, %2362
  br label %2373

2373:                                             ; preds = %2368, %2372
  %.str.26.sink2972 = phi ptr [ @.str.26, %2372 ], [ @.str.23, %2368 ]
  store i32 %2363, ptr %1317, align 4, !tbaa !5
  %2374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2375 = load i32, ptr @test_count, align 4, !tbaa !5
  %2376 = load i32, ptr %1263, align 4, !tbaa !5
  %2377 = call ptr @s2n_strerror(i32 noundef %2376, ptr noundef nonnull @.str.25) #12
  %2378 = load i32, ptr %1263, align 4, !tbaa !5
  %2379 = call ptr @s2n_strerror_debug(i32 noundef %2378, ptr noundef nonnull @.str.25) #12
  %2380 = load i32, ptr %1317, align 4, !tbaa !5
  %2381 = call ptr @strerror(i32 noundef %2380) #12
  %2382 = load i32, ptr %1317, align 4, !tbaa !5
  %2383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2374, ptr noundef nonnull %.str.26.sink2972, i32 noundef %2375, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.22, i32 noundef 325, ptr noundef %2377, ptr noundef %2379, ptr noundef %2381, i32 noundef %2382) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2384:                                             ; preds = %2358
  %2385 = load i32, ptr @test_count, align 4, !tbaa !5
  %2386 = add nsw i32 %2385, 1
  store i32 %2386, ptr @test_count, align 4, !tbaa !5
  %2387 = load i32, ptr %23, align 4, !tbaa !5
  %2388 = icmp eq i32 %2387, 10
  br i1 %2388, label %2411, label %2389

2389:                                             ; preds = %2384
  %2390 = load i32, ptr %1317, align 4, !tbaa !5
  %2391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2392 = call i32 @s2n_print_stacktrace(ptr noundef %2391) #12
  %2393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2394 = trunc nuw i8 %2393 to i1
  br i1 %2394, label %2395, label %2399

2395:                                             ; preds = %2389
  %2396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2397 = call i32 @fileno(ptr noundef %2396) #12
  %2398 = call i32 @isatty(i32 noundef %2397) #12
  %.not1638 = icmp eq i32 %2398, 0
  br i1 %.not1638, label %2399, label %2400

2399:                                             ; preds = %2395, %2389
  br label %2400

2400:                                             ; preds = %2395, %2399
  %.str.26.sink2981 = phi ptr [ @.str.26, %2399 ], [ @.str.23, %2395 ]
  store i32 %2390, ptr %1317, align 4, !tbaa !5
  %2401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2402 = load i32, ptr @test_count, align 4, !tbaa !5
  %2403 = load i32, ptr %1263, align 4, !tbaa !5
  %2404 = call ptr @s2n_strerror(i32 noundef %2403, ptr noundef nonnull @.str.25) #12
  %2405 = load i32, ptr %1263, align 4, !tbaa !5
  %2406 = call ptr @s2n_strerror_debug(i32 noundef %2405, ptr noundef nonnull @.str.25) #12
  %2407 = load i32, ptr %1317, align 4, !tbaa !5
  %2408 = call ptr @strerror(i32 noundef %2407) #12
  %2409 = load i32, ptr %1317, align 4, !tbaa !5
  %2410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2401, ptr noundef nonnull %.str.26.sink2981, i32 noundef %2402, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.22, i32 noundef 326, ptr noundef %2404, ptr noundef %2406, ptr noundef %2408, i32 noundef %2409) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2411:                                             ; preds = %2384
  %2412 = add nsw i32 %2385, 2
  store i32 %2412, ptr @test_count, align 4, !tbaa !5
  %2413 = call i32 @s2n_connection_free(ptr noundef nonnull %2082) #12
  %2414 = icmp eq i32 %2413, -1
  br i1 %2414, label %2415, label %2437

2415:                                             ; preds = %2411
  %2416 = load i32, ptr %1317, align 4, !tbaa !5
  %2417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2418 = call i32 @s2n_print_stacktrace(ptr noundef %2417) #12
  %2419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2420 = trunc nuw i8 %2419 to i1
  br i1 %2420, label %2421, label %2425

2421:                                             ; preds = %2415
  %2422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2423 = call i32 @fileno(ptr noundef %2422) #12
  %2424 = call i32 @isatty(i32 noundef %2423) #12
  %.not2097 = icmp eq i32 %2424, 0
  br i1 %.not2097, label %2425, label %2426

2425:                                             ; preds = %2421, %2415
  br label %2426

2426:                                             ; preds = %2421, %2425
  %.str.26.sink2990 = phi ptr [ @.str.26, %2425 ], [ @.str.23, %2421 ]
  store i32 %2416, ptr %1317, align 4, !tbaa !5
  %2427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2428 = load i32, ptr @test_count, align 4, !tbaa !5
  %2429 = load i32, ptr %1263, align 4, !tbaa !5
  %2430 = call ptr @s2n_strerror(i32 noundef %2429, ptr noundef nonnull @.str.25) #12
  %2431 = load i32, ptr %1263, align 4, !tbaa !5
  %2432 = call ptr @s2n_strerror_debug(i32 noundef %2431, ptr noundef nonnull @.str.25) #12
  %2433 = load i32, ptr %1317, align 4, !tbaa !5
  %2434 = call ptr @strerror(i32 noundef %2433) #12
  %2435 = load i32, ptr %1317, align 4, !tbaa !5
  %2436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2427, ptr noundef nonnull %.str.26.sink2990, i32 noundef %2428, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 328, ptr noundef %2430, ptr noundef %2432, ptr noundef %2434, i32 noundef %2435) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2437:                                             ; preds = %2411
  %2438 = load i32, ptr @test_count, align 4, !tbaa !5
  %2439 = add nsw i32 %2438, 1
  store i32 %2439, ptr @test_count, align 4, !tbaa !5
  %2440 = call i32 @s2n_stuffer_free(ptr noundef nonnull %20) #12
  %2441 = icmp eq i32 %2440, -1
  br i1 %2441, label %2442, label %2464

2442:                                             ; preds = %2437
  %2443 = load i32, ptr %1317, align 4, !tbaa !5
  %2444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2445 = call i32 @s2n_print_stacktrace(ptr noundef %2444) #12
  %2446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2447 = trunc nuw i8 %2446 to i1
  br i1 %2447, label %2448, label %2452

2448:                                             ; preds = %2442
  %2449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2450 = call i32 @fileno(ptr noundef %2449) #12
  %2451 = call i32 @isatty(i32 noundef %2450) #12
  %.not2096 = icmp eq i32 %2451, 0
  br i1 %.not2096, label %2452, label %2453

2452:                                             ; preds = %2448, %2442
  br label %2453

2453:                                             ; preds = %2448, %2452
  %.str.26.sink2999 = phi ptr [ @.str.26, %2452 ], [ @.str.23, %2448 ]
  store i32 %2443, ptr %1317, align 4, !tbaa !5
  %2454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2455 = load i32, ptr @test_count, align 4, !tbaa !5
  %2456 = load i32, ptr %1263, align 4, !tbaa !5
  %2457 = call ptr @s2n_strerror(i32 noundef %2456, ptr noundef nonnull @.str.25) #12
  %2458 = load i32, ptr %1263, align 4, !tbaa !5
  %2459 = call ptr @s2n_strerror_debug(i32 noundef %2458, ptr noundef nonnull @.str.25) #12
  %2460 = load i32, ptr %1317, align 4, !tbaa !5
  %2461 = call ptr @strerror(i32 noundef %2460) #12
  %2462 = load i32, ptr %1317, align 4, !tbaa !5
  %2463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2454, ptr noundef nonnull %.str.26.sink2999, i32 noundef %2455, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.22, i32 noundef 329, ptr noundef %2457, ptr noundef %2459, ptr noundef %2461, i32 noundef %2462) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2464:                                             ; preds = %2437
  %2465 = load i32, ptr @test_count, align 4, !tbaa !5
  %2466 = add nsw i32 %2465, 1
  store i32 %2466, ptr @test_count, align 4, !tbaa !5
  %2467 = call i32 @s2n_config_free(ptr noundef nonnull %2029) #12
  %2468 = icmp eq i32 %2467, -1
  br i1 %2468, label %2469, label %2491

2469:                                             ; preds = %2464
  %2470 = load i32, ptr %1317, align 4, !tbaa !5
  %2471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2472 = call i32 @s2n_print_stacktrace(ptr noundef %2471) #12
  %2473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2474 = trunc nuw i8 %2473 to i1
  br i1 %2474, label %2475, label %2479

2475:                                             ; preds = %2469
  %2476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2477 = call i32 @fileno(ptr noundef %2476) #12
  %2478 = call i32 @isatty(i32 noundef %2477) #12
  %.not2095 = icmp eq i32 %2478, 0
  br i1 %.not2095, label %2479, label %2480

2479:                                             ; preds = %2475, %2469
  br label %2480

2480:                                             ; preds = %2475, %2479
  %.str.26.sink3008 = phi ptr [ @.str.26, %2479 ], [ @.str.23, %2475 ]
  store i32 %2470, ptr %1317, align 4, !tbaa !5
  %2481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2482 = load i32, ptr @test_count, align 4, !tbaa !5
  %2483 = load i32, ptr %1263, align 4, !tbaa !5
  %2484 = call ptr @s2n_strerror(i32 noundef %2483, ptr noundef nonnull @.str.25) #12
  %2485 = load i32, ptr %1263, align 4, !tbaa !5
  %2486 = call ptr @s2n_strerror_debug(i32 noundef %2485, ptr noundef nonnull @.str.25) #12
  %2487 = load i32, ptr %1317, align 4, !tbaa !5
  %2488 = call ptr @strerror(i32 noundef %2487) #12
  %2489 = load i32, ptr %1317, align 4, !tbaa !5
  %2490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2481, ptr noundef nonnull %.str.26.sink3008, i32 noundef %2482, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 330, ptr noundef %2484, ptr noundef %2486, ptr noundef %2488, i32 noundef %2489) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2491:                                             ; preds = %2464
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %20) #12
  %2492 = call ptr @s2n_config_new() #12
  %2493 = load i32, ptr @test_count, align 4, !tbaa !5
  %2494 = add nsw i32 %2493, 1
  store i32 %2494, ptr @test_count, align 4, !tbaa !5
  %2495 = icmp eq ptr %2492, null
  br i1 %2495, label %2496, label %2518

2496:                                             ; preds = %2491
  %2497 = load i32, ptr %1317, align 4, !tbaa !5
  %2498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2499 = call i32 @s2n_print_stacktrace(ptr noundef %2498) #12
  %2500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2501 = trunc nuw i8 %2500 to i1
  br i1 %2501, label %2502, label %2506

2502:                                             ; preds = %2496
  %2503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2504 = call i32 @fileno(ptr noundef %2503) #12
  %2505 = call i32 @isatty(i32 noundef %2504) #12
  %.not2094 = icmp eq i32 %2505, 0
  br i1 %.not2094, label %2506, label %2507

2506:                                             ; preds = %2502, %2496
  br label %2507

2507:                                             ; preds = %2502, %2506
  %.str.26.sink3017 = phi ptr [ @.str.26, %2506 ], [ @.str.23, %2502 ]
  store i32 %2497, ptr %1317, align 4, !tbaa !5
  %2508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2509 = load i32, ptr @test_count, align 4, !tbaa !5
  %2510 = load i32, ptr %1263, align 4, !tbaa !5
  %2511 = call ptr @s2n_strerror(i32 noundef %2510, ptr noundef nonnull @.str.25) #12
  %2512 = load i32, ptr %1263, align 4, !tbaa !5
  %2513 = call ptr @s2n_strerror_debug(i32 noundef %2512, ptr noundef nonnull @.str.25) #12
  %2514 = load i32, ptr %1317, align 4, !tbaa !5
  %2515 = call ptr @strerror(i32 noundef %2514) #12
  %2516 = load i32, ptr %1317, align 4, !tbaa !5
  %2517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2508, ptr noundef nonnull %.str.26.sink3017, i32 noundef %2509, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 336, ptr noundef %2511, ptr noundef %2513, ptr noundef %2515, i32 noundef %2516) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2518:                                             ; preds = %2491
  %2519 = add nsw i32 %2493, 2
  store i32 %2519, ptr @test_count, align 4, !tbaa !5
  %2520 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %2492, i8 noundef zeroext 1) #12
  %2521 = icmp eq i32 %2520, -1
  br i1 %2521, label %2522, label %2544

2522:                                             ; preds = %2518
  %2523 = load i32, ptr %1317, align 4, !tbaa !5
  %2524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2525 = call i32 @s2n_print_stacktrace(ptr noundef %2524) #12
  %2526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2527 = trunc nuw i8 %2526 to i1
  br i1 %2527, label %2528, label %2532

2528:                                             ; preds = %2522
  %2529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2530 = call i32 @fileno(ptr noundef %2529) #12
  %2531 = call i32 @isatty(i32 noundef %2530) #12
  %.not2093 = icmp eq i32 %2531, 0
  br i1 %.not2093, label %2532, label %2533

2532:                                             ; preds = %2528, %2522
  br label %2533

2533:                                             ; preds = %2528, %2532
  %.str.26.sink3026 = phi ptr [ @.str.26, %2532 ], [ @.str.23, %2528 ]
  store i32 %2523, ptr %1317, align 4, !tbaa !5
  %2534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2535 = load i32, ptr @test_count, align 4, !tbaa !5
  %2536 = load i32, ptr %1263, align 4, !tbaa !5
  %2537 = call ptr @s2n_strerror(i32 noundef %2536, ptr noundef nonnull @.str.25) #12
  %2538 = load i32, ptr %1263, align 4, !tbaa !5
  %2539 = call ptr @s2n_strerror_debug(i32 noundef %2538, ptr noundef nonnull @.str.25) #12
  %2540 = load i32, ptr %1317, align 4, !tbaa !5
  %2541 = call ptr @strerror(i32 noundef %2540) #12
  %2542 = load i32, ptr %1317, align 4, !tbaa !5
  %2543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2534, ptr noundef nonnull %.str.26.sink3026, i32 noundef %2535, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.22, i32 noundef 337, ptr noundef %2537, ptr noundef %2539, ptr noundef %2541, i32 noundef %2542) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2544:                                             ; preds = %2518
  %2545 = load i32, ptr @test_count, align 4, !tbaa !5
  %2546 = add nsw i32 %2545, 1
  store i32 %2546, ptr @test_count, align 4, !tbaa !5
  %2547 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef nonnull %2492, ptr noundef nonnull @s2n_test_session_ticket_cb, ptr noundef null) #12
  %2548 = icmp eq i32 %2547, -1
  br i1 %2548, label %2549, label %2571

2549:                                             ; preds = %2544
  %2550 = load i32, ptr %1317, align 4, !tbaa !5
  %2551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2552 = call i32 @s2n_print_stacktrace(ptr noundef %2551) #12
  %2553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2554 = trunc nuw i8 %2553 to i1
  br i1 %2554, label %2555, label %2559

2555:                                             ; preds = %2549
  %2556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2557 = call i32 @fileno(ptr noundef %2556) #12
  %2558 = call i32 @isatty(i32 noundef %2557) #12
  %.not2092 = icmp eq i32 %2558, 0
  br i1 %.not2092, label %2559, label %2560

2559:                                             ; preds = %2555, %2549
  br label %2560

2560:                                             ; preds = %2555, %2559
  %.str.26.sink3035 = phi ptr [ @.str.26, %2559 ], [ @.str.23, %2555 ]
  store i32 %2550, ptr %1317, align 4, !tbaa !5
  %2561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2562 = load i32, ptr @test_count, align 4, !tbaa !5
  %2563 = load i32, ptr %1263, align 4, !tbaa !5
  %2564 = call ptr @s2n_strerror(i32 noundef %2563, ptr noundef nonnull @.str.25) #12
  %2565 = load i32, ptr %1263, align 4, !tbaa !5
  %2566 = call ptr @s2n_strerror_debug(i32 noundef %2565, ptr noundef nonnull @.str.25) #12
  %2567 = load i32, ptr %1317, align 4, !tbaa !5
  %2568 = call ptr @strerror(i32 noundef %2567) #12
  %2569 = load i32, ptr %1317, align 4, !tbaa !5
  %2570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2561, ptr noundef nonnull %.str.26.sink3035, i32 noundef %2562, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.22, i32 noundef 338, ptr noundef %2564, ptr noundef %2566, ptr noundef %2568, i32 noundef %2569) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2571:                                             ; preds = %2544
  %2572 = load i32, ptr @test_count, align 4, !tbaa !5
  %2573 = add nsw i32 %2572, 1
  store i32 %2573, ptr @test_count, align 4, !tbaa !5
  %2574 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %2492) #12
  %2575 = call zeroext i1 @s2n_result_is_ok(i32 %2574)
  br i1 %2575, label %2598, label %2576

2576:                                             ; preds = %2571
  %2577 = load i32, ptr %1317, align 4, !tbaa !5
  %2578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2579 = call i32 @s2n_print_stacktrace(ptr noundef %2578) #12
  %2580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2581 = trunc nuw i8 %2580 to i1
  br i1 %2581, label %2582, label %2586

2582:                                             ; preds = %2576
  %2583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2584 = call i32 @fileno(ptr noundef %2583) #12
  %2585 = call i32 @isatty(i32 noundef %2584) #12
  %.not1639 = icmp eq i32 %2585, 0
  br i1 %.not1639, label %2586, label %2587

2586:                                             ; preds = %2582, %2576
  br label %2587

2587:                                             ; preds = %2582, %2586
  %.str.26.sink3044 = phi ptr [ @.str.26, %2586 ], [ @.str.23, %2582 ]
  store i32 %2577, ptr %1317, align 4, !tbaa !5
  %2588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2589 = load i32, ptr @test_count, align 4, !tbaa !5
  %2590 = load i32, ptr %1263, align 4, !tbaa !5
  %2591 = call ptr @s2n_strerror(i32 noundef %2590, ptr noundef nonnull @.str.25) #12
  %2592 = load i32, ptr %1263, align 4, !tbaa !5
  %2593 = call ptr @s2n_strerror_debug(i32 noundef %2592, ptr noundef nonnull @.str.25) #12
  %2594 = load i32, ptr %1317, align 4, !tbaa !5
  %2595 = call ptr @strerror(i32 noundef %2594) #12
  %2596 = load i32, ptr %1317, align 4, !tbaa !5
  %2597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2588, ptr noundef nonnull %.str.26.sink3044, i32 noundef %2589, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 339, ptr noundef %2591, ptr noundef %2593, ptr noundef %2595, i32 noundef %2596) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2598:                                             ; preds = %2571
  %2599 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %2600 = load i32, ptr @test_count, align 4, !tbaa !5
  %2601 = add nsw i32 %2600, 1
  store i32 %2601, ptr @test_count, align 4, !tbaa !5
  %2602 = icmp eq ptr %2599, null
  br i1 %2602, label %2603, label %2625

2603:                                             ; preds = %2598
  %2604 = load i32, ptr %1317, align 4, !tbaa !5
  %2605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2606 = call i32 @s2n_print_stacktrace(ptr noundef %2605) #12
  %2607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2608 = trunc nuw i8 %2607 to i1
  br i1 %2608, label %2609, label %2613

2609:                                             ; preds = %2603
  %2610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2611 = call i32 @fileno(ptr noundef %2610) #12
  %2612 = call i32 @isatty(i32 noundef %2611) #12
  %.not2091 = icmp eq i32 %2612, 0
  br i1 %.not2091, label %2613, label %2614

2613:                                             ; preds = %2609, %2603
  br label %2614

2614:                                             ; preds = %2609, %2613
  %.str.26.sink3053 = phi ptr [ @.str.26, %2613 ], [ @.str.23, %2609 ]
  store i32 %2604, ptr %1317, align 4, !tbaa !5
  %2615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2616 = load i32, ptr @test_count, align 4, !tbaa !5
  %2617 = load i32, ptr %1263, align 4, !tbaa !5
  %2618 = call ptr @s2n_strerror(i32 noundef %2617, ptr noundef nonnull @.str.25) #12
  %2619 = load i32, ptr %1263, align 4, !tbaa !5
  %2620 = call ptr @s2n_strerror_debug(i32 noundef %2619, ptr noundef nonnull @.str.25) #12
  %2621 = load i32, ptr %1317, align 4, !tbaa !5
  %2622 = call ptr @strerror(i32 noundef %2621) #12
  %2623 = load i32, ptr %1317, align 4, !tbaa !5
  %2624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2615, ptr noundef nonnull %.str.26.sink3053, i32 noundef %2616, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.22, i32 noundef 342, ptr noundef %2618, ptr noundef %2620, ptr noundef %2622, i32 noundef %2623) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2625:                                             ; preds = %2598
  %2626 = add nsw i32 %2600, 2
  store i32 %2626, ptr @test_count, align 4, !tbaa !5
  %2627 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2599, ptr noundef nonnull %2492) #12
  %2628 = icmp eq i32 %2627, -1
  br i1 %2628, label %2629, label %2651

2629:                                             ; preds = %2625
  %2630 = load i32, ptr %1317, align 4, !tbaa !5
  %2631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2632 = call i32 @s2n_print_stacktrace(ptr noundef %2631) #12
  %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) #12
  %2638 = call i32 @isatty(i32 noundef %2637) #12
  %.not2090 = icmp eq i32 %2638, 0
  br i1 %.not2090, label %2639, label %2640

2639:                                             ; preds = %2635, %2629
  br label %2640

2640:                                             ; preds = %2635, %2639
  %.str.26.sink3062 = phi ptr [ @.str.26, %2639 ], [ @.str.23, %2635 ]
  store i32 %2630, ptr %1317, 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 %1263, align 4, !tbaa !5
  %2644 = call ptr @s2n_strerror(i32 noundef %2643, ptr noundef nonnull @.str.25) #12
  %2645 = load i32, ptr %1263, align 4, !tbaa !5
  %2646 = call ptr @s2n_strerror_debug(i32 noundef %2645, ptr noundef nonnull @.str.25) #12
  %2647 = load i32, ptr %1317, align 4, !tbaa !5
  %2648 = call ptr @strerror(i32 noundef %2647) #12
  %2649 = load i32, ptr %1317, align 4, !tbaa !5
  %2650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2641, ptr noundef nonnull %.str.26.sink3062, i32 noundef %2642, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.22, i32 noundef 343, ptr noundef %2644, ptr noundef %2646, ptr noundef %2648, i32 noundef %2649) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2651:                                             ; preds = %2625
  %2652 = getelementptr inbounds i8, ptr %2599, i64 220
  store i8 34, ptr %2652, align 4, !tbaa !17
  %2653 = getelementptr inbounds i8, ptr %2599, i64 232
  %2654 = load ptr, ptr %2653, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %2654, align 8, !tbaa !44
  %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 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %2599, i32 noundef 10) #12
  %2658 = icmp eq i32 %2657, -1
  br i1 %2658, label %2659, label %2681

2659:                                             ; preds = %2651
  %2660 = load i32, ptr %1317, align 4, !tbaa !5
  %2661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2662 = call i32 @s2n_print_stacktrace(ptr noundef %2661) #12
  %2663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2664 = trunc nuw i8 %2663 to i1
  br i1 %2664, label %2665, label %2669

2665:                                             ; preds = %2659
  %2666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2667 = call i32 @fileno(ptr noundef %2666) #12
  %2668 = call i32 @isatty(i32 noundef %2667) #12
  %.not2089 = icmp eq i32 %2668, 0
  br i1 %.not2089, label %2669, label %2670

2669:                                             ; preds = %2665, %2659
  br label %2670

2670:                                             ; preds = %2665, %2669
  %.str.26.sink3071 = phi ptr [ @.str.26, %2669 ], [ @.str.23, %2665 ]
  store i32 %2660, ptr %1317, align 4, !tbaa !5
  %2671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2672 = load i32, ptr @test_count, align 4, !tbaa !5
  %2673 = load i32, ptr %1263, align 4, !tbaa !5
  %2674 = call ptr @s2n_strerror(i32 noundef %2673, ptr noundef nonnull @.str.25) #12
  %2675 = load i32, ptr %1263, align 4, !tbaa !5
  %2676 = call ptr @s2n_strerror_debug(i32 noundef %2675, ptr noundef nonnull @.str.25) #12
  %2677 = load i32, ptr %1317, align 4, !tbaa !5
  %2678 = call ptr @strerror(i32 noundef %2677) #12
  %2679 = load i32, ptr %1317, align 4, !tbaa !5
  %2680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2671, ptr noundef nonnull %.str.26.sink3071, i32 noundef %2672, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.22, i32 noundef 346, ptr noundef %2674, ptr noundef %2676, ptr noundef %2678, i32 noundef %2679) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2681:                                             ; preds = %2651
  call void @llvm.lifetime.start.p0(i64 65535, ptr nonnull %24) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(65535) %24, i8 0, i64 65535, i1 false)
  %2682 = load i32, ptr @test_count, align 4, !tbaa !5
  %2683 = add nsw i32 %2682, 1
  store i32 %2683, ptr @test_count, align 4, !tbaa !5
  %2684 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef nonnull %2599, ptr noundef nonnull %24, i16 noundef zeroext -1) #12
  %2685 = icmp eq i32 %2684, -1
  br i1 %2685, label %2686, label %2708

2686:                                             ; preds = %2681
  %2687 = load i32, ptr %1317, align 4, !tbaa !5
  %2688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2689 = call i32 @s2n_print_stacktrace(ptr noundef %2688) #12
  %2690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2691 = trunc nuw i8 %2690 to i1
  br i1 %2691, label %2692, label %2696

2692:                                             ; preds = %2686
  %2693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2694 = call i32 @fileno(ptr noundef %2693) #12
  %2695 = call i32 @isatty(i32 noundef %2694) #12
  %.not2088 = icmp eq i32 %2695, 0
  br i1 %.not2088, label %2696, label %2697

2696:                                             ; preds = %2692, %2686
  br label %2697

2697:                                             ; preds = %2692, %2696
  %.str.26.sink3080 = phi ptr [ @.str.26, %2696 ], [ @.str.23, %2692 ]
  store i32 %2687, ptr %1317, align 4, !tbaa !5
  %2698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2699 = load i32, ptr @test_count, align 4, !tbaa !5
  %2700 = load i32, ptr %1263, align 4, !tbaa !5
  %2701 = call ptr @s2n_strerror(i32 noundef %2700, ptr noundef nonnull @.str.25) #12
  %2702 = load i32, ptr %1263, align 4, !tbaa !5
  %2703 = call ptr @s2n_strerror_debug(i32 noundef %2702, ptr noundef nonnull @.str.25) #12
  %2704 = load i32, ptr %1317, align 4, !tbaa !5
  %2705 = call ptr @strerror(i32 noundef %2704) #12
  %2706 = load i32, ptr %1317, align 4, !tbaa !5
  %2707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2698, ptr noundef nonnull %.str.26.sink3080, i32 noundef %2699, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.22, i32 noundef 351, ptr noundef %2701, ptr noundef %2703, ptr noundef %2705, i32 noundef %2706) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2708:                                             ; preds = %2681
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %25) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %25, i8 0, i64 40, i1 false)
  %2709 = load i32, ptr @test_count, align 4, !tbaa !5
  %2710 = add nsw i32 %2709, 1
  store i32 %2710, ptr @test_count, align 4, !tbaa !5
  %2711 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %25, i32 noundef 0) #12
  %2712 = icmp eq i32 %2711, -1
  br i1 %2712, label %2713, label %2735

2713:                                             ; preds = %2708
  %2714 = load i32, ptr %1317, align 4, !tbaa !5
  %2715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2716 = call i32 @s2n_print_stacktrace(ptr noundef %2715) #12
  %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) #12
  %2722 = call i32 @isatty(i32 noundef %2721) #12
  %.not2087 = icmp eq i32 %2722, 0
  br i1 %.not2087, label %2723, label %2724

2723:                                             ; preds = %2719, %2713
  br label %2724

2724:                                             ; preds = %2719, %2723
  %.str.26.sink3089 = phi ptr [ @.str.26, %2723 ], [ @.str.23, %2719 ]
  store i32 %2714, ptr %1317, 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 %1263, align 4, !tbaa !5
  %2728 = call ptr @s2n_strerror(i32 noundef %2727, ptr noundef nonnull @.str.25) #12
  %2729 = load i32, ptr %1263, align 4, !tbaa !5
  %2730 = call ptr @s2n_strerror_debug(i32 noundef %2729, ptr noundef nonnull @.str.25) #12
  %2731 = load i32, ptr %1317, align 4, !tbaa !5
  %2732 = call ptr @strerror(i32 noundef %2731) #12
  %2733 = load i32, ptr %1317, align 4, !tbaa !5
  %2734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2725, ptr noundef nonnull %.str.26.sink3089, i32 noundef %2726, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 354, ptr noundef %2728, ptr noundef %2730, ptr noundef %2732, i32 noundef %2733) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2735:                                             ; preds = %2708
  %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 = call i32 @s2n_tls13_server_nst_write(ptr noundef nonnull %2599, ptr noundef nonnull %25)
  %2739 = call zeroext i1 @s2n_result_is_error(i32 %2738)
  br i1 %2739, label %2762, label %2740

2740:                                             ; preds = %2735
  %2741 = load i32, ptr %1317, align 4, !tbaa !5
  %2742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2743 = call i32 @s2n_print_stacktrace(ptr noundef %2742) #12
  %2744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2745 = trunc nuw i8 %2744 to i1
  br i1 %2745, label %2746, label %2750

2746:                                             ; preds = %2740
  %2747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2748 = call i32 @fileno(ptr noundef %2747) #12
  %2749 = call i32 @isatty(i32 noundef %2748) #12
  %.not1640 = icmp eq i32 %2749, 0
  br i1 %.not1640, label %2750, label %2751

2750:                                             ; preds = %2746, %2740
  br label %2751

2751:                                             ; preds = %2746, %2750
  %.str.26.sink3098 = phi ptr [ @.str.26, %2750 ], [ @.str.23, %2746 ]
  store i32 %2741, ptr %1317, align 4, !tbaa !5
  %2752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2753 = load i32, ptr @test_count, align 4, !tbaa !5
  %2754 = load i32, ptr %1263, align 4, !tbaa !5
  %2755 = call ptr @s2n_strerror(i32 noundef %2754, ptr noundef nonnull @.str.25) #12
  %2756 = load i32, ptr %1263, align 4, !tbaa !5
  %2757 = call ptr @s2n_strerror_debug(i32 noundef %2756, ptr noundef nonnull @.str.25) #12
  %2758 = load i32, ptr %1317, align 4, !tbaa !5
  %2759 = call ptr @strerror(i32 noundef %2758) #12
  %2760 = load i32, ptr %1317, align 4, !tbaa !5
  %2761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2752, ptr noundef nonnull %.str.26.sink3098, i32 noundef %2753, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.22, i32 noundef 356, ptr noundef %2755, ptr noundef %2757, ptr noundef %2759, i32 noundef %2760) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2762:                                             ; preds = %2735
  %2763 = load i32, ptr @test_count, align 4, !tbaa !5
  %2764 = add nsw i32 %2763, 1
  store i32 %2764, ptr @test_count, align 4, !tbaa !5
  %2765 = load i32, ptr %1263, align 4, !tbaa !5
  %2766 = icmp eq i32 %2765, 402653220
  br i1 %2766, label %2789, label %2767

2767:                                             ; preds = %2762
  %2768 = load i32, ptr %1317, align 4, !tbaa !5
  %2769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2770 = call i32 @s2n_print_stacktrace(ptr noundef %2769) #12
  %2771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2772 = trunc nuw i8 %2771 to i1
  br i1 %2772, label %2773, label %2777

2773:                                             ; preds = %2767
  %2774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2775 = call i32 @fileno(ptr noundef %2774) #12
  %2776 = call i32 @isatty(i32 noundef %2775) #12
  %.not1641 = icmp eq i32 %2776, 0
  br i1 %.not1641, label %2777, label %2778

2777:                                             ; preds = %2773, %2767
  br label %2778

2778:                                             ; preds = %2773, %2777
  %.str.26.sink3107 = phi ptr [ @.str.26, %2777 ], [ @.str.23, %2773 ]
  store i32 %2768, ptr %1317, align 4, !tbaa !5
  %2779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2780 = load i32, ptr @test_count, align 4, !tbaa !5
  %2781 = load i32, ptr %1263, align 4, !tbaa !5
  %2782 = call ptr @s2n_strerror(i32 noundef %2781, ptr noundef nonnull @.str.25) #12
  %2783 = load i32, ptr %1263, align 4, !tbaa !5
  %2784 = call ptr @s2n_strerror_debug(i32 noundef %2783, ptr noundef nonnull @.str.25) #12
  %2785 = load i32, ptr %1317, align 4, !tbaa !5
  %2786 = call ptr @strerror(i32 noundef %2785) #12
  %2787 = load i32, ptr %1317, align 4, !tbaa !5
  %2788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2779, ptr noundef nonnull %.str.26.sink3107, i32 noundef %2780, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.22, i32 noundef 356, ptr noundef %2782, ptr noundef %2784, ptr noundef %2786, i32 noundef %2787) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2789:                                             ; preds = %2762
  %2790 = add nsw i32 %2763, 2
  store i32 %2790, ptr @test_count, align 4, !tbaa !5
  %2791 = call ptr @s2n_strerror_debug(i32 noundef 402653220, ptr noundef nonnull @.str.25) #12
  %2792 = icmp eq ptr %2791, null
  br i1 %2792, label %2793, label %2815

2793:                                             ; preds = %2789
  %2794 = load i32, ptr %1317, align 4, !tbaa !5
  %2795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2796 = call i32 @s2n_print_stacktrace(ptr noundef %2795) #12
  %2797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2798 = trunc nuw i8 %2797 to i1
  br i1 %2798, label %2799, label %2803

2799:                                             ; preds = %2793
  %2800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2801 = call i32 @fileno(ptr noundef %2800) #12
  %2802 = call i32 @isatty(i32 noundef %2801) #12
  %.not2086 = icmp eq i32 %2802, 0
  br i1 %.not2086, label %2803, label %2804

2803:                                             ; preds = %2799, %2793
  br label %2804

2804:                                             ; preds = %2799, %2803
  %.str.26.sink3116 = phi ptr [ @.str.26, %2803 ], [ @.str.23, %2799 ]
  store i32 %2794, ptr %1317, align 4, !tbaa !5
  %2805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2806 = load i32, ptr @test_count, align 4, !tbaa !5
  %2807 = load i32, ptr %1263, align 4, !tbaa !5
  %2808 = call ptr @s2n_strerror(i32 noundef %2807, ptr noundef nonnull @.str.25) #12
  %2809 = load i32, ptr %1263, align 4, !tbaa !5
  %2810 = call ptr @s2n_strerror_debug(i32 noundef %2809, ptr noundef nonnull @.str.25) #12
  %2811 = load i32, ptr %1317, align 4, !tbaa !5
  %2812 = call ptr @strerror(i32 noundef %2811) #12
  %2813 = load i32, ptr %1317, align 4, !tbaa !5
  %2814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2805, ptr noundef nonnull %.str.26.sink3116, i32 noundef %2806, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.22, i32 noundef 356, ptr noundef %2808, ptr noundef %2810, ptr noundef %2812, i32 noundef %2813) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2815:                                             ; preds = %2789
  store i32 0, ptr %1263, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1317, align 4, !tbaa !5
  %2816 = load i32, ptr @test_count, align 4, !tbaa !5
  %2817 = add nsw i32 %2816, 1
  store i32 %2817, ptr @test_count, align 4, !tbaa !5
  %2818 = call i32 @s2n_connection_free(ptr noundef nonnull %2599) #12
  %2819 = icmp eq i32 %2818, -1
  br i1 %2819, label %2820, label %2842

2820:                                             ; preds = %2815
  %2821 = load i32, ptr %1317, align 4, !tbaa !5
  %2822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2823 = call i32 @s2n_print_stacktrace(ptr noundef %2822) #12
  %2824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2825 = trunc nuw i8 %2824 to i1
  br i1 %2825, label %2826, label %2830

2826:                                             ; preds = %2820
  %2827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2828 = call i32 @fileno(ptr noundef %2827) #12
  %2829 = call i32 @isatty(i32 noundef %2828) #12
  %.not2085 = icmp eq i32 %2829, 0
  br i1 %.not2085, label %2830, label %2831

2830:                                             ; preds = %2826, %2820
  br label %2831

2831:                                             ; preds = %2826, %2830
  %.str.26.sink3125 = phi ptr [ @.str.26, %2830 ], [ @.str.23, %2826 ]
  store i32 %2821, ptr %1317, align 4, !tbaa !5
  %2832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2833 = load i32, ptr @test_count, align 4, !tbaa !5
  %2834 = load i32, ptr %1263, align 4, !tbaa !5
  %2835 = call ptr @s2n_strerror(i32 noundef %2834, ptr noundef nonnull @.str.25) #12
  %2836 = load i32, ptr %1263, align 4, !tbaa !5
  %2837 = call ptr @s2n_strerror_debug(i32 noundef %2836, ptr noundef nonnull @.str.25) #12
  %2838 = load i32, ptr %1317, align 4, !tbaa !5
  %2839 = call ptr @strerror(i32 noundef %2838) #12
  %2840 = load i32, ptr %1317, align 4, !tbaa !5
  %2841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2832, ptr noundef nonnull %.str.26.sink3125, i32 noundef %2833, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.22, i32 noundef 358, ptr noundef %2835, ptr noundef %2837, ptr noundef %2839, i32 noundef %2840) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2842:                                             ; preds = %2815
  %2843 = load i32, ptr @test_count, align 4, !tbaa !5
  %2844 = add nsw i32 %2843, 1
  store i32 %2844, ptr @test_count, align 4, !tbaa !5
  %2845 = call i32 @s2n_config_free(ptr noundef nonnull %2492) #12
  %2846 = icmp eq i32 %2845, -1
  br i1 %2846, label %2847, label %2869

2847:                                             ; preds = %2842
  %2848 = load i32, ptr %1317, align 4, !tbaa !5
  %2849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2850 = call i32 @s2n_print_stacktrace(ptr noundef %2849) #12
  %2851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2852 = trunc nuw i8 %2851 to i1
  br i1 %2852, label %2853, label %2857

2853:                                             ; preds = %2847
  %2854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2855 = call i32 @fileno(ptr noundef %2854) #12
  %2856 = call i32 @isatty(i32 noundef %2855) #12
  %.not2084 = icmp eq i32 %2856, 0
  br i1 %.not2084, label %2857, label %2858

2857:                                             ; preds = %2853, %2847
  br label %2858

2858:                                             ; preds = %2853, %2857
  %.str.26.sink3134 = phi ptr [ @.str.26, %2857 ], [ @.str.23, %2853 ]
  store i32 %2848, ptr %1317, align 4, !tbaa !5
  %2859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2860 = load i32, ptr @test_count, align 4, !tbaa !5
  %2861 = load i32, ptr %1263, align 4, !tbaa !5
  %2862 = call ptr @s2n_strerror(i32 noundef %2861, ptr noundef nonnull @.str.25) #12
  %2863 = load i32, ptr %1263, align 4, !tbaa !5
  %2864 = call ptr @s2n_strerror_debug(i32 noundef %2863, ptr noundef nonnull @.str.25) #12
  %2865 = load i32, ptr %1317, align 4, !tbaa !5
  %2866 = call ptr @strerror(i32 noundef %2865) #12
  %2867 = load i32, ptr %1317, align 4, !tbaa !5
  %2868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2859, ptr noundef nonnull %.str.26.sink3134, i32 noundef %2860, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 359, ptr noundef %2862, ptr noundef %2864, ptr noundef %2866, i32 noundef %2867) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2869:                                             ; preds = %2842
  %2870 = call i32 @s2n_stuffer_free(ptr noundef nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 65535, ptr nonnull %24) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #12
  store i32 0, ptr %26, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #12
  %2871 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %2871, ptr %27, align 8, !tbaa !9
  %2872 = load i32, ptr @test_count, align 4, !tbaa !5
  %2873 = add nsw i32 %2872, 1
  store i32 %2873, ptr @test_count, align 4, !tbaa !5
  %2874 = icmp eq ptr %2871, null
  br i1 %2874, label %2875, label %2897

2875:                                             ; preds = %2869
  %2876 = load i32, ptr %1317, align 4, !tbaa !5
  %2877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2878 = call i32 @s2n_print_stacktrace(ptr noundef %2877) #12
  %2879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2880 = trunc nuw i8 %2879 to i1
  br i1 %2880, label %2881, label %2885

2881:                                             ; preds = %2875
  %2882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2883 = call i32 @fileno(ptr noundef %2882) #12
  %2884 = call i32 @isatty(i32 noundef %2883) #12
  %.not2083 = icmp eq i32 %2884, 0
  br i1 %.not2083, label %2885, label %2886

2885:                                             ; preds = %2881, %2875
  br label %2886

2886:                                             ; preds = %2881, %2885
  %.str.26.sink3143 = phi ptr [ @.str.26, %2885 ], [ @.str.23, %2881 ]
  store i32 %2876, ptr %1317, align 4, !tbaa !5
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = load i32, ptr @test_count, align 4, !tbaa !5
  %2889 = load i32, ptr %1263, align 4, !tbaa !5
  %2890 = call ptr @s2n_strerror(i32 noundef %2889, ptr noundef nonnull @.str.25) #12
  %2891 = load i32, ptr %1263, align 4, !tbaa !5
  %2892 = call ptr @s2n_strerror_debug(i32 noundef %2891, ptr noundef nonnull @.str.25) #12
  %2893 = load i32, ptr %1317, align 4, !tbaa !5
  %2894 = call ptr @strerror(i32 noundef %2893) #12
  %2895 = load i32, ptr %1317, align 4, !tbaa !5
  %2896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2887, ptr noundef nonnull %.str.26.sink3143, i32 noundef %2888, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 368, ptr noundef %2890, ptr noundef %2892, ptr noundef %2894, i32 noundef %2895) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2897:                                             ; preds = %2869
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #12
  %2898 = call ptr @s2n_config_new() #12
  store ptr %2898, ptr %28, align 8, !tbaa !9
  %2899 = load i32, ptr @test_count, align 4, !tbaa !5
  %2900 = add nsw i32 %2899, 1
  store i32 %2900, ptr @test_count, align 4, !tbaa !5
  %2901 = icmp eq ptr %2898, null
  br i1 %2901, label %2902, label %2924

2902:                                             ; preds = %2897
  %2903 = load i32, ptr %1317, align 4, !tbaa !5
  %2904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2905 = call i32 @s2n_print_stacktrace(ptr noundef %2904) #12
  %2906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2907 = trunc nuw i8 %2906 to i1
  br i1 %2907, label %2908, label %2912

2908:                                             ; preds = %2902
  %2909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2910 = call i32 @fileno(ptr noundef %2909) #12
  %2911 = call i32 @isatty(i32 noundef %2910) #12
  %.not2082 = icmp eq i32 %2911, 0
  br i1 %.not2082, label %2912, label %2913

2912:                                             ; preds = %2908, %2902
  br label %2913

2913:                                             ; preds = %2908, %2912
  %.str.26.sink3152 = phi ptr [ @.str.26, %2912 ], [ @.str.23, %2908 ]
  store i32 %2903, ptr %1317, align 4, !tbaa !5
  %2914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2915 = load i32, ptr @test_count, align 4, !tbaa !5
  %2916 = load i32, ptr %1263, align 4, !tbaa !5
  %2917 = call ptr @s2n_strerror(i32 noundef %2916, ptr noundef nonnull @.str.25) #12
  %2918 = load i32, ptr %1263, align 4, !tbaa !5
  %2919 = call ptr @s2n_strerror_debug(i32 noundef %2918, ptr noundef nonnull @.str.25) #12
  %2920 = load i32, ptr %1317, align 4, !tbaa !5
  %2921 = call ptr @strerror(i32 noundef %2920) #12
  %2922 = load i32, ptr %1317, align 4, !tbaa !5
  %2923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2914, ptr noundef nonnull %.str.26.sink3152, i32 noundef %2915, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 371, ptr noundef %2917, ptr noundef %2919, ptr noundef %2921, i32 noundef %2922) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2924:                                             ; preds = %2897
  %2925 = add nsw i32 %2899, 2
  store i32 %2925, ptr @test_count, align 4, !tbaa !5
  %2926 = load ptr, ptr %27, align 8, !tbaa !9
  %2927 = call i32 @s2n_connection_set_config(ptr noundef %2926, ptr noundef nonnull %2898) #12
  %2928 = icmp eq i32 %2927, -1
  br i1 %2928, label %2929, label %2951

2929:                                             ; preds = %2924
  %2930 = load i32, ptr %1317, align 4, !tbaa !5
  %2931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2932 = call i32 @s2n_print_stacktrace(ptr noundef %2931) #12
  %2933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2934 = trunc nuw i8 %2933 to i1
  br i1 %2934, label %2935, label %2939

2935:                                             ; preds = %2929
  %2936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2937 = call i32 @fileno(ptr noundef %2936) #12
  %2938 = call i32 @isatty(i32 noundef %2937) #12
  %.not2081 = icmp eq i32 %2938, 0
  br i1 %.not2081, label %2939, label %2940

2939:                                             ; preds = %2935, %2929
  br label %2940

2940:                                             ; preds = %2935, %2939
  %.str.26.sink3161 = phi ptr [ @.str.26, %2939 ], [ @.str.23, %2935 ]
  store i32 %2930, ptr %1317, align 4, !tbaa !5
  %2941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2942 = load i32, ptr @test_count, align 4, !tbaa !5
  %2943 = load i32, ptr %1263, align 4, !tbaa !5
  %2944 = call ptr @s2n_strerror(i32 noundef %2943, ptr noundef nonnull @.str.25) #12
  %2945 = load i32, ptr %1263, align 4, !tbaa !5
  %2946 = call ptr @s2n_strerror_debug(i32 noundef %2945, ptr noundef nonnull @.str.25) #12
  %2947 = load i32, ptr %1317, align 4, !tbaa !5
  %2948 = call ptr @strerror(i32 noundef %2947) #12
  %2949 = load i32, ptr %1317, align 4, !tbaa !5
  %2950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2941, ptr noundef nonnull %.str.26.sink3161, i32 noundef %2942, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 372, ptr noundef %2944, ptr noundef %2946, ptr noundef %2948, i32 noundef %2949) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2951:                                             ; preds = %2924
  %2952 = load ptr, ptr %28, align 8, !tbaa !9
  %2953 = getelementptr inbounds i8, ptr %2952, i64 160
  store i64 3600000000000, ptr %2953, align 8, !tbaa !55
  %2954 = getelementptr inbounds i8, ptr %2952, i64 168
  store i64 3600000000000, ptr %2954, align 8, !tbaa !59
  %2955 = getelementptr inbounds i8, ptr %2952, i64 144
  store i64 10800000000000, ptr %2955, align 8, !tbaa !60
  store i64 1800000000000, ptr @mock_current_time, align 8, !tbaa !15
  %2956 = load i32, ptr @test_count, align 4, !tbaa !5
  %2957 = add nsw i32 %2956, 1
  store i32 %2957, ptr @test_count, align 4, !tbaa !5
  %2958 = call i32 @s2n_config_set_wall_clock(ptr noundef %2952, ptr noundef nonnull @mock_time, ptr noundef null) #12
  %2959 = icmp eq i32 %2958, -1
  br i1 %2959, label %2960, label %2982

2960:                                             ; preds = %2951
  %2961 = load i32, ptr %1317, align 4, !tbaa !5
  %2962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2963 = call i32 @s2n_print_stacktrace(ptr noundef %2962) #12
  %2964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2965 = trunc nuw i8 %2964 to i1
  br i1 %2965, label %2966, label %2970

2966:                                             ; preds = %2960
  %2967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2968 = call i32 @fileno(ptr noundef %2967) #12
  %2969 = call i32 @isatty(i32 noundef %2968) #12
  %.not2080 = icmp eq i32 %2969, 0
  br i1 %.not2080, label %2970, label %2971

2970:                                             ; preds = %2966, %2960
  br label %2971

2971:                                             ; preds = %2966, %2970
  %.str.26.sink3170 = phi ptr [ @.str.26, %2970 ], [ @.str.23, %2966 ]
  store i32 %2961, ptr %1317, align 4, !tbaa !5
  %2972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2973 = load i32, ptr @test_count, align 4, !tbaa !5
  %2974 = load i32, ptr %1263, align 4, !tbaa !5
  %2975 = call ptr @s2n_strerror(i32 noundef %2974, ptr noundef nonnull @.str.25) #12
  %2976 = load i32, ptr %1263, align 4, !tbaa !5
  %2977 = call ptr @s2n_strerror_debug(i32 noundef %2976, ptr noundef nonnull @.str.25) #12
  %2978 = load i32, ptr %1317, align 4, !tbaa !5
  %2979 = call ptr @strerror(i32 noundef %2978) #12
  %2980 = load i32, ptr %1317, align 4, !tbaa !5
  %2981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2972, ptr noundef nonnull %.str.26.sink3170, i32 noundef %2973, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.22, i32 noundef 380, ptr noundef %2975, ptr noundef %2977, ptr noundef %2979, i32 noundef %2980) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2982:                                             ; preds = %2951
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #12
  %2983 = load i64, ptr @mock_current_time, align 8, !tbaa !15
  store i64 %2983, ptr %29, align 8, !tbaa !15
  %2984 = load i32, ptr @test_count, align 4, !tbaa !5
  %2985 = add nsw i32 %2984, 1
  store i32 %2985, ptr @test_count, align 4, !tbaa !5
  %2986 = load ptr, ptr %27, align 8, !tbaa !9
  %2987 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %2986, i64 noundef %2983, ptr noundef nonnull %26)
  %2988 = call zeroext i1 @s2n_result_is_ok(i32 %2987)
  br i1 %2988, label %3011, label %2989

2989:                                             ; preds = %2982
  %2990 = load i32, ptr %1317, align 4, !tbaa !5
  %2991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2992 = call i32 @s2n_print_stacktrace(ptr noundef %2991) #12
  %2993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2994 = trunc nuw i8 %2993 to i1
  br i1 %2994, label %2995, label %2999

2995:                                             ; preds = %2989
  %2996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2997 = call i32 @fileno(ptr noundef %2996) #12
  %2998 = call i32 @isatty(i32 noundef %2997) #12
  %.not1642 = icmp eq i32 %2998, 0
  br i1 %.not1642, label %2999, label %3000

2999:                                             ; preds = %2995, %2989
  br label %3000

3000:                                             ; preds = %2995, %2999
  %.str.26.sink3179 = phi ptr [ @.str.26, %2999 ], [ @.str.23, %2995 ]
  store i32 %2990, ptr %1317, align 4, !tbaa !5
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = load i32, ptr @test_count, align 4, !tbaa !5
  %3003 = load i32, ptr %1263, align 4, !tbaa !5
  %3004 = call ptr @s2n_strerror(i32 noundef %3003, ptr noundef nonnull @.str.25) #12
  %3005 = load i32, ptr %1263, align 4, !tbaa !5
  %3006 = call ptr @s2n_strerror_debug(i32 noundef %3005, ptr noundef nonnull @.str.25) #12
  %3007 = load i32, ptr %1317, align 4, !tbaa !5
  %3008 = call ptr @strerror(i32 noundef %3007) #12
  %3009 = load i32, ptr %1317, align 4, !tbaa !5
  %3010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3001, ptr noundef nonnull %.str.26.sink3179, i32 noundef %3002, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.22, i32 noundef 383, ptr noundef %3004, ptr noundef %3006, ptr noundef %3008, i32 noundef %3009) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3011:                                             ; preds = %2982
  %3012 = load i32, ptr @test_count, align 4, !tbaa !5
  %3013 = add nsw i32 %3012, 1
  store i32 %3013, ptr @test_count, align 4, !tbaa !5
  %3014 = load i32, ptr %26, align 4, !tbaa !5
  %3015 = icmp eq i32 %3014, 7200
  br i1 %3015, label %3038, label %3016

3016:                                             ; preds = %3011
  %3017 = load i32, ptr %1317, align 4, !tbaa !5
  %3018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3019 = call i32 @s2n_print_stacktrace(ptr noundef %3018) #12
  %3020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3021 = trunc nuw i8 %3020 to i1
  br i1 %3021, label %3022, label %3026

3022:                                             ; preds = %3016
  %3023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3024 = call i32 @fileno(ptr noundef %3023) #12
  %3025 = call i32 @isatty(i32 noundef %3024) #12
  %.not1643 = icmp eq i32 %3025, 0
  br i1 %.not1643, label %3026, label %3027

3026:                                             ; preds = %3022, %3016
  br label %3027

3027:                                             ; preds = %3022, %3026
  %.str.26.sink3188 = phi ptr [ @.str.26, %3026 ], [ @.str.23, %3022 ]
  store i32 %3017, ptr %1317, align 4, !tbaa !5
  %3028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3029 = load i32, ptr @test_count, align 4, !tbaa !5
  %3030 = load i32, ptr %1263, align 4, !tbaa !5
  %3031 = call ptr @s2n_strerror(i32 noundef %3030, ptr noundef nonnull @.str.25) #12
  %3032 = load i32, ptr %1263, align 4, !tbaa !5
  %3033 = call ptr @s2n_strerror_debug(i32 noundef %3032, ptr noundef nonnull @.str.25) #12
  %3034 = load i32, ptr %1317, align 4, !tbaa !5
  %3035 = call ptr @strerror(i32 noundef %3034) #12
  %3036 = load i32, ptr %1317, align 4, !tbaa !5
  %3037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3028, ptr noundef nonnull %.str.26.sink3188, i32 noundef %3029, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.22, i32 noundef 384, ptr noundef %3031, ptr noundef %3033, ptr noundef %3035, i32 noundef %3036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3038:                                             ; preds = %3011
  %3039 = load ptr, ptr %28, align 8, !tbaa !9
  %3040 = getelementptr inbounds i8, ptr %3039, i64 160
  store i64 3600000000000, ptr %3040, align 8, !tbaa !55
  %3041 = getelementptr inbounds i8, ptr %3039, i64 168
  store i64 3600000000000, ptr %3041, align 8, !tbaa !59
  %3042 = getelementptr inbounds i8, ptr %3039, i64 144
  store i64 3600000000000, ptr %3042, align 8, !tbaa !60
  %3043 = add nsw i32 %3012, 2
  store i32 %3043, ptr @test_count, align 4, !tbaa !5
  %3044 = load ptr, ptr %27, align 8, !tbaa !9
  %3045 = load i64, ptr %29, align 8, !tbaa !15
  %3046 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %3044, i64 noundef %3045, ptr noundef nonnull %26)
  %3047 = call zeroext i1 @s2n_result_is_ok(i32 %3046)
  br i1 %3047, label %3070, label %3048

3048:                                             ; preds = %3038
  %3049 = load i32, ptr %1317, align 4, !tbaa !5
  %3050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3051 = call i32 @s2n_print_stacktrace(ptr noundef %3050) #12
  %3052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3053 = trunc nuw i8 %3052 to i1
  br i1 %3053, label %3054, label %3058

3054:                                             ; preds = %3048
  %3055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3056 = call i32 @fileno(ptr noundef %3055) #12
  %3057 = call i32 @isatty(i32 noundef %3056) #12
  %.not1644 = icmp eq i32 %3057, 0
  br i1 %.not1644, label %3058, label %3059

3058:                                             ; preds = %3054, %3048
  br label %3059

3059:                                             ; preds = %3054, %3058
  %.str.26.sink3197 = phi ptr [ @.str.26, %3058 ], [ @.str.23, %3054 ]
  store i32 %3049, ptr %1317, align 4, !tbaa !5
  %3060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3061 = load i32, ptr @test_count, align 4, !tbaa !5
  %3062 = load i32, ptr %1263, align 4, !tbaa !5
  %3063 = call ptr @s2n_strerror(i32 noundef %3062, ptr noundef nonnull @.str.25) #12
  %3064 = load i32, ptr %1263, align 4, !tbaa !5
  %3065 = call ptr @s2n_strerror_debug(i32 noundef %3064, ptr noundef nonnull @.str.25) #12
  %3066 = load i32, ptr %1317, align 4, !tbaa !5
  %3067 = call ptr @strerror(i32 noundef %3066) #12
  %3068 = load i32, ptr %1317, align 4, !tbaa !5
  %3069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3060, ptr noundef nonnull %.str.26.sink3197, i32 noundef %3061, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.22, i32 noundef 391, ptr noundef %3063, ptr noundef %3065, ptr noundef %3067, i32 noundef %3068) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3070:                                             ; preds = %3038
  %3071 = load i32, ptr @test_count, align 4, !tbaa !5
  %3072 = add nsw i32 %3071, 1
  store i32 %3072, ptr @test_count, align 4, !tbaa !5
  %3073 = load i32, ptr %26, align 4, !tbaa !5
  %3074 = icmp eq i32 %3073, 3600
  br i1 %3074, label %3097, label %3075

3075:                                             ; preds = %3070
  %3076 = load i32, ptr %1317, align 4, !tbaa !5
  %3077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3078 = call i32 @s2n_print_stacktrace(ptr noundef %3077) #12
  %3079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3080 = trunc nuw i8 %3079 to i1
  br i1 %3080, label %3081, label %3085

3081:                                             ; preds = %3075
  %3082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3083 = call i32 @fileno(ptr noundef %3082) #12
  %3084 = call i32 @isatty(i32 noundef %3083) #12
  %.not1645 = icmp eq i32 %3084, 0
  br i1 %.not1645, label %3085, label %3086

3085:                                             ; preds = %3081, %3075
  br label %3086

3086:                                             ; preds = %3081, %3085
  %.str.26.sink3206 = phi ptr [ @.str.26, %3085 ], [ @.str.23, %3081 ]
  store i32 %3076, ptr %1317, align 4, !tbaa !5
  %3087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3088 = load i32, ptr @test_count, align 4, !tbaa !5
  %3089 = load i32, ptr %1263, align 4, !tbaa !5
  %3090 = call ptr @s2n_strerror(i32 noundef %3089, ptr noundef nonnull @.str.25) #12
  %3091 = load i32, ptr %1263, align 4, !tbaa !5
  %3092 = call ptr @s2n_strerror_debug(i32 noundef %3091, ptr noundef nonnull @.str.25) #12
  %3093 = load i32, ptr %1317, align 4, !tbaa !5
  %3094 = call ptr @strerror(i32 noundef %3093) #12
  %3095 = load i32, ptr %1317, align 4, !tbaa !5
  %3096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3087, ptr noundef nonnull %.str.26.sink3206, i32 noundef %3088, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.22, i32 noundef 392, ptr noundef %3090, ptr noundef %3092, ptr noundef %3094, i32 noundef %3095) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3097:                                             ; preds = %3070
  %3098 = load ptr, ptr %28, align 8, !tbaa !9
  %3099 = getelementptr inbounds i8, ptr %3098, i64 160
  store i64 604800000000000, ptr %3099, align 8, !tbaa !55
  %3100 = getelementptr inbounds i8, ptr %3098, i64 168
  store i64 604800000000000, ptr %3100, align 8, !tbaa !59
  %3101 = getelementptr inbounds i8, ptr %3098, i64 144
  store i64 604800000000001, ptr %3101, align 8, !tbaa !60
  %3102 = add nsw i32 %3071, 2
  store i32 %3102, ptr @test_count, align 4, !tbaa !5
  %3103 = load ptr, ptr %27, align 8, !tbaa !9
  %3104 = load i64, ptr %29, align 8, !tbaa !15
  %3105 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %3103, i64 noundef %3104, ptr noundef nonnull %26)
  %3106 = call zeroext i1 @s2n_result_is_ok(i32 %3105)
  br i1 %3106, label %3129, label %3107

3107:                                             ; preds = %3097
  %3108 = load i32, ptr %1317, align 4, !tbaa !5
  %3109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3110 = call i32 @s2n_print_stacktrace(ptr noundef %3109) #12
  %3111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3112 = trunc nuw i8 %3111 to i1
  br i1 %3112, label %3113, label %3117

3113:                                             ; preds = %3107
  %3114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3115 = call i32 @fileno(ptr noundef %3114) #12
  %3116 = call i32 @isatty(i32 noundef %3115) #12
  %.not1646 = icmp eq i32 %3116, 0
  br i1 %.not1646, label %3117, label %3118

3117:                                             ; preds = %3113, %3107
  br label %3118

3118:                                             ; preds = %3113, %3117
  %.str.26.sink3215 = phi ptr [ @.str.26, %3117 ], [ @.str.23, %3113 ]
  store i32 %3108, ptr %1317, align 4, !tbaa !5
  %3119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3120 = load i32, ptr @test_count, align 4, !tbaa !5
  %3121 = load i32, ptr %1263, align 4, !tbaa !5
  %3122 = call ptr @s2n_strerror(i32 noundef %3121, ptr noundef nonnull @.str.25) #12
  %3123 = load i32, ptr %1263, align 4, !tbaa !5
  %3124 = call ptr @s2n_strerror_debug(i32 noundef %3123, ptr noundef nonnull @.str.25) #12
  %3125 = load i32, ptr %1317, align 4, !tbaa !5
  %3126 = call ptr @strerror(i32 noundef %3125) #12
  %3127 = load i32, ptr %1317, align 4, !tbaa !5
  %3128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3119, ptr noundef nonnull %.str.26.sink3215, i32 noundef %3120, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.22, i32 noundef 410, ptr noundef %3122, ptr noundef %3124, ptr noundef %3126, i32 noundef %3127) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3129:                                             ; preds = %3097
  %3130 = load i32, ptr @test_count, align 4, !tbaa !5
  %3131 = add nsw i32 %3130, 1
  store i32 %3131, ptr @test_count, align 4, !tbaa !5
  %3132 = load i32, ptr %26, align 4, !tbaa !5
  %3133 = icmp eq i32 %3132, 604800
  br i1 %3133, label %3156, label %3134

3134:                                             ; preds = %3129
  %3135 = load i32, ptr %1317, align 4, !tbaa !5
  %3136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3137 = call i32 @s2n_print_stacktrace(ptr noundef %3136) #12
  %3138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3139 = trunc nuw i8 %3138 to i1
  br i1 %3139, label %3140, label %3144

3140:                                             ; preds = %3134
  %3141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3142 = call i32 @fileno(ptr noundef %3141) #12
  %3143 = call i32 @isatty(i32 noundef %3142) #12
  %.not1647 = icmp eq i32 %3143, 0
  br i1 %.not1647, label %3144, label %3145

3144:                                             ; preds = %3140, %3134
  br label %3145

3145:                                             ; preds = %3140, %3144
  %.str.26.sink3224 = phi ptr [ @.str.26, %3144 ], [ @.str.23, %3140 ]
  store i32 %3135, ptr %1317, align 4, !tbaa !5
  %3146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3147 = load i32, ptr @test_count, align 4, !tbaa !5
  %3148 = load i32, ptr %1263, align 4, !tbaa !5
  %3149 = call ptr @s2n_strerror(i32 noundef %3148, ptr noundef nonnull @.str.25) #12
  %3150 = load i32, ptr %1263, align 4, !tbaa !5
  %3151 = call ptr @s2n_strerror_debug(i32 noundef %3150, ptr noundef nonnull @.str.25) #12
  %3152 = load i32, ptr %1317, align 4, !tbaa !5
  %3153 = call ptr @strerror(i32 noundef %3152) #12
  %3154 = load i32, ptr %1317, align 4, !tbaa !5
  %3155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3146, ptr noundef nonnull %.str.26.sink3224, i32 noundef %3147, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.22, i32 noundef 411, ptr noundef %3149, ptr noundef %3151, ptr noundef %3153, i32 noundef %3154) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3156:                                             ; preds = %3129
  %3157 = add nsw i32 %3130, 2
  store i32 %3157, ptr @test_count, align 4, !tbaa !5
  %3158 = load ptr, ptr %27, align 8, !tbaa !9
  %3159 = call i32 @s2n_test_init_ticket_lifetime(ptr noundef %3158, ptr noundef nonnull %29)
  %3160 = call zeroext i1 @s2n_result_is_ok(i32 %3159)
  br i1 %3160, label %3183, label %3161

3161:                                             ; preds = %3156
  %3162 = load i32, ptr %1317, align 4, !tbaa !5
  %3163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3164 = call i32 @s2n_print_stacktrace(ptr noundef %3163) #12
  %3165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3166 = trunc nuw i8 %3165 to i1
  br i1 %3166, label %3167, label %3171

3167:                                             ; preds = %3161
  %3168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3169 = call i32 @fileno(ptr noundef %3168) #12
  %3170 = call i32 @isatty(i32 noundef %3169) #12
  %.not1648 = icmp eq i32 %3170, 0
  br i1 %.not1648, label %3171, label %3172

3171:                                             ; preds = %3167, %3161
  br label %3172

3172:                                             ; preds = %3167, %3171
  %.str.26.sink3233 = phi ptr [ @.str.26, %3171 ], [ @.str.23, %3167 ]
  store i32 %3162, ptr %1317, align 4, !tbaa !5
  %3173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3174 = load i32, ptr @test_count, align 4, !tbaa !5
  %3175 = load i32, ptr %1263, align 4, !tbaa !5
  %3176 = call ptr @s2n_strerror(i32 noundef %3175, ptr noundef nonnull @.str.25) #12
  %3177 = load i32, ptr %1263, align 4, !tbaa !5
  %3178 = call ptr @s2n_strerror_debug(i32 noundef %3177, ptr noundef nonnull @.str.25) #12
  %3179 = load i32, ptr %1317, align 4, !tbaa !5
  %3180 = call ptr @strerror(i32 noundef %3179) #12
  %3181 = load i32, ptr %1317, align 4, !tbaa !5
  %3182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3173, ptr noundef nonnull %.str.26.sink3233, i32 noundef %3174, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.22, i32 noundef 415, ptr noundef %3176, ptr noundef %3178, ptr noundef %3180, i32 noundef %3181) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3183:                                             ; preds = %3156
  store i64 1800000000000, ptr @mock_current_time, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #12
  store i32 0, ptr %30, align 4, !tbaa !5
  %3184 = load i32, ptr @test_count, align 4, !tbaa !5
  %3185 = add nsw i32 %3184, 1
  store i32 %3185, ptr @test_count, align 4, !tbaa !5
  %3186 = load ptr, ptr %27, align 8, !tbaa !9
  %3187 = load i64, ptr %29, align 8, !tbaa !15
  %3188 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %3186, i64 noundef %3187, ptr noundef nonnull %30)
  %3189 = call zeroext i1 @s2n_result_is_ok(i32 %3188)
  br i1 %3189, label %3212, label %3190

3190:                                             ; preds = %3183
  %3191 = load i32, ptr %1317, align 4, !tbaa !5
  %3192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3193 = call i32 @s2n_print_stacktrace(ptr noundef %3192) #12
  %3194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3195 = trunc nuw i8 %3194 to i1
  br i1 %3195, label %3196, label %3200

3196:                                             ; preds = %3190
  %3197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3198 = call i32 @fileno(ptr noundef %3197) #12
  %3199 = call i32 @isatty(i32 noundef %3198) #12
  %.not1649 = icmp eq i32 %3199, 0
  br i1 %.not1649, label %3200, label %3201

3200:                                             ; preds = %3196, %3190
  br label %3201

3201:                                             ; preds = %3196, %3200
  %.str.26.sink3242 = phi ptr [ @.str.26, %3200 ], [ @.str.23, %3196 ]
  store i32 %3191, ptr %1317, align 4, !tbaa !5
  %3202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3203 = load i32, ptr @test_count, align 4, !tbaa !5
  %3204 = load i32, ptr %1263, align 4, !tbaa !5
  %3205 = call ptr @s2n_strerror(i32 noundef %3204, ptr noundef nonnull @.str.25) #12
  %3206 = load i32, ptr %1263, align 4, !tbaa !5
  %3207 = call ptr @s2n_strerror_debug(i32 noundef %3206, ptr noundef nonnull @.str.25) #12
  %3208 = load i32, ptr %1317, align 4, !tbaa !5
  %3209 = call ptr @strerror(i32 noundef %3208) #12
  %3210 = load i32, ptr %1317, align 4, !tbaa !5
  %3211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3202, ptr noundef nonnull %.str.26.sink3242, i32 noundef %3203, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.22, i32 noundef 419, ptr noundef %3205, ptr noundef %3207, ptr noundef %3209, i32 noundef %3210) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3212:                                             ; preds = %3183
  %3213 = load i32, ptr @test_count, align 4, !tbaa !5
  %3214 = add nsw i32 %3213, 1
  store i32 %3214, ptr @test_count, align 4, !tbaa !5
  %3215 = load i32, ptr %30, align 4, !tbaa !5
  %3216 = icmp eq i32 %3215, 1800
  br i1 %3216, label %3239, label %3217

3217:                                             ; preds = %3212
  %3218 = load i32, ptr %1317, align 4, !tbaa !5
  %3219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3220 = call i32 @s2n_print_stacktrace(ptr noundef %3219) #12
  %3221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3222 = trunc nuw i8 %3221 to i1
  br i1 %3222, label %3223, label %3227

3223:                                             ; preds = %3217
  %3224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3225 = call i32 @fileno(ptr noundef %3224) #12
  %3226 = call i32 @isatty(i32 noundef %3225) #12
  %.not1650 = icmp eq i32 %3226, 0
  br i1 %.not1650, label %3227, label %3228

3227:                                             ; preds = %3223, %3217
  br label %3228

3228:                                             ; preds = %3223, %3227
  %.str.26.sink3251 = phi ptr [ @.str.26, %3227 ], [ @.str.23, %3223 ]
  store i32 %3218, ptr %1317, align 4, !tbaa !5
  %3229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3230 = load i32, ptr @test_count, align 4, !tbaa !5
  %3231 = load i32, ptr %1263, align 4, !tbaa !5
  %3232 = call ptr @s2n_strerror(i32 noundef %3231, ptr noundef nonnull @.str.25) #12
  %3233 = load i32, ptr %1263, align 4, !tbaa !5
  %3234 = call ptr @s2n_strerror_debug(i32 noundef %3233, ptr noundef nonnull @.str.25) #12
  %3235 = load i32, ptr %1317, align 4, !tbaa !5
  %3236 = call ptr @strerror(i32 noundef %3235) #12
  %3237 = load i32, ptr %1317, align 4, !tbaa !5
  %3238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3229, ptr noundef nonnull %.str.26.sink3251, i32 noundef %3230, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.22, i32 noundef 420, ptr noundef %3232, ptr noundef %3234, ptr noundef %3236, i32 noundef %3237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3239:                                             ; preds = %3212
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #12
  %3240 = add nsw i32 %3213, 2
  store i32 %3240, ptr @test_count, align 4, !tbaa !5
  %3241 = load ptr, ptr %27, align 8, !tbaa !9
  %3242 = call i32 @s2n_test_init_ticket_lifetime(ptr noundef %3241, ptr noundef nonnull %29)
  %3243 = call zeroext i1 @s2n_result_is_ok(i32 %3242)
  br i1 %3243, label %3266, label %3244

3244:                                             ; preds = %3239
  %3245 = load i32, ptr %1317, align 4, !tbaa !5
  %3246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3247 = call i32 @s2n_print_stacktrace(ptr noundef %3246) #12
  %3248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3249 = trunc nuw i8 %3248 to i1
  br i1 %3249, label %3250, label %3254

3250:                                             ; preds = %3244
  %3251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3252 = call i32 @fileno(ptr noundef %3251) #12
  %3253 = call i32 @isatty(i32 noundef %3252) #12
  %.not1651 = icmp eq i32 %3253, 0
  br i1 %.not1651, label %3254, label %3255

3254:                                             ; preds = %3250, %3244
  br label %3255

3255:                                             ; preds = %3250, %3254
  %.str.26.sink3260 = phi ptr [ @.str.26, %3254 ], [ @.str.23, %3250 ]
  store i32 %3245, ptr %1317, align 4, !tbaa !5
  %3256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3257 = load i32, ptr @test_count, align 4, !tbaa !5
  %3258 = load i32, ptr %1263, align 4, !tbaa !5
  %3259 = call ptr @s2n_strerror(i32 noundef %3258, ptr noundef nonnull @.str.25) #12
  %3260 = load i32, ptr %1263, align 4, !tbaa !5
  %3261 = call ptr @s2n_strerror_debug(i32 noundef %3260, ptr noundef nonnull @.str.25) #12
  %3262 = load i32, ptr %1317, align 4, !tbaa !5
  %3263 = call ptr @strerror(i32 noundef %3262) #12
  %3264 = load i32, ptr %1317, align 4, !tbaa !5
  %3265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3256, ptr noundef nonnull %.str.26.sink3260, i32 noundef %3257, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.22, i32 noundef 425, ptr noundef %3259, ptr noundef %3261, ptr noundef %3263, i32 noundef %3264) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3266:                                             ; preds = %3239
  %3267 = load i32, ptr @test_count, align 4, !tbaa !5
  %3268 = add nsw i32 %3267, 1
  store i32 %3268, ptr @test_count, align 4, !tbaa !5
  %3269 = load ptr, ptr %27, align 8, !tbaa !9
  %3270 = call i32 @s2n_connection_set_server_keying_material_lifetime(ptr noundef %3269, i32 noundef 1800) #12
  %3271 = icmp eq i32 %3270, -1
  br i1 %3271, label %3272, label %3294

3272:                                             ; preds = %3266
  %3273 = load i32, ptr %1317, align 4, !tbaa !5
  %3274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3275 = call i32 @s2n_print_stacktrace(ptr noundef %3274) #12
  %3276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3277 = trunc nuw i8 %3276 to i1
  br i1 %3277, label %3278, label %3282

3278:                                             ; preds = %3272
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = call i32 @fileno(ptr noundef %3279) #12
  %3281 = call i32 @isatty(i32 noundef %3280) #12
  %.not2079 = icmp eq i32 %3281, 0
  br i1 %.not2079, label %3282, label %3283

3282:                                             ; preds = %3278, %3272
  br label %3283

3283:                                             ; preds = %3278, %3282
  %.str.26.sink3269 = phi ptr [ @.str.26, %3282 ], [ @.str.23, %3278 ]
  store i32 %3273, ptr %1317, align 4, !tbaa !5
  %3284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3285 = load i32, ptr @test_count, align 4, !tbaa !5
  %3286 = load i32, ptr %1263, align 4, !tbaa !5
  %3287 = call ptr @s2n_strerror(i32 noundef %3286, ptr noundef nonnull @.str.25) #12
  %3288 = load i32, ptr %1263, align 4, !tbaa !5
  %3289 = call ptr @s2n_strerror_debug(i32 noundef %3288, ptr noundef nonnull @.str.25) #12
  %3290 = load i32, ptr %1317, align 4, !tbaa !5
  %3291 = call ptr @strerror(i32 noundef %3290) #12
  %3292 = load i32, ptr %1317, align 4, !tbaa !5
  %3293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3284, ptr noundef nonnull %.str.26.sink3269, i32 noundef %3285, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.22, i32 noundef 426, ptr noundef %3287, ptr noundef %3289, ptr noundef %3291, i32 noundef %3292) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3294:                                             ; preds = %3266
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #12
  store i32 0, ptr %31, align 4, !tbaa !5
  %3295 = load i32, ptr @test_count, align 4, !tbaa !5
  %3296 = add nsw i32 %3295, 1
  store i32 %3296, ptr @test_count, align 4, !tbaa !5
  %3297 = load ptr, ptr %27, align 8, !tbaa !9
  %3298 = load i64, ptr %29, align 8, !tbaa !15
  %3299 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %3297, i64 noundef %3298, ptr noundef nonnull %31)
  %3300 = call zeroext i1 @s2n_result_is_ok(i32 %3299)
  br i1 %3300, label %3323, label %3301

3301:                                             ; preds = %3294
  %3302 = load i32, ptr %1317, align 4, !tbaa !5
  %3303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3304 = call i32 @s2n_print_stacktrace(ptr noundef %3303) #12
  %3305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3306 = trunc nuw i8 %3305 to i1
  br i1 %3306, label %3307, label %3311

3307:                                             ; preds = %3301
  %3308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3309 = call i32 @fileno(ptr noundef %3308) #12
  %3310 = call i32 @isatty(i32 noundef %3309) #12
  %.not1652 = icmp eq i32 %3310, 0
  br i1 %.not1652, label %3311, label %3312

3311:                                             ; preds = %3307, %3301
  br label %3312

3312:                                             ; preds = %3307, %3311
  %.str.26.sink3278 = phi ptr [ @.str.26, %3311 ], [ @.str.23, %3307 ]
  store i32 %3302, ptr %1317, align 4, !tbaa !5
  %3313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3314 = load i32, ptr @test_count, align 4, !tbaa !5
  %3315 = load i32, ptr %1263, align 4, !tbaa !5
  %3316 = call ptr @s2n_strerror(i32 noundef %3315, ptr noundef nonnull @.str.25) #12
  %3317 = load i32, ptr %1263, align 4, !tbaa !5
  %3318 = call ptr @s2n_strerror_debug(i32 noundef %3317, ptr noundef nonnull @.str.25) #12
  %3319 = load i32, ptr %1317, align 4, !tbaa !5
  %3320 = call ptr @strerror(i32 noundef %3319) #12
  %3321 = load i32, ptr %1317, align 4, !tbaa !5
  %3322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3313, ptr noundef nonnull %.str.26.sink3278, i32 noundef %3314, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.22, i32 noundef 431, ptr noundef %3316, ptr noundef %3318, ptr noundef %3320, i32 noundef %3321) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3323:                                             ; preds = %3294
  %3324 = load i32, ptr @test_count, align 4, !tbaa !5
  %3325 = add nsw i32 %3324, 1
  store i32 %3325, ptr @test_count, align 4, !tbaa !5
  %3326 = load i32, ptr %31, align 4, !tbaa !5
  %3327 = icmp eq i32 %3326, 1800
  br i1 %3327, label %3350, label %3328

3328:                                             ; preds = %3323
  %3329 = load i32, ptr %1317, align 4, !tbaa !5
  %3330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3331 = call i32 @s2n_print_stacktrace(ptr noundef %3330) #12
  %3332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3333 = trunc nuw i8 %3332 to i1
  br i1 %3333, label %3334, label %3338

3334:                                             ; preds = %3328
  %3335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3336 = call i32 @fileno(ptr noundef %3335) #12
  %3337 = call i32 @isatty(i32 noundef %3336) #12
  %.not1653 = icmp eq i32 %3337, 0
  br i1 %.not1653, label %3338, label %3339

3338:                                             ; preds = %3334, %3328
  br label %3339

3339:                                             ; preds = %3334, %3338
  %.str.26.sink3287 = phi ptr [ @.str.26, %3338 ], [ @.str.23, %3334 ]
  store i32 %3329, ptr %1317, align 4, !tbaa !5
  %3340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3341 = load i32, ptr @test_count, align 4, !tbaa !5
  %3342 = load i32, ptr %1263, align 4, !tbaa !5
  %3343 = call ptr @s2n_strerror(i32 noundef %3342, ptr noundef nonnull @.str.25) #12
  %3344 = load i32, ptr %1263, align 4, !tbaa !5
  %3345 = call ptr @s2n_strerror_debug(i32 noundef %3344, ptr noundef nonnull @.str.25) #12
  %3346 = load i32, ptr %1317, align 4, !tbaa !5
  %3347 = call ptr @strerror(i32 noundef %3346) #12
  %3348 = load i32, ptr %1317, align 4, !tbaa !5
  %3349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3340, ptr noundef nonnull %.str.26.sink3287, i32 noundef %3341, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.22, i32 noundef 432, ptr noundef %3343, ptr noundef %3345, ptr noundef %3347, i32 noundef %3348) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3350:                                             ; preds = %3323
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #12
  %3351 = add nsw i32 %3324, 2
  store i32 %3351, ptr @test_count, align 4, !tbaa !5
  %3352 = load ptr, ptr %27, align 8, !tbaa !9
  %3353 = getelementptr inbounds i8, ptr %3352, i64 1688
  %3354 = call i32 @s2n_psk_parameters_wipe(ptr noundef nonnull %3353) #12
  %3355 = call zeroext i1 @s2n_result_is_ok(i32 %3354)
  br i1 %3355, label %3378, label %3356

3356:                                             ; preds = %3350
  %3357 = load i32, ptr %1317, align 4, !tbaa !5
  %3358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3359 = call i32 @s2n_print_stacktrace(ptr noundef %3358) #12
  %3360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3361 = trunc nuw i8 %3360 to i1
  br i1 %3361, label %3362, label %3366

3362:                                             ; preds = %3356
  %3363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3364 = call i32 @fileno(ptr noundef %3363) #12
  %3365 = call i32 @isatty(i32 noundef %3364) #12
  %.not1654 = icmp eq i32 %3365, 0
  br i1 %.not1654, label %3366, label %3367

3366:                                             ; preds = %3362, %3356
  br label %3367

3367:                                             ; preds = %3362, %3366
  %.str.26.sink3296 = phi ptr [ @.str.26, %3366 ], [ @.str.23, %3362 ]
  store i32 %3357, ptr %1317, align 4, !tbaa !5
  %3368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3369 = load i32, ptr @test_count, align 4, !tbaa !5
  %3370 = load i32, ptr %1263, align 4, !tbaa !5
  %3371 = call ptr @s2n_strerror(i32 noundef %3370, ptr noundef nonnull @.str.25) #12
  %3372 = load i32, ptr %1263, align 4, !tbaa !5
  %3373 = call ptr @s2n_strerror_debug(i32 noundef %3372, ptr noundef nonnull @.str.25) #12
  %3374 = load i32, ptr %1317, align 4, !tbaa !5
  %3375 = call ptr @strerror(i32 noundef %3374) #12
  %3376 = load i32, ptr %1317, align 4, !tbaa !5
  %3377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3368, ptr noundef nonnull %.str.26.sink3296, i32 noundef %3369, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.22, i32 noundef 437, ptr noundef %3371, ptr noundef %3373, ptr noundef %3375, i32 noundef %3376) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3378:                                             ; preds = %3350
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #12
  store i32 0, ptr %32, align 4, !tbaa !5
  %3379 = load i32, ptr @test_count, align 4, !tbaa !5
  %3380 = add nsw i32 %3379, 1
  store i32 %3380, ptr @test_count, align 4, !tbaa !5
  %3381 = load ptr, ptr %27, align 8, !tbaa !9
  %3382 = load i64, ptr %29, align 8, !tbaa !15
  %3383 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %3381, i64 noundef %3382, ptr noundef nonnull %32)
  %3384 = call zeroext i1 @s2n_result_is_ok(i32 %3383)
  br i1 %3384, label %3407, label %3385

3385:                                             ; preds = %3378
  %3386 = load i32, ptr %1317, align 4, !tbaa !5
  %3387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3388 = call i32 @s2n_print_stacktrace(ptr noundef %3387) #12
  %3389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3390 = trunc nuw i8 %3389 to i1
  br i1 %3390, label %3391, label %3395

3391:                                             ; preds = %3385
  %3392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3393 = call i32 @fileno(ptr noundef %3392) #12
  %3394 = call i32 @isatty(i32 noundef %3393) #12
  %.not1655 = icmp eq i32 %3394, 0
  br i1 %.not1655, label %3395, label %3396

3395:                                             ; preds = %3391, %3385
  br label %3396

3396:                                             ; preds = %3391, %3395
  %.str.26.sink3305 = phi ptr [ @.str.26, %3395 ], [ @.str.23, %3391 ]
  store i32 %3386, ptr %1317, align 4, !tbaa !5
  %3397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3398 = load i32, ptr @test_count, align 4, !tbaa !5
  %3399 = load i32, ptr %1263, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror(i32 noundef %3399, ptr noundef nonnull @.str.25) #12
  %3401 = load i32, ptr %1263, align 4, !tbaa !5
  %3402 = call ptr @s2n_strerror_debug(i32 noundef %3401, ptr noundef nonnull @.str.25) #12
  %3403 = load i32, ptr %1317, align 4, !tbaa !5
  %3404 = call ptr @strerror(i32 noundef %3403) #12
  %3405 = load i32, ptr %1317, align 4, !tbaa !5
  %3406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3397, ptr noundef nonnull %.str.26.sink3305, i32 noundef %3398, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.22, i32 noundef 440, ptr noundef %3400, ptr noundef %3402, ptr noundef %3404, i32 noundef %3405) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3407:                                             ; preds = %3378
  %3408 = load i32, ptr @test_count, align 4, !tbaa !5
  %3409 = add nsw i32 %3408, 1
  store i32 %3409, ptr @test_count, align 4, !tbaa !5
  %3410 = load i32, ptr %32, align 4, !tbaa !5
  %3411 = icmp eq i32 %3410, 1800
  br i1 %3411, label %3434, label %3412

3412:                                             ; preds = %3407
  %3413 = load i32, ptr %1317, align 4, !tbaa !5
  %3414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3415 = call i32 @s2n_print_stacktrace(ptr noundef %3414) #12
  %3416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3417 = trunc nuw i8 %3416 to i1
  br i1 %3417, label %3418, label %3422

3418:                                             ; preds = %3412
  %3419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3420 = call i32 @fileno(ptr noundef %3419) #12
  %3421 = call i32 @isatty(i32 noundef %3420) #12
  %.not1656 = icmp eq i32 %3421, 0
  br i1 %.not1656, label %3422, label %3423

3422:                                             ; preds = %3418, %3412
  br label %3423

3423:                                             ; preds = %3418, %3422
  %.str.26.sink3314 = phi ptr [ @.str.26, %3422 ], [ @.str.23, %3418 ]
  store i32 %3413, ptr %1317, align 4, !tbaa !5
  %3424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3425 = load i32, ptr @test_count, align 4, !tbaa !5
  %3426 = load i32, ptr %1263, align 4, !tbaa !5
  %3427 = call ptr @s2n_strerror(i32 noundef %3426, ptr noundef nonnull @.str.25) #12
  %3428 = load i32, ptr %1263, align 4, !tbaa !5
  %3429 = call ptr @s2n_strerror_debug(i32 noundef %3428, ptr noundef nonnull @.str.25) #12
  %3430 = load i32, ptr %1317, align 4, !tbaa !5
  %3431 = call ptr @strerror(i32 noundef %3430) #12
  %3432 = load i32, ptr %1317, align 4, !tbaa !5
  %3433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3424, ptr noundef nonnull %.str.26.sink3314, i32 noundef %3425, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.22, i32 noundef 441, ptr noundef %3427, ptr noundef %3429, ptr noundef %3431, i32 noundef %3432) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3434:                                             ; preds = %3407
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #12
  %3435 = add nsw i32 %3408, 2
  store i32 %3435, ptr @test_count, align 4, !tbaa !5
  %3436 = load ptr, ptr %27, align 8, !tbaa !9
  %3437 = call i32 @s2n_test_init_ticket_lifetime(ptr noundef %3436, ptr noundef nonnull %29)
  %3438 = call zeroext i1 @s2n_result_is_ok(i32 %3437)
  br i1 %3438, label %3461, label %3439

3439:                                             ; preds = %3434
  %3440 = load i32, ptr %1317, align 4, !tbaa !5
  %3441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3442 = call i32 @s2n_print_stacktrace(ptr noundef %3441) #12
  %3443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3444 = trunc nuw i8 %3443 to i1
  br i1 %3444, label %3445, label %3449

3445:                                             ; preds = %3439
  %3446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3447 = call i32 @fileno(ptr noundef %3446) #12
  %3448 = call i32 @isatty(i32 noundef %3447) #12
  %.not1657 = icmp eq i32 %3448, 0
  br i1 %.not1657, label %3449, label %3450

3449:                                             ; preds = %3445, %3439
  br label %3450

3450:                                             ; preds = %3445, %3449
  %.str.26.sink3323 = phi ptr [ @.str.26, %3449 ], [ @.str.23, %3445 ]
  store i32 %3440, ptr %1317, align 4, !tbaa !5
  %3451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3452 = load i32, ptr @test_count, align 4, !tbaa !5
  %3453 = load i32, ptr %1263, align 4, !tbaa !5
  %3454 = call ptr @s2n_strerror(i32 noundef %3453, ptr noundef nonnull @.str.25) #12
  %3455 = load i32, ptr %1263, align 4, !tbaa !5
  %3456 = call ptr @s2n_strerror_debug(i32 noundef %3455, ptr noundef nonnull @.str.25) #12
  %3457 = load i32, ptr %1317, align 4, !tbaa !5
  %3458 = call ptr @strerror(i32 noundef %3457) #12
  %3459 = load i32, ptr %1317, align 4, !tbaa !5
  %3460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3451, ptr noundef nonnull %.str.26.sink3323, i32 noundef %3452, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.22, i32 noundef 447, ptr noundef %3454, ptr noundef %3456, ptr noundef %3458, i32 noundef %3459) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3461:                                             ; preds = %3434
  %3462 = load ptr, ptr %27, align 8, !tbaa !9
  %3463 = getelementptr inbounds i8, ptr %3462, i64 1736
  %3464 = load ptr, ptr %3463, align 8, !tbaa !61
  %3465 = load i64, ptr @mock_current_time, align 8, !tbaa !15
  %3466 = add i64 %3465, 1800000000000
  %3467 = getelementptr inbounds i8, ptr %3464, i64 160
  store i64 %3466, ptr %3467, align 8, !tbaa !62
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #12
  store i32 0, ptr %33, align 4, !tbaa !5
  %3468 = load i32, ptr @test_count, align 4, !tbaa !5
  %3469 = add nsw i32 %3468, 1
  store i32 %3469, ptr @test_count, align 4, !tbaa !5
  %3470 = load i64, ptr %29, align 8, !tbaa !15
  %3471 = call i32 @s2n_generate_ticket_lifetime(ptr noundef %3462, i64 noundef %3470, ptr noundef nonnull %33)
  %3472 = call zeroext i1 @s2n_result_is_ok(i32 %3471)
  br i1 %3472, label %3495, label %3473

3473:                                             ; preds = %3461
  %3474 = load i32, ptr %1317, align 4, !tbaa !5
  %3475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3476 = call i32 @s2n_print_stacktrace(ptr noundef %3475) #12
  %3477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3478 = trunc nuw i8 %3477 to i1
  br i1 %3478, label %3479, label %3483

3479:                                             ; preds = %3473
  %3480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3481 = call i32 @fileno(ptr noundef %3480) #12
  %3482 = call i32 @isatty(i32 noundef %3481) #12
  %.not1658 = icmp eq i32 %3482, 0
  br i1 %.not1658, label %3483, label %3484

3483:                                             ; preds = %3479, %3473
  br label %3484

3484:                                             ; preds = %3479, %3483
  %.str.26.sink3332 = phi ptr [ @.str.26, %3483 ], [ @.str.23, %3479 ]
  store i32 %3474, ptr %1317, align 4, !tbaa !5
  %3485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3486 = load i32, ptr @test_count, align 4, !tbaa !5
  %3487 = load i32, ptr %1263, align 4, !tbaa !5
  %3488 = call ptr @s2n_strerror(i32 noundef %3487, ptr noundef nonnull @.str.25) #12
  %3489 = load i32, ptr %1263, align 4, !tbaa !5
  %3490 = call ptr @s2n_strerror_debug(i32 noundef %3489, ptr noundef nonnull @.str.25) #12
  %3491 = load i32, ptr %1317, align 4, !tbaa !5
  %3492 = call ptr @strerror(i32 noundef %3491) #12
  %3493 = load i32, ptr %1317, align 4, !tbaa !5
  %3494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3485, ptr noundef nonnull %.str.26.sink3332, i32 noundef %3486, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.22, i32 noundef 452, ptr noundef %3488, ptr noundef %3490, ptr noundef %3492, i32 noundef %3493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3495:                                             ; preds = %3461
  %3496 = load i32, ptr @test_count, align 4, !tbaa !5
  %3497 = add nsw i32 %3496, 1
  store i32 %3497, ptr @test_count, align 4, !tbaa !5
  %3498 = load i32, ptr %33, align 4, !tbaa !5
  %3499 = icmp eq i32 %3498, 1800
  br i1 %3499, label %3522, label %3500

3500:                                             ; preds = %3495
  %3501 = load i32, ptr %1317, align 4, !tbaa !5
  %3502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3503 = call i32 @s2n_print_stacktrace(ptr noundef %3502) #12
  %3504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3505 = trunc nuw i8 %3504 to i1
  br i1 %3505, label %3506, label %3510

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

3510:                                             ; preds = %3506, %3500
  br label %3511

3511:                                             ; preds = %3506, %3510
  %.str.26.sink3341 = phi ptr [ @.str.26, %3510 ], [ @.str.23, %3506 ]
  store i32 %3501, ptr %1317, align 4, !tbaa !5
  %3512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3513 = load i32, ptr @test_count, align 4, !tbaa !5
  %3514 = load i32, ptr %1263, align 4, !tbaa !5
  %3515 = call ptr @s2n_strerror(i32 noundef %3514, ptr noundef nonnull @.str.25) #12
  %3516 = load i32, ptr %1263, align 4, !tbaa !5
  %3517 = call ptr @s2n_strerror_debug(i32 noundef %3516, ptr noundef nonnull @.str.25) #12
  %3518 = load i32, ptr %1317, align 4, !tbaa !5
  %3519 = call ptr @strerror(i32 noundef %3518) #12
  %3520 = load i32, ptr %1317, align 4, !tbaa !5
  %3521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3512, ptr noundef nonnull %.str.26.sink3341, i32 noundef %3513, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.22, i32 noundef 453, ptr noundef %3515, ptr noundef %3517, ptr noundef %3519, i32 noundef %3520) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3522:                                             ; preds = %3495
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #12
  %3523 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #12
  %3524 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #12
  %3525 = getelementptr inbounds i8, ptr %34, i64 1
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %34) #12
  store i16 0, ptr %34, align 2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, i8 0, i64 24, i1 false)
  %3526 = load i32, ptr @test_count, align 4, !tbaa !5
  %3527 = add nsw i32 %3526, 1
  store i32 %3527, ptr @test_count, align 4, !tbaa !5
  %3528 = call i32 @s2n_blob_init(ptr noundef nonnull %35, ptr noundef nonnull %34, i32 noundef 2) #12
  %3529 = icmp eq i32 %3528, -1
  br i1 %3529, label %3530, label %3552

3530:                                             ; preds = %3740, %3719, %3698, %3677, %3656, %3635, %3522
  %3531 = load i32, ptr %1317, align 4, !tbaa !5
  %3532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3533 = call i32 @s2n_print_stacktrace(ptr noundef %3532) #12
  %3534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3535 = trunc nuw i8 %3534 to i1
  br i1 %3535, label %3536, label %3540

3536:                                             ; preds = %3530
  %3537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3538 = call i32 @fileno(ptr noundef %3537) #12
  %3539 = call i32 @isatty(i32 noundef %3538) #12
  %.not2078 = icmp eq i32 %3539, 0
  br i1 %.not2078, label %3540, label %3541

3540:                                             ; preds = %3536, %3530
  br label %3541

3541:                                             ; preds = %3536, %3540
  %.str.26.sink3350 = phi ptr [ @.str.26, %3540 ], [ @.str.23, %3536 ]
  store i32 %3531, ptr %1317, align 4, !tbaa !5
  %3542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3543 = load i32, ptr @test_count, align 4, !tbaa !5
  %3544 = load i32, ptr %1263, align 4, !tbaa !5
  %3545 = call ptr @s2n_strerror(i32 noundef %3544, ptr noundef nonnull @.str.25) #12
  %3546 = load i32, ptr %1263, align 4, !tbaa !5
  %3547 = call ptr @s2n_strerror_debug(i32 noundef %3546, ptr noundef nonnull @.str.25) #12
  %3548 = load i32, ptr %1317, align 4, !tbaa !5
  %3549 = call ptr @strerror(i32 noundef %3548) #12
  %3550 = load i32, ptr %1317, align 4, !tbaa !5
  %3551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3542, ptr noundef nonnull %.str.26.sink3350, i32 noundef %3543, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.22, i32 noundef 475, ptr noundef %3545, ptr noundef %3547, ptr noundef %3549, i32 noundef %3550) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3552:                                             ; preds = %3522
  %3553 = load i32, ptr @test_count, align 4, !tbaa !5
  %3554 = add nsw i32 %3553, 1
  store i32 %3554, ptr @test_count, align 4, !tbaa !5
  %3555 = load i16, ptr @__const.main.test_cases, align 16, !tbaa !65
  %3556 = call i32 @s2n_generate_ticket_nonce(i16 noundef zeroext %3555, ptr noundef nonnull %35)
  %3557 = call zeroext i1 @s2n_result_is_ok(i32 %3556)
  br i1 %3557, label %3580, label %3558

3558:                                             ; preds = %3744, %3723, %3702, %3681, %3660, %3639, %3552
  %3559 = load i32, ptr %1317, align 4, !tbaa !5
  %3560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3561 = call i32 @s2n_print_stacktrace(ptr noundef %3560) #12
  %3562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3563 = trunc nuw i8 %3562 to i1
  br i1 %3563, label %3564, label %3568

3564:                                             ; preds = %3558
  %3565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3566 = call i32 @fileno(ptr noundef %3565) #12
  %3567 = call i32 @isatty(i32 noundef %3566) #12
  %.not2075 = icmp eq i32 %3567, 0
  br i1 %.not2075, label %3568, label %3569

3568:                                             ; preds = %3564, %3558
  br label %3569

3569:                                             ; preds = %3564, %3568
  %.str.26.sink3359 = phi ptr [ @.str.26, %3568 ], [ @.str.23, %3564 ]
  store i32 %3559, ptr %1317, align 4, !tbaa !5
  %3570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3571 = load i32, ptr @test_count, align 4, !tbaa !5
  %3572 = load i32, ptr %1263, align 4, !tbaa !5
  %3573 = call ptr @s2n_strerror(i32 noundef %3572, ptr noundef nonnull @.str.25) #12
  %3574 = load i32, ptr %1263, align 4, !tbaa !5
  %3575 = call ptr @s2n_strerror_debug(i32 noundef %3574, ptr noundef nonnull @.str.25) #12
  %3576 = load i32, ptr %1317, align 4, !tbaa !5
  %3577 = call ptr @strerror(i32 noundef %3576) #12
  %3578 = load i32, ptr %1317, align 4, !tbaa !5
  %3579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3570, ptr noundef nonnull %.str.26.sink3359, i32 noundef %3571, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.22, i32 noundef 477, ptr noundef %3573, ptr noundef %3575, ptr noundef %3577, i32 noundef %3578) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3580:                                             ; preds = %3552
  %3581 = load i32, ptr @test_count, align 4, !tbaa !5
  %3582 = add nsw i32 %3581, 1
  store i32 %3582, ptr @test_count, align 4, !tbaa !5
  %3583 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 2), align 2, !tbaa !50
  %3584 = load i8, ptr %34, align 2, !tbaa !50
  %3585 = icmp eq i8 %3583, %3584
  br i1 %3585, label %3608, label %3586

3586:                                             ; preds = %3750, %3729, %3708, %3687, %3666, %3645, %3580
  %3587 = load i32, ptr %1317, align 4, !tbaa !5
  %3588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3589 = call i32 @s2n_print_stacktrace(ptr noundef %3588) #12
  %3590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3591 = trunc nuw i8 %3590 to i1
  br i1 %3591, label %3592, label %3596

3592:                                             ; preds = %3586
  %3593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3594 = call i32 @fileno(ptr noundef %3593) #12
  %3595 = call i32 @isatty(i32 noundef %3594) #12
  %.not2076 = icmp eq i32 %3595, 0
  br i1 %.not2076, label %3596, label %3597

3596:                                             ; preds = %3592, %3586
  br label %3597

3597:                                             ; preds = %3592, %3596
  %.str.26.sink3368 = phi ptr [ @.str.26, %3596 ], [ @.str.23, %3592 ]
  store i32 %3587, ptr %1317, align 4, !tbaa !5
  %3598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3599 = load i32, ptr @test_count, align 4, !tbaa !5
  %3600 = load i32, ptr %1263, align 4, !tbaa !5
  %3601 = call ptr @s2n_strerror(i32 noundef %3600, ptr noundef nonnull @.str.25) #12
  %3602 = load i32, ptr %1263, align 4, !tbaa !5
  %3603 = call ptr @s2n_strerror_debug(i32 noundef %3602, ptr noundef nonnull @.str.25) #12
  %3604 = load i32, ptr %1317, align 4, !tbaa !5
  %3605 = call ptr @strerror(i32 noundef %3604) #12
  %3606 = load i32, ptr %1317, align 4, !tbaa !5
  %3607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3598, ptr noundef nonnull %.str.26.sink3368, i32 noundef %3599, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.22, i32 noundef 479, ptr noundef %3601, ptr noundef %3603, ptr noundef %3605, i32 noundef %3606) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3608:                                             ; preds = %3580
  %3609 = add nsw i32 %3581, 2
  store i32 %3609, ptr @test_count, align 4, !tbaa !5
  %3610 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 3), align 1, !tbaa !50
  %3611 = load i8, ptr %3525, align 1, !tbaa !50
  %3612 = icmp eq i8 %3610, %3611
  br i1 %3612, label %3635, label %3613

3613:                                             ; preds = %3756, %3735, %3714, %3693, %3672, %3651, %3608
  %3614 = load i32, ptr %1317, align 4, !tbaa !5
  %3615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3616 = call i32 @s2n_print_stacktrace(ptr noundef %3615) #12
  %3617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3618 = trunc nuw i8 %3617 to i1
  br i1 %3618, label %3619, label %3623

3619:                                             ; preds = %3613
  %3620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3621 = call i32 @fileno(ptr noundef %3620) #12
  %3622 = call i32 @isatty(i32 noundef %3621) #12
  %.not2077 = icmp eq i32 %3622, 0
  br i1 %.not2077, label %3623, label %3624

3623:                                             ; preds = %3619, %3613
  br label %3624

3624:                                             ; preds = %3619, %3623
  %.str.26.sink3377 = phi ptr [ @.str.26, %3623 ], [ @.str.23, %3619 ]
  store i32 %3614, ptr %1317, align 4, !tbaa !5
  %3625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3626 = load i32, ptr @test_count, align 4, !tbaa !5
  %3627 = load i32, ptr %1263, align 4, !tbaa !5
  %3628 = call ptr @s2n_strerror(i32 noundef %3627, ptr noundef nonnull @.str.25) #12
  %3629 = load i32, ptr %1263, align 4, !tbaa !5
  %3630 = call ptr @s2n_strerror_debug(i32 noundef %3629, ptr noundef nonnull @.str.25) #12
  %3631 = load i32, ptr %1317, align 4, !tbaa !5
  %3632 = call ptr @strerror(i32 noundef %3631) #12
  %3633 = load i32, ptr %1317, align 4, !tbaa !5
  %3634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3625, ptr noundef nonnull %.str.26.sink3377, i32 noundef %3626, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.22, i32 noundef 480, ptr noundef %3628, ptr noundef %3630, ptr noundef %3632, i32 noundef %3633) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3635:                                             ; preds = %3608
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %34) #12
  store i16 0, ptr %34, align 2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, i8 0, i64 24, i1 false)
  %3636 = add nsw i32 %3581, 3
  store i32 %3636, ptr @test_count, align 4, !tbaa !5
  %3637 = call i32 @s2n_blob_init(ptr noundef nonnull %35, ptr noundef nonnull %34, i32 noundef 2) #12
  %3638 = icmp eq i32 %3637, -1
  br i1 %3638, label %3530, label %3639

3639:                                             ; preds = %3635
  %3640 = load i32, ptr @test_count, align 4, !tbaa !5
  %3641 = add nsw i32 %3640, 1
  store i32 %3641, ptr @test_count, align 4, !tbaa !5
  %3642 = load i16, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 4), align 4, !tbaa !65
  %3643 = call i32 @s2n_generate_ticket_nonce(i16 noundef zeroext %3642, ptr noundef nonnull %35)
  %3644 = call zeroext i1 @s2n_result_is_ok(i32 %3643)
  br i1 %3644, label %3645, label %3558

3645:                                             ; preds = %3639
  %3646 = load i32, ptr @test_count, align 4, !tbaa !5
  %3647 = add nsw i32 %3646, 1
  store i32 %3647, ptr @test_count, align 4, !tbaa !5
  %3648 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 6), align 2, !tbaa !50
  %3649 = load i8, ptr %34, align 2, !tbaa !50
  %3650 = icmp eq i8 %3648, %3649
  br i1 %3650, label %3651, label %3586

3651:                                             ; preds = %3645
  %3652 = add nsw i32 %3646, 2
  store i32 %3652, ptr @test_count, align 4, !tbaa !5
  %3653 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 7), align 1, !tbaa !50
  %3654 = load i8, ptr %3525, align 1, !tbaa !50
  %3655 = icmp eq i8 %3653, %3654
  br i1 %3655, label %3656, label %3613

3656:                                             ; preds = %3651
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %34) #12
  store i16 0, ptr %34, align 2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, i8 0, i64 24, i1 false)
  %3657 = add nsw i32 %3646, 3
  store i32 %3657, ptr @test_count, align 4, !tbaa !5
  %3658 = call i32 @s2n_blob_init(ptr noundef nonnull %35, ptr noundef nonnull %34, i32 noundef 2) #12
  %3659 = icmp eq i32 %3658, -1
  br i1 %3659, label %3530, label %3660

3660:                                             ; preds = %3656
  %3661 = load i32, ptr @test_count, align 4, !tbaa !5
  %3662 = add nsw i32 %3661, 1
  store i32 %3662, ptr @test_count, align 4, !tbaa !5
  %3663 = load i16, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 8), align 8, !tbaa !65
  %3664 = call i32 @s2n_generate_ticket_nonce(i16 noundef zeroext %3663, ptr noundef nonnull %35)
  %3665 = call zeroext i1 @s2n_result_is_ok(i32 %3664)
  br i1 %3665, label %3666, label %3558

3666:                                             ; preds = %3660
  %3667 = load i32, ptr @test_count, align 4, !tbaa !5
  %3668 = add nsw i32 %3667, 1
  store i32 %3668, ptr @test_count, align 4, !tbaa !5
  %3669 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 10), align 2, !tbaa !50
  %3670 = load i8, ptr %34, align 2, !tbaa !50
  %3671 = icmp eq i8 %3669, %3670
  br i1 %3671, label %3672, label %3586

3672:                                             ; preds = %3666
  %3673 = add nsw i32 %3667, 2
  store i32 %3673, ptr @test_count, align 4, !tbaa !5
  %3674 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 11), align 1, !tbaa !50
  %3675 = load i8, ptr %3525, align 1, !tbaa !50
  %3676 = icmp eq i8 %3674, %3675
  br i1 %3676, label %3677, label %3613

3677:                                             ; preds = %3672
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %34) #12
  store i16 0, ptr %34, align 2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, i8 0, i64 24, i1 false)
  %3678 = add nsw i32 %3667, 3
  store i32 %3678, ptr @test_count, align 4, !tbaa !5
  %3679 = call i32 @s2n_blob_init(ptr noundef nonnull %35, ptr noundef nonnull %34, i32 noundef 2) #12
  %3680 = icmp eq i32 %3679, -1
  br i1 %3680, label %3530, label %3681

3681:                                             ; preds = %3677
  %3682 = load i32, ptr @test_count, align 4, !tbaa !5
  %3683 = add nsw i32 %3682, 1
  store i32 %3683, ptr @test_count, align 4, !tbaa !5
  %3684 = load i16, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 12), align 4, !tbaa !65
  %3685 = call i32 @s2n_generate_ticket_nonce(i16 noundef zeroext %3684, ptr noundef nonnull %35)
  %3686 = call zeroext i1 @s2n_result_is_ok(i32 %3685)
  br i1 %3686, label %3687, label %3558

3687:                                             ; preds = %3681
  %3688 = load i32, ptr @test_count, align 4, !tbaa !5
  %3689 = add nsw i32 %3688, 1
  store i32 %3689, ptr @test_count, align 4, !tbaa !5
  %3690 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 14), align 2, !tbaa !50
  %3691 = load i8, ptr %34, align 2, !tbaa !50
  %3692 = icmp eq i8 %3690, %3691
  br i1 %3692, label %3693, label %3586

3693:                                             ; preds = %3687
  %3694 = add nsw i32 %3688, 2
  store i32 %3694, ptr @test_count, align 4, !tbaa !5
  %3695 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 15), align 1, !tbaa !50
  %3696 = load i8, ptr %3525, align 1, !tbaa !50
  %3697 = icmp eq i8 %3695, %3696
  br i1 %3697, label %3698, label %3613

3698:                                             ; preds = %3693
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %34) #12
  store i16 0, ptr %34, align 2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, i8 0, i64 24, i1 false)
  %3699 = add nsw i32 %3688, 3
  store i32 %3699, ptr @test_count, align 4, !tbaa !5
  %3700 = call i32 @s2n_blob_init(ptr noundef nonnull %35, ptr noundef nonnull %34, i32 noundef 2) #12
  %3701 = icmp eq i32 %3700, -1
  br i1 %3701, label %3530, label %3702

3702:                                             ; preds = %3698
  %3703 = load i32, ptr @test_count, align 4, !tbaa !5
  %3704 = add nsw i32 %3703, 1
  store i32 %3704, ptr @test_count, align 4, !tbaa !5
  %3705 = load i16, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 16), align 16, !tbaa !65
  %3706 = call i32 @s2n_generate_ticket_nonce(i16 noundef zeroext %3705, ptr noundef nonnull %35)
  %3707 = call zeroext i1 @s2n_result_is_ok(i32 %3706)
  br i1 %3707, label %3708, label %3558

3708:                                             ; preds = %3702
  %3709 = load i32, ptr @test_count, align 4, !tbaa !5
  %3710 = add nsw i32 %3709, 1
  store i32 %3710, ptr @test_count, align 4, !tbaa !5
  %3711 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 18), align 2, !tbaa !50
  %3712 = load i8, ptr %34, align 2, !tbaa !50
  %3713 = icmp eq i8 %3711, %3712
  br i1 %3713, label %3714, label %3586

3714:                                             ; preds = %3708
  %3715 = add nsw i32 %3709, 2
  store i32 %3715, ptr @test_count, align 4, !tbaa !5
  %3716 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 19), align 1, !tbaa !50
  %3717 = load i8, ptr %3525, align 1, !tbaa !50
  %3718 = icmp eq i8 %3716, %3717
  br i1 %3718, label %3719, label %3613

3719:                                             ; preds = %3714
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %34) #12
  store i16 0, ptr %34, align 2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, i8 0, i64 24, i1 false)
  %3720 = add nsw i32 %3709, 3
  store i32 %3720, ptr @test_count, align 4, !tbaa !5
  %3721 = call i32 @s2n_blob_init(ptr noundef nonnull %35, ptr noundef nonnull %34, i32 noundef 2) #12
  %3722 = icmp eq i32 %3721, -1
  br i1 %3722, label %3530, label %3723

3723:                                             ; preds = %3719
  %3724 = load i32, ptr @test_count, align 4, !tbaa !5
  %3725 = add nsw i32 %3724, 1
  store i32 %3725, ptr @test_count, align 4, !tbaa !5
  %3726 = load i16, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 20), align 4, !tbaa !65
  %3727 = call i32 @s2n_generate_ticket_nonce(i16 noundef zeroext %3726, ptr noundef nonnull %35)
  %3728 = call zeroext i1 @s2n_result_is_ok(i32 %3727)
  br i1 %3728, label %3729, label %3558

3729:                                             ; preds = %3723
  %3730 = load i32, ptr @test_count, align 4, !tbaa !5
  %3731 = add nsw i32 %3730, 1
  store i32 %3731, ptr @test_count, align 4, !tbaa !5
  %3732 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 22), align 2, !tbaa !50
  %3733 = load i8, ptr %34, align 2, !tbaa !50
  %3734 = icmp eq i8 %3732, %3733
  br i1 %3734, label %3735, label %3586

3735:                                             ; preds = %3729
  %3736 = add nsw i32 %3730, 2
  store i32 %3736, ptr @test_count, align 4, !tbaa !5
  %3737 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 23), align 1, !tbaa !50
  %3738 = load i8, ptr %3525, align 1, !tbaa !50
  %3739 = icmp eq i8 %3737, %3738
  br i1 %3739, label %3740, label %3613

3740:                                             ; preds = %3735
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %34) #12
  store i16 0, ptr %34, align 2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, i8 0, i64 24, i1 false)
  %3741 = add nsw i32 %3730, 3
  store i32 %3741, ptr @test_count, align 4, !tbaa !5
  %3742 = call i32 @s2n_blob_init(ptr noundef nonnull %35, ptr noundef nonnull %34, i32 noundef 2) #12
  %3743 = icmp eq i32 %3742, -1
  br i1 %3743, label %3530, label %3744

3744:                                             ; preds = %3740
  %3745 = load i32, ptr @test_count, align 4, !tbaa !5
  %3746 = add nsw i32 %3745, 1
  store i32 %3746, ptr @test_count, align 4, !tbaa !5
  %3747 = load i16, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 24), align 8, !tbaa !65
  %3748 = call i32 @s2n_generate_ticket_nonce(i16 noundef zeroext %3747, ptr noundef nonnull %35)
  %3749 = call zeroext i1 @s2n_result_is_ok(i32 %3748)
  br i1 %3749, label %3750, label %3558

3750:                                             ; preds = %3744
  %3751 = load i32, ptr @test_count, align 4, !tbaa !5
  %3752 = add nsw i32 %3751, 1
  store i32 %3752, ptr @test_count, align 4, !tbaa !5
  %3753 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 26), align 2, !tbaa !50
  %3754 = load i8, ptr %34, align 2, !tbaa !50
  %3755 = icmp eq i8 %3753, %3754
  br i1 %3755, label %3756, label %3586

3756:                                             ; preds = %3750
  %3757 = add nsw i32 %3751, 2
  store i32 %3757, ptr @test_count, align 4, !tbaa !5
  %3758 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 27), align 1, !tbaa !50
  %3759 = load i8, ptr %3525, align 1, !tbaa !50
  %3760 = icmp eq i8 %3758, %3759
  br i1 %3760, label %3761, label %3613

3761:                                             ; preds = %3756
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %36) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %36, ptr noundef nonnull align 16 dereferenceable(64) @__const.main.test_cases.101, i64 64, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #12
  store i32 0, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, i8 0, i64 24, i1 false)
  %3762 = add nsw i32 %3751, 3
  store i32 %3762, ptr @test_count, align 4, !tbaa !5
  %3763 = call i32 @s2n_blob_init(ptr noundef nonnull %38, ptr noundef nonnull %36, i32 noundef 4) #12
  %3764 = icmp eq i32 %3763, -1
  br i1 %3764, label %3765, label %3787

3765:                                             ; preds = %3945, %3928, %3911, %3894, %3877, %3860, %3843, %3761
  %3766 = load i32, ptr %1317, align 4, !tbaa !5
  %3767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3768 = call i32 @s2n_print_stacktrace(ptr noundef %3767) #12
  %3769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3770 = trunc nuw i8 %3769 to i1
  br i1 %3770, label %3771, label %3775

3771:                                             ; preds = %3765
  %3772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3773 = call i32 @fileno(ptr noundef %3772) #12
  %3774 = call i32 @isatty(i32 noundef %3773) #12
  %.not2074 = icmp eq i32 %3774, 0
  br i1 %.not2074, label %3775, label %3776

3775:                                             ; preds = %3771, %3765
  br label %3776

3776:                                             ; preds = %3771, %3775
  %.str.26.sink3386 = phi ptr [ @.str.26, %3775 ], [ @.str.23, %3771 ]
  store i32 %3766, ptr %1317, align 4, !tbaa !5
  %3777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3778 = load i32, ptr @test_count, align 4, !tbaa !5
  %3779 = load i32, ptr %1263, align 4, !tbaa !5
  %3780 = call ptr @s2n_strerror(i32 noundef %3779, ptr noundef nonnull @.str.25) #12
  %3781 = load i32, ptr %1263, align 4, !tbaa !5
  %3782 = call ptr @s2n_strerror_debug(i32 noundef %3781, ptr noundef nonnull @.str.25) #12
  %3783 = load i32, ptr %1317, align 4, !tbaa !5
  %3784 = call ptr @strerror(i32 noundef %3783) #12
  %3785 = load i32, ptr %1317, align 4, !tbaa !5
  %3786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3777, ptr noundef nonnull %.str.26.sink3386, i32 noundef %3778, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.22, i32 noundef 503, ptr noundef %3780, ptr noundef %3782, ptr noundef %3784, i32 noundef %3785) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3787:                                             ; preds = %3761
  %3788 = load i32, ptr @test_count, align 4, !tbaa !5
  %3789 = add nsw i32 %3788, 1
  store i32 %3789, ptr @test_count, align 4, !tbaa !5
  %3790 = call i32 @s2n_generate_ticket_age_add(ptr noundef nonnull %38, ptr noundef nonnull %37)
  %3791 = call zeroext i1 @s2n_result_is_ok(i32 %3790)
  br i1 %3791, label %3814, label %3792

3792:                                             ; preds = %3950, %3933, %3916, %3899, %3882, %3865, %3848, %3787
  %3793 = load i32, ptr %1317, align 4, !tbaa !5
  %3794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3795 = call i32 @s2n_print_stacktrace(ptr noundef %3794) #12
  %3796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3797 = trunc nuw i8 %3796 to i1
  br i1 %3797, label %3798, label %3802

3798:                                             ; preds = %3792
  %3799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3800 = call i32 @fileno(ptr noundef %3799) #12
  %3801 = call i32 @isatty(i32 noundef %3800) #12
  %.not2072 = icmp eq i32 %3801, 0
  br i1 %.not2072, label %3802, label %3803

3802:                                             ; preds = %3798, %3792
  br label %3803

3803:                                             ; preds = %3798, %3802
  %.str.26.sink3395 = phi ptr [ @.str.26, %3802 ], [ @.str.23, %3798 ]
  store i32 %3793, ptr %1317, align 4, !tbaa !5
  %3804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3805 = load i32, ptr @test_count, align 4, !tbaa !5
  %3806 = load i32, ptr %1263, align 4, !tbaa !5
  %3807 = call ptr @s2n_strerror(i32 noundef %3806, ptr noundef nonnull @.str.25) #12
  %3808 = load i32, ptr %1263, align 4, !tbaa !5
  %3809 = call ptr @s2n_strerror_debug(i32 noundef %3808, ptr noundef nonnull @.str.25) #12
  %3810 = load i32, ptr %1317, align 4, !tbaa !5
  %3811 = call ptr @strerror(i32 noundef %3810) #12
  %3812 = load i32, ptr %1317, align 4, !tbaa !5
  %3813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3804, ptr noundef nonnull %.str.26.sink3395, i32 noundef %3805, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.22, i32 noundef 504, ptr noundef %3807, ptr noundef %3809, ptr noundef %3811, i32 noundef %3812) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3814:                                             ; preds = %3787
  %3815 = load i32, ptr @test_count, align 4, !tbaa !5
  %3816 = add nsw i32 %3815, 1
  store i32 %3816, ptr @test_count, align 4, !tbaa !5
  %3817 = load i32, ptr %37, align 4, !tbaa !5
  %3818 = getelementptr inbounds i8, ptr %36, i64 4
  %3819 = load i32, ptr %3818, align 4, !tbaa !67
  %3820 = icmp eq i32 %3817, %3819
  br i1 %3820, label %3843, label %3821

3821:                                             ; preds = %3955, %3938, %3921, %3904, %3887, %3870, %3853, %3814
  %3822 = load i32, ptr %1317, align 4, !tbaa !5
  %3823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3824 = call i32 @s2n_print_stacktrace(ptr noundef %3823) #12
  %3825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3826 = trunc nuw i8 %3825 to i1
  br i1 %3826, label %3827, label %3831

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

3831:                                             ; preds = %3827, %3821
  br label %3832

3832:                                             ; preds = %3827, %3831
  %.str.26.sink3404 = phi ptr [ @.str.26, %3831 ], [ @.str.23, %3827 ]
  store i32 %3822, ptr %1317, align 4, !tbaa !5
  %3833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3834 = load i32, ptr @test_count, align 4, !tbaa !5
  %3835 = load i32, ptr %1263, align 4, !tbaa !5
  %3836 = call ptr @s2n_strerror(i32 noundef %3835, ptr noundef nonnull @.str.25) #12
  %3837 = load i32, ptr %1263, align 4, !tbaa !5
  %3838 = call ptr @s2n_strerror_debug(i32 noundef %3837, ptr noundef nonnull @.str.25) #12
  %3839 = load i32, ptr %1317, align 4, !tbaa !5
  %3840 = call ptr @strerror(i32 noundef %3839) #12
  %3841 = load i32, ptr %1317, align 4, !tbaa !5
  %3842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3833, ptr noundef nonnull %.str.26.sink3404, i32 noundef %3834, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.22, i32 noundef 506, ptr noundef %3836, ptr noundef %3838, ptr noundef %3840, i32 noundef %3841) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3843:                                             ; preds = %3814
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #12
  store i32 0, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, i8 0, i64 24, i1 false)
  %3844 = add nsw i32 %3815, 2
  store i32 %3844, ptr @test_count, align 4, !tbaa !5
  %3845 = getelementptr inbounds i8, ptr %36, i64 8
  %3846 = call i32 @s2n_blob_init(ptr noundef nonnull %38, ptr noundef nonnull %3845, i32 noundef 4) #12
  %3847 = icmp eq i32 %3846, -1
  br i1 %3847, label %3765, label %3848

3848:                                             ; preds = %3843
  %3849 = load i32, ptr @test_count, align 4, !tbaa !5
  %3850 = add nsw i32 %3849, 1
  store i32 %3850, ptr @test_count, align 4, !tbaa !5
  %3851 = call i32 @s2n_generate_ticket_age_add(ptr noundef nonnull %38, ptr noundef nonnull %37)
  %3852 = call zeroext i1 @s2n_result_is_ok(i32 %3851)
  br i1 %3852, label %3853, label %3792

3853:                                             ; preds = %3848
  %3854 = load i32, ptr @test_count, align 4, !tbaa !5
  %3855 = add nsw i32 %3854, 1
  store i32 %3855, ptr @test_count, align 4, !tbaa !5
  %3856 = load i32, ptr %37, align 4, !tbaa !5
  %3857 = getelementptr inbounds i8, ptr %36, i64 12
  %3858 = load i32, ptr %3857, align 4, !tbaa !67
  %3859 = icmp eq i32 %3856, %3858
  br i1 %3859, label %3860, label %3821

3860:                                             ; preds = %3853
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #12
  store i32 0, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, i8 0, i64 24, i1 false)
  %3861 = add nsw i32 %3854, 2
  store i32 %3861, ptr @test_count, align 4, !tbaa !5
  %3862 = getelementptr inbounds i8, ptr %36, i64 16
  %3863 = call i32 @s2n_blob_init(ptr noundef nonnull %38, ptr noundef nonnull %3862, i32 noundef 4) #12
  %3864 = icmp eq i32 %3863, -1
  br i1 %3864, label %3765, label %3865

3865:                                             ; preds = %3860
  %3866 = load i32, ptr @test_count, align 4, !tbaa !5
  %3867 = add nsw i32 %3866, 1
  store i32 %3867, ptr @test_count, align 4, !tbaa !5
  %3868 = call i32 @s2n_generate_ticket_age_add(ptr noundef nonnull %38, ptr noundef nonnull %37)
  %3869 = call zeroext i1 @s2n_result_is_ok(i32 %3868)
  br i1 %3869, label %3870, label %3792

3870:                                             ; preds = %3865
  %3871 = load i32, ptr @test_count, align 4, !tbaa !5
  %3872 = add nsw i32 %3871, 1
  store i32 %3872, ptr @test_count, align 4, !tbaa !5
  %3873 = load i32, ptr %37, align 4, !tbaa !5
  %3874 = getelementptr inbounds i8, ptr %36, i64 20
  %3875 = load i32, ptr %3874, align 4, !tbaa !67
  %3876 = icmp eq i32 %3873, %3875
  br i1 %3876, label %3877, label %3821

3877:                                             ; preds = %3870
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #12
  store i32 0, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, i8 0, i64 24, i1 false)
  %3878 = add nsw i32 %3871, 2
  store i32 %3878, ptr @test_count, align 4, !tbaa !5
  %3879 = getelementptr inbounds i8, ptr %36, i64 24
  %3880 = call i32 @s2n_blob_init(ptr noundef nonnull %38, ptr noundef nonnull %3879, i32 noundef 4) #12
  %3881 = icmp eq i32 %3880, -1
  br i1 %3881, label %3765, label %3882

3882:                                             ; preds = %3877
  %3883 = load i32, ptr @test_count, align 4, !tbaa !5
  %3884 = add nsw i32 %3883, 1
  store i32 %3884, ptr @test_count, align 4, !tbaa !5
  %3885 = call i32 @s2n_generate_ticket_age_add(ptr noundef nonnull %38, ptr noundef nonnull %37)
  %3886 = call zeroext i1 @s2n_result_is_ok(i32 %3885)
  br i1 %3886, label %3887, label %3792

3887:                                             ; preds = %3882
  %3888 = load i32, ptr @test_count, align 4, !tbaa !5
  %3889 = add nsw i32 %3888, 1
  store i32 %3889, ptr @test_count, align 4, !tbaa !5
  %3890 = load i32, ptr %37, align 4, !tbaa !5
  %3891 = getelementptr inbounds i8, ptr %36, i64 28
  %3892 = load i32, ptr %3891, align 4, !tbaa !67
  %3893 = icmp eq i32 %3890, %3892
  br i1 %3893, label %3894, label %3821

3894:                                             ; preds = %3887
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #12
  store i32 0, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, i8 0, i64 24, i1 false)
  %3895 = add nsw i32 %3888, 2
  store i32 %3895, ptr @test_count, align 4, !tbaa !5
  %3896 = getelementptr inbounds i8, ptr %36, i64 32
  %3897 = call i32 @s2n_blob_init(ptr noundef nonnull %38, ptr noundef nonnull %3896, i32 noundef 4) #12
  %3898 = icmp eq i32 %3897, -1
  br i1 %3898, label %3765, label %3899

3899:                                             ; preds = %3894
  %3900 = load i32, ptr @test_count, align 4, !tbaa !5
  %3901 = add nsw i32 %3900, 1
  store i32 %3901, ptr @test_count, align 4, !tbaa !5
  %3902 = call i32 @s2n_generate_ticket_age_add(ptr noundef nonnull %38, ptr noundef nonnull %37)
  %3903 = call zeroext i1 @s2n_result_is_ok(i32 %3902)
  br i1 %3903, label %3904, label %3792

3904:                                             ; preds = %3899
  %3905 = load i32, ptr @test_count, align 4, !tbaa !5
  %3906 = add nsw i32 %3905, 1
  store i32 %3906, ptr @test_count, align 4, !tbaa !5
  %3907 = load i32, ptr %37, align 4, !tbaa !5
  %3908 = getelementptr inbounds i8, ptr %36, i64 36
  %3909 = load i32, ptr %3908, align 4, !tbaa !67
  %3910 = icmp eq i32 %3907, %3909
  br i1 %3910, label %3911, label %3821

3911:                                             ; preds = %3904
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #12
  store i32 0, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, i8 0, i64 24, i1 false)
  %3912 = add nsw i32 %3905, 2
  store i32 %3912, ptr @test_count, align 4, !tbaa !5
  %3913 = getelementptr inbounds i8, ptr %36, i64 40
  %3914 = call i32 @s2n_blob_init(ptr noundef nonnull %38, ptr noundef nonnull %3913, i32 noundef 4) #12
  %3915 = icmp eq i32 %3914, -1
  br i1 %3915, label %3765, label %3916

3916:                                             ; preds = %3911
  %3917 = load i32, ptr @test_count, align 4, !tbaa !5
  %3918 = add nsw i32 %3917, 1
  store i32 %3918, ptr @test_count, align 4, !tbaa !5
  %3919 = call i32 @s2n_generate_ticket_age_add(ptr noundef nonnull %38, ptr noundef nonnull %37)
  %3920 = call zeroext i1 @s2n_result_is_ok(i32 %3919)
  br i1 %3920, label %3921, label %3792

3921:                                             ; preds = %3916
  %3922 = load i32, ptr @test_count, align 4, !tbaa !5
  %3923 = add nsw i32 %3922, 1
  store i32 %3923, ptr @test_count, align 4, !tbaa !5
  %3924 = load i32, ptr %37, align 4, !tbaa !5
  %3925 = getelementptr inbounds i8, ptr %36, i64 44
  %3926 = load i32, ptr %3925, align 4, !tbaa !67
  %3927 = icmp eq i32 %3924, %3926
  br i1 %3927, label %3928, label %3821

3928:                                             ; preds = %3921
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #12
  store i32 0, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, i8 0, i64 24, i1 false)
  %3929 = add nsw i32 %3922, 2
  store i32 %3929, ptr @test_count, align 4, !tbaa !5
  %3930 = getelementptr inbounds i8, ptr %36, i64 48
  %3931 = call i32 @s2n_blob_init(ptr noundef nonnull %38, ptr noundef nonnull %3930, i32 noundef 4) #12
  %3932 = icmp eq i32 %3931, -1
  br i1 %3932, label %3765, label %3933

3933:                                             ; preds = %3928
  %3934 = load i32, ptr @test_count, align 4, !tbaa !5
  %3935 = add nsw i32 %3934, 1
  store i32 %3935, ptr @test_count, align 4, !tbaa !5
  %3936 = call i32 @s2n_generate_ticket_age_add(ptr noundef nonnull %38, ptr noundef nonnull %37)
  %3937 = call zeroext i1 @s2n_result_is_ok(i32 %3936)
  br i1 %3937, label %3938, label %3792

3938:                                             ; preds = %3933
  %3939 = load i32, ptr @test_count, align 4, !tbaa !5
  %3940 = add nsw i32 %3939, 1
  store i32 %3940, ptr @test_count, align 4, !tbaa !5
  %3941 = load i32, ptr %37, align 4, !tbaa !5
  %3942 = getelementptr inbounds i8, ptr %36, i64 52
  %3943 = load i32, ptr %3942, align 4, !tbaa !67
  %3944 = icmp eq i32 %3941, %3943
  br i1 %3944, label %3945, label %3821

3945:                                             ; preds = %3938
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #12
  store i32 0, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, i8 0, i64 24, i1 false)
  %3946 = add nsw i32 %3939, 2
  store i32 %3946, ptr @test_count, align 4, !tbaa !5
  %3947 = getelementptr inbounds i8, ptr %36, i64 56
  %3948 = call i32 @s2n_blob_init(ptr noundef nonnull %38, ptr noundef nonnull %3947, i32 noundef 4) #12
  %3949 = icmp eq i32 %3948, -1
  br i1 %3949, label %3765, label %3950

3950:                                             ; preds = %3945
  %3951 = load i32, ptr @test_count, align 4, !tbaa !5
  %3952 = add nsw i32 %3951, 1
  store i32 %3952, ptr @test_count, align 4, !tbaa !5
  %3953 = call i32 @s2n_generate_ticket_age_add(ptr noundef nonnull %38, ptr noundef nonnull %37)
  %3954 = call zeroext i1 @s2n_result_is_ok(i32 %3953)
  br i1 %3954, label %3955, label %3792

3955:                                             ; preds = %3950
  %3956 = load i32, ptr @test_count, align 4, !tbaa !5
  %3957 = add nsw i32 %3956, 1
  store i32 %3957, ptr @test_count, align 4, !tbaa !5
  %3958 = load i32, ptr %37, align 4, !tbaa !5
  %3959 = getelementptr inbounds i8, ptr %36, i64 60
  %3960 = load i32, ptr %3959, align 4, !tbaa !67
  %3961 = icmp eq i32 %3958, %3960
  br i1 %3961, label %3962, label %3821

3962:                                             ; preds = %3955
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %36) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %39) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %39, i8 0, i64 24, i1 false)
  %3963 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %39, ptr noundef nonnull @.str.105) #12
  %3964 = call zeroext i1 @s2n_result_is_ok(i32 %3963)
  br i1 %3964, label %3965, label %4161

3965:                                             ; preds = %3962
  %3966 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %3967 = load i32, ptr @test_count, align 4, !tbaa !5
  %3968 = add nsw i32 %3967, 1
  store i32 %3968, ptr @test_count, align 4, !tbaa !5
  %3969 = icmp eq ptr %3966, null
  br i1 %3969, label %3970, label %3992

3970:                                             ; preds = %3965
  %3971 = load i32, ptr %1317, align 4, !tbaa !5
  %3972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3973 = call i32 @s2n_print_stacktrace(ptr noundef %3972) #12
  %3974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3975 = trunc nuw i8 %3974 to i1
  br i1 %3975, label %3976, label %3980

3976:                                             ; preds = %3970
  %3977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3978 = call i32 @fileno(ptr noundef %3977) #12
  %3979 = call i32 @isatty(i32 noundef %3978) #12
  %.not2071 = icmp eq i32 %3979, 0
  br i1 %.not2071, label %3980, label %3981

3980:                                             ; preds = %3976, %3970
  br label %3981

3981:                                             ; preds = %3976, %3980
  %.str.26.sink3413 = phi ptr [ @.str.26, %3980 ], [ @.str.23, %3976 ]
  store i32 %3971, ptr %1317, align 4, !tbaa !5
  %3982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3983 = load i32, ptr @test_count, align 4, !tbaa !5
  %3984 = load i32, ptr %1263, align 4, !tbaa !5
  %3985 = call ptr @s2n_strerror(i32 noundef %3984, ptr noundef nonnull @.str.25) #12
  %3986 = load i32, ptr %1263, align 4, !tbaa !5
  %3987 = call ptr @s2n_strerror_debug(i32 noundef %3986, ptr noundef nonnull @.str.25) #12
  %3988 = load i32, ptr %1317, align 4, !tbaa !5
  %3989 = call ptr @strerror(i32 noundef %3988) #12
  %3990 = load i32, ptr %1317, align 4, !tbaa !5
  %3991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3982, ptr noundef nonnull %.str.26.sink3413, i32 noundef %3983, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 524, ptr noundef %3985, ptr noundef %3987, ptr noundef %3989, i32 noundef %3990) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3992:                                             ; preds = %3965
  %3993 = getelementptr inbounds i8, ptr %3966, i64 232
  %3994 = load ptr, ptr %3993, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %3994, align 8, !tbaa !44
  %3995 = add nsw i32 %3967, 2
  store i32 %3995, ptr @test_count, align 4, !tbaa !5
  %3996 = call i32 @s2n_setup_test_resumption_secret(ptr noundef nonnull %3966)
  %3997 = icmp eq i32 %3996, -1
  br i1 %3997, label %3998, label %4020

3998:                                             ; preds = %3992
  %3999 = load i32, ptr %1317, align 4, !tbaa !5
  %4000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4001 = call i32 @s2n_print_stacktrace(ptr noundef %4000) #12
  %4002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4003 = trunc nuw i8 %4002 to i1
  br i1 %4003, label %4004, label %4008

4004:                                             ; preds = %3998
  %4005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4006 = call i32 @fileno(ptr noundef %4005) #12
  %4007 = call i32 @isatty(i32 noundef %4006) #12
  %.not2070 = icmp eq i32 %4007, 0
  br i1 %.not2070, label %4008, label %4009

4008:                                             ; preds = %4004, %3998
  br label %4009

4009:                                             ; preds = %4004, %4008
  %.str.26.sink3422 = phi ptr [ @.str.26, %4008 ], [ @.str.23, %4004 ]
  store i32 %3999, ptr %1317, align 4, !tbaa !5
  %4010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4011 = load i32, ptr @test_count, align 4, !tbaa !5
  %4012 = load i32, ptr %1263, align 4, !tbaa !5
  %4013 = call ptr @s2n_strerror(i32 noundef %4012, ptr noundef nonnull @.str.25) #12
  %4014 = load i32, ptr %1263, align 4, !tbaa !5
  %4015 = call ptr @s2n_strerror_debug(i32 noundef %4014, ptr noundef nonnull @.str.25) #12
  %4016 = load i32, ptr %1317, align 4, !tbaa !5
  %4017 = call ptr @strerror(i32 noundef %4016) #12
  %4018 = load i32, ptr %1317, align 4, !tbaa !5
  %4019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4010, ptr noundef nonnull %.str.26.sink3422, i32 noundef %4011, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.22, i32 noundef 527, ptr noundef %4013, ptr noundef %4015, ptr noundef %4017, i32 noundef %4018) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4020:                                             ; preds = %3992
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %40) #12
  store i16 0, ptr %40, align 2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %41) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %41, i8 0, i64 24, i1 false)
  %4021 = load i32, ptr @test_count, align 4, !tbaa !5
  %4022 = add nsw i32 %4021, 1
  store i32 %4022, ptr @test_count, align 4, !tbaa !5
  %4023 = call i32 @s2n_blob_init(ptr noundef nonnull %41, ptr noundef nonnull %40, i32 noundef 2) #12
  %4024 = icmp eq i32 %4023, -1
  br i1 %4024, label %4025, label %4047

4025:                                             ; preds = %4020
  %4026 = load i32, ptr %1317, align 4, !tbaa !5
  %4027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4028 = call i32 @s2n_print_stacktrace(ptr noundef %4027) #12
  %4029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4030 = trunc nuw i8 %4029 to i1
  br i1 %4030, label %4031, label %4035

4031:                                             ; preds = %4025
  %4032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4033 = call i32 @fileno(ptr noundef %4032) #12
  %4034 = call i32 @isatty(i32 noundef %4033) #12
  %.not2069 = icmp eq i32 %4034, 0
  br i1 %.not2069, label %4035, label %4036

4035:                                             ; preds = %4031, %4025
  br label %4036

4036:                                             ; preds = %4031, %4035
  %.str.26.sink3431 = phi ptr [ @.str.26, %4035 ], [ @.str.23, %4031 ]
  store i32 %4026, ptr %1317, align 4, !tbaa !5
  %4037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4038 = load i32, ptr @test_count, align 4, !tbaa !5
  %4039 = load i32, ptr %1263, align 4, !tbaa !5
  %4040 = call ptr @s2n_strerror(i32 noundef %4039, ptr noundef nonnull @.str.25) #12
  %4041 = load i32, ptr %1263, align 4, !tbaa !5
  %4042 = call ptr @s2n_strerror_debug(i32 noundef %4041, ptr noundef nonnull @.str.25) #12
  %4043 = load i32, ptr %1317, align 4, !tbaa !5
  %4044 = call ptr @strerror(i32 noundef %4043) #12
  %4045 = load i32, ptr %1317, align 4, !tbaa !5
  %4046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4037, ptr noundef nonnull %.str.26.sink3431, i32 noundef %4038, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.22, i32 noundef 531, ptr noundef %4040, ptr noundef %4042, ptr noundef %4044, i32 noundef %4045) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4047:                                             ; preds = %4020
  %4048 = getelementptr inbounds i8, ptr %3966, i64 3816
  %4049 = load i32, ptr @test_count, align 4, !tbaa !5
  %4050 = add nsw i32 %4049, 1
  store i32 %4050, ptr @test_count, align 4, !tbaa !5
  %4051 = call i32 @s2n_generate_session_secret(ptr noundef nonnull %3966, ptr noundef nonnull %41, ptr noundef nonnull %4048)
  %4052 = icmp eq i32 %4051, -1
  br i1 %4052, label %4053, label %4075

4053:                                             ; preds = %4047
  %4054 = load i32, ptr %1317, align 4, !tbaa !5
  %4055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4056 = call i32 @s2n_print_stacktrace(ptr noundef %4055) #12
  %4057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4058 = trunc nuw i8 %4057 to i1
  br i1 %4058, label %4059, label %4063

4059:                                             ; preds = %4053
  %4060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4061 = call i32 @fileno(ptr noundef %4060) #12
  %4062 = call i32 @isatty(i32 noundef %4061) #12
  %.not2068 = icmp eq i32 %4062, 0
  br i1 %.not2068, label %4063, label %4064

4063:                                             ; preds = %4059, %4053
  br label %4064

4064:                                             ; preds = %4059, %4063
  %.str.26.sink3440 = phi ptr [ @.str.26, %4063 ], [ @.str.23, %4059 ]
  store i32 %4054, ptr %1317, align 4, !tbaa !5
  %4065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4066 = load i32, ptr @test_count, align 4, !tbaa !5
  %4067 = load i32, ptr %1263, align 4, !tbaa !5
  %4068 = call ptr @s2n_strerror(i32 noundef %4067, ptr noundef nonnull @.str.25) #12
  %4069 = load i32, ptr %1263, align 4, !tbaa !5
  %4070 = call ptr @s2n_strerror_debug(i32 noundef %4069, ptr noundef nonnull @.str.25) #12
  %4071 = load i32, ptr %1317, align 4, !tbaa !5
  %4072 = call ptr @strerror(i32 noundef %4071) #12
  %4073 = load i32, ptr %1317, align 4, !tbaa !5
  %4074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4065, ptr noundef nonnull %.str.26.sink3440, i32 noundef %4066, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.22, i32 noundef 534, ptr noundef %4068, ptr noundef %4070, ptr noundef %4072, i32 noundef %4073) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4075:                                             ; preds = %4047
  %4076 = load i32, ptr @test_count, align 4, !tbaa !5
  %4077 = add nsw i32 %4076, 1
  store i32 %4077, ptr @test_count, align 4, !tbaa !5
  %4078 = getelementptr inbounds i8, ptr %3966, i64 3824
  %4079 = load i32, ptr %4078, align 8, !tbaa !69
  %4080 = getelementptr inbounds i8, ptr %39, i64 8
  %4081 = load i32, ptr %4080, align 8, !tbaa !69
  %4082 = icmp eq i32 %4079, %4081
  br i1 %4082, label %4105, label %4083

4083:                                             ; preds = %4075
  %4084 = load i32, ptr %1317, align 4, !tbaa !5
  %4085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4086 = call i32 @s2n_print_stacktrace(ptr noundef %4085) #12
  %4087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4088 = trunc nuw i8 %4087 to i1
  br i1 %4088, label %4089, label %4093

4089:                                             ; preds = %4083
  %4090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4091 = call i32 @fileno(ptr noundef %4090) #12
  %4092 = call i32 @isatty(i32 noundef %4091) #12
  %.not1660 = icmp eq i32 %4092, 0
  br i1 %.not1660, label %4093, label %4094

4093:                                             ; preds = %4089, %4083
  br label %4094

4094:                                             ; preds = %4089, %4093
  %.str.26.sink3449 = phi ptr [ @.str.26, %4093 ], [ @.str.23, %4089 ]
  store i32 %4084, ptr %1317, align 4, !tbaa !5
  %4095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4096 = load i32, ptr @test_count, align 4, !tbaa !5
  %4097 = load i32, ptr %1263, align 4, !tbaa !5
  %4098 = call ptr @s2n_strerror(i32 noundef %4097, ptr noundef nonnull @.str.25) #12
  %4099 = load i32, ptr %1263, align 4, !tbaa !5
  %4100 = call ptr @s2n_strerror_debug(i32 noundef %4099, ptr noundef nonnull @.str.25) #12
  %4101 = load i32, ptr %1317, align 4, !tbaa !5
  %4102 = call ptr @strerror(i32 noundef %4101) #12
  %4103 = load i32, ptr %1317, align 4, !tbaa !5
  %4104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4095, ptr noundef nonnull %.str.26.sink3449, i32 noundef %4096, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.22, i32 noundef 535, ptr noundef %4098, ptr noundef %4100, ptr noundef %4102, i32 noundef %4103) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4105:                                             ; preds = %4075
  %.not1661 = icmp eq i32 %4079, 0
  br i1 %.not1661, label %4134, label %4106

4106:                                             ; preds = %4105
  %4107 = add nsw i32 %4076, 2
  store i32 %4107, ptr @test_count, align 4, !tbaa !5
  %4108 = load ptr, ptr %4048, align 8, !tbaa !53
  %4109 = load ptr, ptr %39, align 8, !tbaa !53
  %4110 = zext i32 %4079 to i64
  %bcmp1662 = call i32 @bcmp(ptr %4108, ptr %4109, i64 %4110)
  %4111 = icmp eq i32 %bcmp1662, 0
  br i1 %4111, label %4134, label %4112

4112:                                             ; preds = %4106
  %4113 = load i32, ptr %1317, align 4, !tbaa !5
  %4114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4115 = call i32 @s2n_print_stacktrace(ptr noundef %4114) #12
  %4116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4117 = trunc nuw i8 %4116 to i1
  br i1 %4117, label %4118, label %4122

4118:                                             ; preds = %4112
  %4119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4120 = call i32 @fileno(ptr noundef %4119) #12
  %4121 = call i32 @isatty(i32 noundef %4120) #12
  %.not1663 = icmp eq i32 %4121, 0
  br i1 %.not1663, label %4122, label %4123

4122:                                             ; preds = %4118, %4112
  br label %4123

4123:                                             ; preds = %4118, %4122
  %.str.26.sink3458 = phi ptr [ @.str.26, %4122 ], [ @.str.23, %4118 ]
  store i32 %4113, ptr %1317, align 4, !tbaa !5
  %4124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4125 = load i32, ptr @test_count, align 4, !tbaa !5
  %4126 = load i32, ptr %1263, align 4, !tbaa !5
  %4127 = call ptr @s2n_strerror(i32 noundef %4126, ptr noundef nonnull @.str.25) #12
  %4128 = load i32, ptr %1263, align 4, !tbaa !5
  %4129 = call ptr @s2n_strerror_debug(i32 noundef %4128, ptr noundef nonnull @.str.25) #12
  %4130 = load i32, ptr %1317, align 4, !tbaa !5
  %4131 = call ptr @strerror(i32 noundef %4130) #12
  %4132 = load i32, ptr %1317, align 4, !tbaa !5
  %4133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4124, ptr noundef nonnull %.str.26.sink3458, i32 noundef %4125, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.22, i32 noundef 536, ptr noundef %4127, ptr noundef %4129, ptr noundef %4131, i32 noundef %4132) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4134:                                             ; preds = %4105, %4106
  %4135 = phi i32 [ %4077, %4105 ], [ %4107, %4106 ]
  %4136 = add nsw i32 %4135, 1
  store i32 %4136, ptr @test_count, align 4, !tbaa !5
  %4137 = call i32 @s2n_connection_free(ptr noundef nonnull %3966) #12
  %4138 = icmp eq i32 %4137, -1
  br i1 %4138, label %4139, label %4163

4139:                                             ; preds = %4134
  %4140 = load i32, ptr %1317, align 4, !tbaa !5
  %4141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4142 = call i32 @s2n_print_stacktrace(ptr noundef %4141) #12
  %4143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4144 = trunc nuw i8 %4143 to i1
  br i1 %4144, label %4145, label %4149

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

4149:                                             ; preds = %4145, %4139
  br label %4150

4150:                                             ; preds = %4145, %4149
  %.str.26.sink3467 = phi ptr [ @.str.26, %4149 ], [ @.str.23, %4145 ]
  store i32 %4140, ptr %1317, align 4, !tbaa !5
  %4151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4152 = load i32, ptr @test_count, align 4, !tbaa !5
  %4153 = load i32, ptr %1263, align 4, !tbaa !5
  %4154 = call ptr @s2n_strerror(i32 noundef %4153, ptr noundef nonnull @.str.25) #12
  %4155 = load i32, ptr %1263, align 4, !tbaa !5
  %4156 = call ptr @s2n_strerror_debug(i32 noundef %4155, ptr noundef nonnull @.str.25) #12
  %4157 = load i32, ptr %1317, align 4, !tbaa !5
  %4158 = call ptr @strerror(i32 noundef %4157) #12
  %4159 = load i32, ptr %1317, align 4, !tbaa !5
  %4160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4151, ptr noundef nonnull %.str.26.sink3467, i32 noundef %4152, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 538, ptr noundef %4154, ptr noundef %4156, ptr noundef %4158, i32 noundef %4159) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4161:                                             ; preds = %3962
  %4162 = call i32 @s2n_free(ptr noundef nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #12
  br label %14994

4163:                                             ; preds = %4134
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %40) #12
  %4164 = call i32 @s2n_free(ptr noundef nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #12
  call void @llvm.lifetime.start.p0(i64 18, ptr nonnull %42) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(18) %42, ptr noundef nonnull align 16 dereferenceable(18) @__const.main.nst_data, i64 18, i1 false)
  %4165 = call ptr @s2n_config_new() #12
  %4166 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %4167 = load i32, ptr @test_count, align 4, !tbaa !5
  %4168 = add nsw i32 %4167, 1
  store i32 %4168, ptr @test_count, align 4, !tbaa !5
  %4169 = icmp eq ptr %4166, null
  br i1 %4169, label %4170, label %4192

4170:                                             ; preds = %4163
  %4171 = load i32, ptr %1317, align 4, !tbaa !5
  %4172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4173 = call i32 @s2n_print_stacktrace(ptr noundef %4172) #12
  %4174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4175 = trunc nuw i8 %4174 to i1
  br i1 %4175, label %4176, label %4180

4176:                                             ; preds = %4170
  %4177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4178 = call i32 @fileno(ptr noundef %4177) #12
  %4179 = call i32 @isatty(i32 noundef %4178) #12
  %.not2066 = icmp eq i32 %4179, 0
  br i1 %.not2066, label %4180, label %4181

4180:                                             ; preds = %4176, %4170
  br label %4181

4181:                                             ; preds = %4176, %4180
  %.str.26.sink3476 = phi ptr [ @.str.26, %4180 ], [ @.str.23, %4176 ]
  store i32 %4171, ptr %1317, align 4, !tbaa !5
  %4182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4183 = load i32, ptr @test_count, align 4, !tbaa !5
  %4184 = load i32, ptr %1263, align 4, !tbaa !5
  %4185 = call ptr @s2n_strerror(i32 noundef %4184, ptr noundef nonnull @.str.25) #12
  %4186 = load i32, ptr %1263, align 4, !tbaa !5
  %4187 = call ptr @s2n_strerror_debug(i32 noundef %4186, ptr noundef nonnull @.str.25) #12
  %4188 = load i32, ptr %1317, align 4, !tbaa !5
  %4189 = call ptr @strerror(i32 noundef %4188) #12
  %4190 = load i32, ptr %1317, align 4, !tbaa !5
  %4191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4182, ptr noundef nonnull %.str.26.sink3476, i32 noundef %4183, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 558, ptr noundef %4185, ptr noundef %4187, ptr noundef %4189, i32 noundef %4190) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4192:                                             ; preds = %4163
  %4193 = add nsw i32 %4167, 2
  store i32 %4193, ptr @test_count, align 4, !tbaa !5
  %4194 = icmp eq ptr %4165, null
  br i1 %4194, label %4195, label %4217

4195:                                             ; preds = %4192
  %4196 = load i32, ptr %1317, align 4, !tbaa !5
  %4197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4198 = call i32 @s2n_print_stacktrace(ptr noundef %4197) #12
  %4199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4200 = trunc nuw i8 %4199 to i1
  br i1 %4200, label %4201, label %4205

4201:                                             ; preds = %4195
  %4202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4203 = call i32 @fileno(ptr noundef %4202) #12
  %4204 = call i32 @isatty(i32 noundef %4203) #12
  %.not2065 = icmp eq i32 %4204, 0
  br i1 %.not2065, label %4205, label %4206

4205:                                             ; preds = %4201, %4195
  br label %4206

4206:                                             ; preds = %4201, %4205
  %.str.26.sink3485 = phi ptr [ @.str.26, %4205 ], [ @.str.23, %4201 ]
  store i32 %4196, ptr %1317, align 4, !tbaa !5
  %4207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4208 = load i32, ptr @test_count, align 4, !tbaa !5
  %4209 = load i32, ptr %1263, align 4, !tbaa !5
  %4210 = call ptr @s2n_strerror(i32 noundef %4209, ptr noundef nonnull @.str.25) #12
  %4211 = load i32, ptr %1263, align 4, !tbaa !5
  %4212 = call ptr @s2n_strerror_debug(i32 noundef %4211, ptr noundef nonnull @.str.25) #12
  %4213 = load i32, ptr %1317, align 4, !tbaa !5
  %4214 = call ptr @strerror(i32 noundef %4213) #12
  %4215 = load i32, ptr %1317, align 4, !tbaa !5
  %4216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4207, ptr noundef nonnull %.str.26.sink3485, i32 noundef %4208, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 559, ptr noundef %4210, ptr noundef %4212, ptr noundef %4214, i32 noundef %4215) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4217:                                             ; preds = %4192
  %4218 = add nsw i32 %4167, 3
  store i32 %4218, ptr @test_count, align 4, !tbaa !5
  %4219 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4166, ptr noundef nonnull %4165) #12
  %4220 = icmp eq i32 %4219, -1
  br i1 %4220, label %4221, label %4243

4221:                                             ; preds = %4217
  %4222 = load i32, ptr %1317, align 4, !tbaa !5
  %4223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4224 = call i32 @s2n_print_stacktrace(ptr noundef %4223) #12
  %4225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4226 = trunc nuw i8 %4225 to i1
  br i1 %4226, label %4227, label %4231

4227:                                             ; preds = %4221
  %4228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4229 = call i32 @fileno(ptr noundef %4228) #12
  %4230 = call i32 @isatty(i32 noundef %4229) #12
  %.not2064 = icmp eq i32 %4230, 0
  br i1 %.not2064, label %4231, label %4232

4231:                                             ; preds = %4227, %4221
  br label %4232

4232:                                             ; preds = %4227, %4231
  %.str.26.sink3494 = phi ptr [ @.str.26, %4231 ], [ @.str.23, %4227 ]
  store i32 %4222, ptr %1317, align 4, !tbaa !5
  %4233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4234 = load i32, ptr @test_count, align 4, !tbaa !5
  %4235 = load i32, ptr %1263, align 4, !tbaa !5
  %4236 = call ptr @s2n_strerror(i32 noundef %4235, ptr noundef nonnull @.str.25) #12
  %4237 = load i32, ptr %1263, align 4, !tbaa !5
  %4238 = call ptr @s2n_strerror_debug(i32 noundef %4237, ptr noundef nonnull @.str.25) #12
  %4239 = load i32, ptr %1317, align 4, !tbaa !5
  %4240 = call ptr @strerror(i32 noundef %4239) #12
  %4241 = load i32, ptr %1317, align 4, !tbaa !5
  %4242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4233, ptr noundef nonnull %.str.26.sink3494, i32 noundef %4234, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 561, ptr noundef %4236, ptr noundef %4238, ptr noundef %4240, i32 noundef %4241) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4243:                                             ; preds = %4217
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %43) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %43, i8 0, i64 40, i1 false)
  %4244 = load i32, ptr @test_count, align 4, !tbaa !5
  %4245 = add nsw i32 %4244, 1
  store i32 %4245, ptr @test_count, align 4, !tbaa !5
  %4246 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %43, i32 noundef 0) #12
  %4247 = icmp eq i32 %4246, -1
  br i1 %4247, label %4248, label %4270

4248:                                             ; preds = %4243
  %4249 = load i32, ptr %1317, align 4, !tbaa !5
  %4250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4251 = call i32 @s2n_print_stacktrace(ptr noundef %4250) #12
  %4252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4253 = trunc nuw i8 %4252 to i1
  br i1 %4253, label %4254, label %4258

4254:                                             ; preds = %4248
  %4255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4256 = call i32 @fileno(ptr noundef %4255) #12
  %4257 = call i32 @isatty(i32 noundef %4256) #12
  %.not2063 = icmp eq i32 %4257, 0
  br i1 %.not2063, label %4258, label %4259

4258:                                             ; preds = %4254, %4248
  br label %4259

4259:                                             ; preds = %4254, %4258
  %.str.26.sink3503 = phi ptr [ @.str.26, %4258 ], [ @.str.23, %4254 ]
  store i32 %4249, ptr %1317, align 4, !tbaa !5
  %4260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4261 = load i32, ptr @test_count, align 4, !tbaa !5
  %4262 = load i32, ptr %1263, align 4, !tbaa !5
  %4263 = call ptr @s2n_strerror(i32 noundef %4262, ptr noundef nonnull @.str.25) #12
  %4264 = load i32, ptr %1263, align 4, !tbaa !5
  %4265 = call ptr @s2n_strerror_debug(i32 noundef %4264, ptr noundef nonnull @.str.25) #12
  %4266 = load i32, ptr %1317, align 4, !tbaa !5
  %4267 = call ptr @strerror(i32 noundef %4266) #12
  %4268 = load i32, ptr %1317, align 4, !tbaa !5
  %4269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4260, ptr noundef nonnull %.str.26.sink3503, i32 noundef %4261, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.22, i32 noundef 565, ptr noundef %4263, ptr noundef %4265, ptr noundef %4267, i32 noundef %4268) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4270:                                             ; preds = %4243
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %44, i8 0, i64 24, i1 false)
  %4271 = load i32, ptr @test_count, align 4, !tbaa !5
  %4272 = add nsw i32 %4271, 1
  store i32 %4272, ptr @test_count, align 4, !tbaa !5
  %4273 = call i32 @s2n_blob_init(ptr noundef nonnull %44, ptr noundef nonnull %42, i32 noundef 18) #12
  %4274 = icmp eq i32 %4273, -1
  br i1 %4274, label %4275, label %4297

4275:                                             ; preds = %4270
  %4276 = load i32, ptr %1317, align 4, !tbaa !5
  %4277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4278 = call i32 @s2n_print_stacktrace(ptr noundef %4277) #12
  %4279 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4280 = trunc nuw i8 %4279 to i1
  br i1 %4280, label %4281, label %4285

4281:                                             ; preds = %4275
  %4282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4283 = call i32 @fileno(ptr noundef %4282) #12
  %4284 = call i32 @isatty(i32 noundef %4283) #12
  %.not2062 = icmp eq i32 %4284, 0
  br i1 %.not2062, label %4285, label %4286

4285:                                             ; preds = %4281, %4275
  br label %4286

4286:                                             ; preds = %4281, %4285
  %.str.26.sink3512 = phi ptr [ @.str.26, %4285 ], [ @.str.23, %4281 ]
  store i32 %4276, ptr %1317, align 4, !tbaa !5
  %4287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4288 = load i32, ptr @test_count, align 4, !tbaa !5
  %4289 = load i32, ptr %1263, align 4, !tbaa !5
  %4290 = call ptr @s2n_strerror(i32 noundef %4289, ptr noundef nonnull @.str.25) #12
  %4291 = load i32, ptr %1263, align 4, !tbaa !5
  %4292 = call ptr @s2n_strerror_debug(i32 noundef %4291, ptr noundef nonnull @.str.25) #12
  %4293 = load i32, ptr %1317, align 4, !tbaa !5
  %4294 = call ptr @strerror(i32 noundef %4293) #12
  %4295 = load i32, ptr %1317, align 4, !tbaa !5
  %4296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4287, ptr noundef nonnull %.str.26.sink3512, i32 noundef %4288, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.22, i32 noundef 568, ptr noundef %4290, ptr noundef %4292, ptr noundef %4294, i32 noundef %4295) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4297:                                             ; preds = %4270
  %4298 = load i32, ptr @test_count, align 4, !tbaa !5
  %4299 = add nsw i32 %4298, 1
  store i32 %4299, ptr @test_count, align 4, !tbaa !5
  %4300 = call i32 @s2n_stuffer_write(ptr noundef nonnull %43, ptr noundef nonnull %44) #12
  %4301 = icmp eq i32 %4300, -1
  br i1 %4301, label %4302, label %4324

4302:                                             ; preds = %4297
  %4303 = load i32, ptr %1317, align 4, !tbaa !5
  %4304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4305 = call i32 @s2n_print_stacktrace(ptr noundef %4304) #12
  %4306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4307 = trunc nuw i8 %4306 to i1
  br i1 %4307, label %4308, label %4312

4308:                                             ; preds = %4302
  %4309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4310 = call i32 @fileno(ptr noundef %4309) #12
  %4311 = call i32 @isatty(i32 noundef %4310) #12
  %.not2061 = icmp eq i32 %4311, 0
  br i1 %.not2061, label %4312, label %4313

4312:                                             ; preds = %4308, %4302
  br label %4313

4313:                                             ; preds = %4308, %4312
  %.str.26.sink3521 = phi ptr [ @.str.26, %4312 ], [ @.str.23, %4308 ]
  store i32 %4303, ptr %1317, align 4, !tbaa !5
  %4314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4315 = load i32, ptr @test_count, align 4, !tbaa !5
  %4316 = load i32, ptr %1263, align 4, !tbaa !5
  %4317 = call ptr @s2n_strerror(i32 noundef %4316, ptr noundef nonnull @.str.25) #12
  %4318 = load i32, ptr %1263, align 4, !tbaa !5
  %4319 = call ptr @s2n_strerror_debug(i32 noundef %4318, ptr noundef nonnull @.str.25) #12
  %4320 = load i32, ptr %1317, align 4, !tbaa !5
  %4321 = call ptr @strerror(i32 noundef %4320) #12
  %4322 = load i32, ptr %1317, align 4, !tbaa !5
  %4323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4314, ptr noundef nonnull %.str.26.sink3521, i32 noundef %4315, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.22, i32 noundef 569, ptr noundef %4317, ptr noundef %4319, ptr noundef %4321, i32 noundef %4322) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4324:                                             ; preds = %4297
  %4325 = load i32, ptr @test_count, align 4, !tbaa !5
  %4326 = add nsw i32 %4325, 1
  store i32 %4326, ptr @test_count, align 4, !tbaa !5
  %4327 = call i32 @s2n_tls13_server_nst_recv(ptr noundef nonnull %4166, ptr noundef nonnull %43)
  %4328 = call zeroext i1 @s2n_result_is_ok(i32 %4327)
  br i1 %4328, label %4351, label %4329

4329:                                             ; preds = %4324
  %4330 = load i32, ptr %1317, align 4, !tbaa !5
  %4331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4332 = call i32 @s2n_print_stacktrace(ptr noundef %4331) #12
  %4333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4334 = trunc nuw i8 %4333 to i1
  br i1 %4334, label %4335, label %4339

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

4339:                                             ; preds = %4335, %4329
  br label %4340

4340:                                             ; preds = %4335, %4339
  %.str.26.sink3530 = phi ptr [ @.str.26, %4339 ], [ @.str.23, %4335 ]
  store i32 %4330, ptr %1317, align 4, !tbaa !5
  %4341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4342 = load i32, ptr @test_count, align 4, !tbaa !5
  %4343 = load i32, ptr %1263, align 4, !tbaa !5
  %4344 = call ptr @s2n_strerror(i32 noundef %4343, ptr noundef nonnull @.str.25) #12
  %4345 = load i32, ptr %1263, align 4, !tbaa !5
  %4346 = call ptr @s2n_strerror_debug(i32 noundef %4345, ptr noundef nonnull @.str.25) #12
  %4347 = load i32, ptr %1317, align 4, !tbaa !5
  %4348 = call ptr @strerror(i32 noundef %4347) #12
  %4349 = load i32, ptr %1317, align 4, !tbaa !5
  %4350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4341, ptr noundef nonnull %.str.26.sink3530, i32 noundef %4342, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.22, i32 noundef 571, ptr noundef %4344, ptr noundef %4346, ptr noundef %4348, i32 noundef %4349) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4351:                                             ; preds = %4324
  %4352 = load i32, ptr @test_count, align 4, !tbaa !5
  %4353 = add nsw i32 %4352, 1
  store i32 %4353, ptr @test_count, align 4, !tbaa !5
  %4354 = getelementptr inbounds i8, ptr %4166, i64 3792
  %4355 = load i32, ptr %4354, align 8, !tbaa !70
  %4356 = icmp eq i32 %4355, 0
  br i1 %4356, label %4379, label %4357

4357:                                             ; preds = %4351
  %4358 = load i32, ptr %1317, align 4, !tbaa !5
  %4359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4360 = call i32 @s2n_print_stacktrace(ptr noundef %4359) #12
  %4361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4362 = trunc nuw i8 %4361 to i1
  br i1 %4362, label %4363, label %4367

4363:                                             ; preds = %4357
  %4364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4365 = call i32 @fileno(ptr noundef %4364) #12
  %4366 = call i32 @isatty(i32 noundef %4365) #12
  %.not1665 = icmp eq i32 %4366, 0
  br i1 %.not1665, label %4367, label %4368

4367:                                             ; preds = %4363, %4357
  br label %4368

4368:                                             ; preds = %4363, %4367
  %.str.26.sink3539 = phi ptr [ @.str.26, %4367 ], [ @.str.23, %4363 ]
  store i32 %4358, ptr %1317, align 4, !tbaa !5
  %4369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4370 = load i32, ptr @test_count, align 4, !tbaa !5
  %4371 = load i32, ptr %1263, align 4, !tbaa !5
  %4372 = call ptr @s2n_strerror(i32 noundef %4371, ptr noundef nonnull @.str.25) #12
  %4373 = load i32, ptr %1263, align 4, !tbaa !5
  %4374 = call ptr @s2n_strerror_debug(i32 noundef %4373, ptr noundef nonnull @.str.25) #12
  %4375 = load i32, ptr %1317, align 4, !tbaa !5
  %4376 = call ptr @strerror(i32 noundef %4375) #12
  %4377 = load i32, ptr %1317, align 4, !tbaa !5
  %4378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4369, ptr noundef nonnull %.str.26.sink3539, i32 noundef %4370, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.22, i32 noundef 573, ptr noundef %4372, ptr noundef %4374, ptr noundef %4376, i32 noundef %4377) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4379:                                             ; preds = %4351
  %4380 = add nsw i32 %4352, 2
  store i32 %4380, ptr @test_count, align 4, !tbaa !5
  %4381 = getelementptr inbounds i8, ptr %43, i64 28
  %4382 = load i32, ptr %4381, align 4, !tbaa !51
  %4383 = getelementptr inbounds i8, ptr %43, i64 24
  %4384 = load i32, ptr %4383, align 8, !tbaa !52
  %.not1666 = icmp eq i32 %4382, %4384
  br i1 %.not1666, label %4385, label %4407

4385:                                             ; preds = %4379
  %4386 = load i32, ptr %1317, align 4, !tbaa !5
  %4387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4388 = call i32 @s2n_print_stacktrace(ptr noundef %4387) #12
  %4389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4390 = trunc nuw i8 %4389 to i1
  br i1 %4390, label %4391, label %4395

4391:                                             ; preds = %4385
  %4392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4393 = call i32 @fileno(ptr noundef %4392) #12
  %4394 = call i32 @isatty(i32 noundef %4393) #12
  %.not1667 = icmp eq i32 %4394, 0
  br i1 %.not1667, label %4395, label %4396

4395:                                             ; preds = %4391, %4385
  br label %4396

4396:                                             ; preds = %4391, %4395
  %.str.26.sink3548 = phi ptr [ @.str.26, %4395 ], [ @.str.23, %4391 ]
  store i32 %4386, ptr %1317, align 4, !tbaa !5
  %4397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4398 = load i32, ptr @test_count, align 4, !tbaa !5
  %4399 = load i32, ptr %1263, align 4, !tbaa !5
  %4400 = call ptr @s2n_strerror(i32 noundef %4399, ptr noundef nonnull @.str.25) #12
  %4401 = load i32, ptr %1263, align 4, !tbaa !5
  %4402 = call ptr @s2n_strerror_debug(i32 noundef %4401, ptr noundef nonnull @.str.25) #12
  %4403 = load i32, ptr %1317, align 4, !tbaa !5
  %4404 = call ptr @strerror(i32 noundef %4403) #12
  %4405 = load i32, ptr %1317, align 4, !tbaa !5
  %4406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4397, ptr noundef nonnull %.str.26.sink3548, i32 noundef %4398, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.22, i32 noundef 574, ptr noundef %4400, ptr noundef %4402, ptr noundef %4404, i32 noundef %4405) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4407:                                             ; preds = %4379
  %4408 = add nsw i32 %4352, 3
  store i32 %4408, ptr @test_count, align 4, !tbaa !5
  %4409 = call i32 @s2n_connection_free(ptr noundef nonnull %4166) #12
  %4410 = icmp eq i32 %4409, -1
  br i1 %4410, label %4411, label %4433

4411:                                             ; preds = %4407
  %4412 = load i32, ptr %1317, align 4, !tbaa !5
  %4413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4414 = call i32 @s2n_print_stacktrace(ptr noundef %4413) #12
  %4415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4416 = trunc nuw i8 %4415 to i1
  br i1 %4416, label %4417, label %4421

4417:                                             ; preds = %4411
  %4418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4419 = call i32 @fileno(ptr noundef %4418) #12
  %4420 = call i32 @isatty(i32 noundef %4419) #12
  %.not2060 = icmp eq i32 %4420, 0
  br i1 %.not2060, label %4421, label %4422

4421:                                             ; preds = %4417, %4411
  br label %4422

4422:                                             ; preds = %4417, %4421
  %.str.26.sink3557 = phi ptr [ @.str.26, %4421 ], [ @.str.23, %4417 ]
  store i32 %4412, ptr %1317, align 4, !tbaa !5
  %4423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4424 = load i32, ptr @test_count, align 4, !tbaa !5
  %4425 = load i32, ptr %1263, align 4, !tbaa !5
  %4426 = call ptr @s2n_strerror(i32 noundef %4425, ptr noundef nonnull @.str.25) #12
  %4427 = load i32, ptr %1263, align 4, !tbaa !5
  %4428 = call ptr @s2n_strerror_debug(i32 noundef %4427, ptr noundef nonnull @.str.25) #12
  %4429 = load i32, ptr %1317, align 4, !tbaa !5
  %4430 = call ptr @strerror(i32 noundef %4429) #12
  %4431 = load i32, ptr %1317, align 4, !tbaa !5
  %4432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4423, ptr noundef nonnull %.str.26.sink3557, i32 noundef %4424, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 576, ptr noundef %4426, ptr noundef %4428, ptr noundef %4430, i32 noundef %4431) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4433:                                             ; preds = %4407
  %4434 = load i32, ptr @test_count, align 4, !tbaa !5
  %4435 = add nsw i32 %4434, 1
  store i32 %4435, ptr @test_count, align 4, !tbaa !5
  %4436 = call i32 @s2n_config_free(ptr noundef nonnull %4165) #12
  %4437 = icmp eq i32 %4436, -1
  br i1 %4437, label %4438, label %4460

4438:                                             ; preds = %4433
  %4439 = load i32, ptr %1317, align 4, !tbaa !5
  %4440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4441 = call i32 @s2n_print_stacktrace(ptr noundef %4440) #12
  %4442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4443 = trunc nuw i8 %4442 to i1
  br i1 %4443, label %4444, label %4448

4444:                                             ; preds = %4438
  %4445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4446 = call i32 @fileno(ptr noundef %4445) #12
  %4447 = call i32 @isatty(i32 noundef %4446) #12
  %.not2059 = icmp eq i32 %4447, 0
  br i1 %.not2059, label %4448, label %4449

4448:                                             ; preds = %4444, %4438
  br label %4449

4449:                                             ; preds = %4444, %4448
  %.str.26.sink3566 = phi ptr [ @.str.26, %4448 ], [ @.str.23, %4444 ]
  store i32 %4439, ptr %1317, align 4, !tbaa !5
  %4450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4451 = load i32, ptr @test_count, align 4, !tbaa !5
  %4452 = load i32, ptr %1263, align 4, !tbaa !5
  %4453 = call ptr @s2n_strerror(i32 noundef %4452, ptr noundef nonnull @.str.25) #12
  %4454 = load i32, ptr %1263, align 4, !tbaa !5
  %4455 = call ptr @s2n_strerror_debug(i32 noundef %4454, ptr noundef nonnull @.str.25) #12
  %4456 = load i32, ptr %1317, align 4, !tbaa !5
  %4457 = call ptr @strerror(i32 noundef %4456) #12
  %4458 = load i32, ptr %1317, align 4, !tbaa !5
  %4459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4450, ptr noundef nonnull %.str.26.sink3566, i32 noundef %4451, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 577, ptr noundef %4453, ptr noundef %4455, ptr noundef %4457, i32 noundef %4458) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4460:                                             ; preds = %4433
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #12
  %4461 = call i32 @s2n_stuffer_free(ptr noundef nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %43) #12
  %4462 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %4463 = load i32, ptr @test_count, align 4, !tbaa !5
  %4464 = add nsw i32 %4463, 1
  store i32 %4464, ptr @test_count, align 4, !tbaa !5
  %4465 = icmp eq ptr %4462, null
  br i1 %4465, label %4466, label %4488

4466:                                             ; preds = %4460
  %4467 = load i32, ptr %1317, align 4, !tbaa !5
  %4468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4469 = call i32 @s2n_print_stacktrace(ptr noundef %4468) #12
  %4470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4471 = trunc nuw i8 %4470 to i1
  br i1 %4471, label %4472, label %4476

4472:                                             ; preds = %4466
  %4473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4474 = call i32 @fileno(ptr noundef %4473) #12
  %4475 = call i32 @isatty(i32 noundef %4474) #12
  %.not2058 = icmp eq i32 %4475, 0
  br i1 %.not2058, label %4476, label %4477

4476:                                             ; preds = %4472, %4466
  br label %4477

4477:                                             ; preds = %4472, %4476
  %.str.26.sink3575 = phi ptr [ @.str.26, %4476 ], [ @.str.23, %4472 ]
  store i32 %4467, ptr %1317, align 4, !tbaa !5
  %4478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4479 = load i32, ptr @test_count, align 4, !tbaa !5
  %4480 = load i32, ptr %1263, align 4, !tbaa !5
  %4481 = call ptr @s2n_strerror(i32 noundef %4480, ptr noundef nonnull @.str.25) #12
  %4482 = load i32, ptr %1263, align 4, !tbaa !5
  %4483 = call ptr @s2n_strerror_debug(i32 noundef %4482, ptr noundef nonnull @.str.25) #12
  %4484 = load i32, ptr %1317, align 4, !tbaa !5
  %4485 = call ptr @strerror(i32 noundef %4484) #12
  %4486 = load i32, ptr %1317, align 4, !tbaa !5
  %4487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4478, ptr noundef nonnull %.str.26.sink3575, i32 noundef %4479, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 583, ptr noundef %4481, ptr noundef %4483, ptr noundef %4485, i32 noundef %4486) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4488:                                             ; preds = %4460
  %4489 = getelementptr inbounds i8, ptr %4462, i64 220
  store i8 33, ptr %4489, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %45) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %45, i8 0, i64 40, i1 false)
  %4490 = add nsw i32 %4463, 2
  store i32 %4490, ptr @test_count, align 4, !tbaa !5
  %4491 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %45, i32 noundef 0) #12
  %4492 = icmp eq i32 %4491, -1
  br i1 %4492, label %4493, label %4515

4493:                                             ; preds = %4488
  %4494 = load i32, ptr %1317, align 4, !tbaa !5
  %4495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4496 = call i32 @s2n_print_stacktrace(ptr noundef %4495) #12
  %4497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4498 = trunc nuw i8 %4497 to i1
  br i1 %4498, label %4499, label %4503

4499:                                             ; preds = %4493
  %4500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4501 = call i32 @fileno(ptr noundef %4500) #12
  %4502 = call i32 @isatty(i32 noundef %4501) #12
  %.not2057 = icmp eq i32 %4502, 0
  br i1 %.not2057, label %4503, label %4504

4503:                                             ; preds = %4499, %4493
  br label %4504

4504:                                             ; preds = %4499, %4503
  %.str.26.sink3584 = phi ptr [ @.str.26, %4503 ], [ @.str.23, %4499 ]
  store i32 %4494, ptr %1317, align 4, !tbaa !5
  %4505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4506 = load i32, ptr @test_count, align 4, !tbaa !5
  %4507 = load i32, ptr %1263, align 4, !tbaa !5
  %4508 = call ptr @s2n_strerror(i32 noundef %4507, ptr noundef nonnull @.str.25) #12
  %4509 = load i32, ptr %1263, align 4, !tbaa !5
  %4510 = call ptr @s2n_strerror_debug(i32 noundef %4509, ptr noundef nonnull @.str.25) #12
  %4511 = load i32, ptr %1317, align 4, !tbaa !5
  %4512 = call ptr @strerror(i32 noundef %4511) #12
  %4513 = load i32, ptr %1317, align 4, !tbaa !5
  %4514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4505, ptr noundef nonnull %.str.26.sink3584, i32 noundef %4506, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.22, i32 noundef 588, ptr noundef %4508, ptr noundef %4510, ptr noundef %4512, i32 noundef %4513) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4515:                                             ; preds = %4488
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %46) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %46, i8 0, i64 24, i1 false)
  %4516 = load i32, ptr @test_count, align 4, !tbaa !5
  %4517 = add nsw i32 %4516, 1
  store i32 %4517, ptr @test_count, align 4, !tbaa !5
  %4518 = call i32 @s2n_blob_init(ptr noundef nonnull %46, ptr noundef nonnull %42, i32 noundef 18) #12
  %4519 = icmp eq i32 %4518, -1
  br i1 %4519, label %4520, label %4542

4520:                                             ; preds = %4515
  %4521 = load i32, ptr %1317, align 4, !tbaa !5
  %4522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4523 = call i32 @s2n_print_stacktrace(ptr noundef %4522) #12
  %4524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4525 = trunc nuw i8 %4524 to i1
  br i1 %4525, label %4526, label %4530

4526:                                             ; preds = %4520
  %4527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4528 = call i32 @fileno(ptr noundef %4527) #12
  %4529 = call i32 @isatty(i32 noundef %4528) #12
  %.not2056 = icmp eq i32 %4529, 0
  br i1 %.not2056, label %4530, label %4531

4530:                                             ; preds = %4526, %4520
  br label %4531

4531:                                             ; preds = %4526, %4530
  %.str.26.sink3593 = phi ptr [ @.str.26, %4530 ], [ @.str.23, %4526 ]
  store i32 %4521, ptr %1317, align 4, !tbaa !5
  %4532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4533 = load i32, ptr @test_count, align 4, !tbaa !5
  %4534 = load i32, ptr %1263, align 4, !tbaa !5
  %4535 = call ptr @s2n_strerror(i32 noundef %4534, ptr noundef nonnull @.str.25) #12
  %4536 = load i32, ptr %1263, align 4, !tbaa !5
  %4537 = call ptr @s2n_strerror_debug(i32 noundef %4536, ptr noundef nonnull @.str.25) #12
  %4538 = load i32, ptr %1317, align 4, !tbaa !5
  %4539 = call ptr @strerror(i32 noundef %4538) #12
  %4540 = load i32, ptr %1317, align 4, !tbaa !5
  %4541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4532, ptr noundef nonnull %.str.26.sink3593, i32 noundef %4533, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.22, i32 noundef 591, ptr noundef %4535, ptr noundef %4537, ptr noundef %4539, i32 noundef %4540) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4542:                                             ; preds = %4515
  %4543 = load i32, ptr @test_count, align 4, !tbaa !5
  %4544 = add nsw i32 %4543, 1
  store i32 %4544, ptr @test_count, align 4, !tbaa !5
  %4545 = call i32 @s2n_stuffer_write(ptr noundef nonnull %45, ptr noundef nonnull %46) #12
  %4546 = icmp eq i32 %4545, -1
  br i1 %4546, label %4547, label %4569

4547:                                             ; preds = %4542
  %4548 = load i32, ptr %1317, align 4, !tbaa !5
  %4549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4550 = call i32 @s2n_print_stacktrace(ptr noundef %4549) #12
  %4551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4552 = trunc nuw i8 %4551 to i1
  br i1 %4552, label %4553, label %4557

4553:                                             ; preds = %4547
  %4554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4555 = call i32 @fileno(ptr noundef %4554) #12
  %4556 = call i32 @isatty(i32 noundef %4555) #12
  %.not2055 = icmp eq i32 %4556, 0
  br i1 %.not2055, label %4557, label %4558

4557:                                             ; preds = %4553, %4547
  br label %4558

4558:                                             ; preds = %4553, %4557
  %.str.26.sink3602 = phi ptr [ @.str.26, %4557 ], [ @.str.23, %4553 ]
  store i32 %4548, ptr %1317, align 4, !tbaa !5
  %4559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4560 = load i32, ptr @test_count, align 4, !tbaa !5
  %4561 = load i32, ptr %1263, align 4, !tbaa !5
  %4562 = call ptr @s2n_strerror(i32 noundef %4561, ptr noundef nonnull @.str.25) #12
  %4563 = load i32, ptr %1263, align 4, !tbaa !5
  %4564 = call ptr @s2n_strerror_debug(i32 noundef %4563, ptr noundef nonnull @.str.25) #12
  %4565 = load i32, ptr %1317, align 4, !tbaa !5
  %4566 = call ptr @strerror(i32 noundef %4565) #12
  %4567 = load i32, ptr %1317, align 4, !tbaa !5
  %4568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4559, ptr noundef nonnull %.str.26.sink3602, i32 noundef %4560, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.22, i32 noundef 592, ptr noundef %4562, ptr noundef %4564, ptr noundef %4566, i32 noundef %4567) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4569:                                             ; preds = %4542
  %4570 = load i32, ptr @test_count, align 4, !tbaa !5
  %4571 = add nsw i32 %4570, 1
  store i32 %4571, ptr @test_count, align 4, !tbaa !5
  %4572 = call i32 @s2n_tls13_server_nst_recv(ptr noundef nonnull %4462, ptr noundef nonnull %45)
  %4573 = call zeroext i1 @s2n_result_is_error(i32 %4572)
  br i1 %4573, label %4596, label %4574

4574:                                             ; preds = %4569
  %4575 = load i32, ptr %1317, align 4, !tbaa !5
  %4576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4577 = call i32 @s2n_print_stacktrace(ptr noundef %4576) #12
  %4578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4579 = trunc nuw i8 %4578 to i1
  br i1 %4579, label %4580, label %4584

4580:                                             ; preds = %4574
  %4581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4582 = call i32 @fileno(ptr noundef %4581) #12
  %4583 = call i32 @isatty(i32 noundef %4582) #12
  %.not1668 = icmp eq i32 %4583, 0
  br i1 %.not1668, label %4584, label %4585

4584:                                             ; preds = %4580, %4574
  br label %4585

4585:                                             ; preds = %4580, %4584
  %.str.26.sink3611 = phi ptr [ @.str.26, %4584 ], [ @.str.23, %4580 ]
  store i32 %4575, ptr %1317, align 4, !tbaa !5
  %4586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4587 = load i32, ptr @test_count, align 4, !tbaa !5
  %4588 = load i32, ptr %1263, align 4, !tbaa !5
  %4589 = call ptr @s2n_strerror(i32 noundef %4588, ptr noundef nonnull @.str.25) #12
  %4590 = load i32, ptr %1263, align 4, !tbaa !5
  %4591 = call ptr @s2n_strerror_debug(i32 noundef %4590, ptr noundef nonnull @.str.25) #12
  %4592 = load i32, ptr %1317, align 4, !tbaa !5
  %4593 = call ptr @strerror(i32 noundef %4592) #12
  %4594 = load i32, ptr %1317, align 4, !tbaa !5
  %4595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4586, ptr noundef nonnull %.str.26.sink3611, i32 noundef %4587, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.22, i32 noundef 594, ptr noundef %4589, ptr noundef %4591, ptr noundef %4593, i32 noundef %4594) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4596:                                             ; preds = %4569
  %4597 = load i32, ptr @test_count, align 4, !tbaa !5
  %4598 = add nsw i32 %4597, 1
  store i32 %4598, ptr @test_count, align 4, !tbaa !5
  %4599 = load i32, ptr %1263, align 4, !tbaa !5
  %4600 = icmp eq i32 %4599, 335544322
  br i1 %4600, label %4623, label %4601

4601:                                             ; preds = %4596
  %4602 = load i32, ptr %1317, align 4, !tbaa !5
  %4603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4604 = call i32 @s2n_print_stacktrace(ptr noundef %4603) #12
  %4605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4606 = trunc nuw i8 %4605 to i1
  br i1 %4606, label %4607, label %4611

4607:                                             ; preds = %4601
  %4608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4609 = call i32 @fileno(ptr noundef %4608) #12
  %4610 = call i32 @isatty(i32 noundef %4609) #12
  %.not1669 = icmp eq i32 %4610, 0
  br i1 %.not1669, label %4611, label %4612

4611:                                             ; preds = %4607, %4601
  br label %4612

4612:                                             ; preds = %4607, %4611
  %.str.26.sink3620 = phi ptr [ @.str.26, %4611 ], [ @.str.23, %4607 ]
  store i32 %4602, ptr %1317, align 4, !tbaa !5
  %4613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4614 = load i32, ptr @test_count, align 4, !tbaa !5
  %4615 = load i32, ptr %1263, align 4, !tbaa !5
  %4616 = call ptr @s2n_strerror(i32 noundef %4615, ptr noundef nonnull @.str.25) #12
  %4617 = load i32, ptr %1263, align 4, !tbaa !5
  %4618 = call ptr @s2n_strerror_debug(i32 noundef %4617, ptr noundef nonnull @.str.25) #12
  %4619 = load i32, ptr %1317, align 4, !tbaa !5
  %4620 = call ptr @strerror(i32 noundef %4619) #12
  %4621 = load i32, ptr %1317, align 4, !tbaa !5
  %4622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4613, ptr noundef nonnull %.str.26.sink3620, i32 noundef %4614, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.22, i32 noundef 594, ptr noundef %4616, ptr noundef %4618, ptr noundef %4620, i32 noundef %4621) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4623:                                             ; preds = %4596
  %4624 = add nsw i32 %4597, 2
  store i32 %4624, ptr @test_count, align 4, !tbaa !5
  %4625 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.25) #12
  %4626 = icmp eq ptr %4625, null
  br i1 %4626, label %4627, label %4649

4627:                                             ; preds = %4623
  %4628 = load i32, ptr %1317, align 4, !tbaa !5
  %4629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4630 = call i32 @s2n_print_stacktrace(ptr noundef %4629) #12
  %4631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4632 = trunc nuw i8 %4631 to i1
  br i1 %4632, label %4633, label %4637

4633:                                             ; preds = %4627
  %4634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4635 = call i32 @fileno(ptr noundef %4634) #12
  %4636 = call i32 @isatty(i32 noundef %4635) #12
  %.not2054 = icmp eq i32 %4636, 0
  br i1 %.not2054, label %4637, label %4638

4637:                                             ; preds = %4633, %4627
  br label %4638

4638:                                             ; preds = %4633, %4637
  %.str.26.sink3629 = phi ptr [ @.str.26, %4637 ], [ @.str.23, %4633 ]
  store i32 %4628, ptr %1317, align 4, !tbaa !5
  %4639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4640 = load i32, ptr @test_count, align 4, !tbaa !5
  %4641 = load i32, ptr %1263, align 4, !tbaa !5
  %4642 = call ptr @s2n_strerror(i32 noundef %4641, ptr noundef nonnull @.str.25) #12
  %4643 = load i32, ptr %1263, align 4, !tbaa !5
  %4644 = call ptr @s2n_strerror_debug(i32 noundef %4643, ptr noundef nonnull @.str.25) #12
  %4645 = load i32, ptr %1317, align 4, !tbaa !5
  %4646 = call ptr @strerror(i32 noundef %4645) #12
  %4647 = load i32, ptr %1317, align 4, !tbaa !5
  %4648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4639, ptr noundef nonnull %.str.26.sink3629, i32 noundef %4640, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.22, i32 noundef 594, ptr noundef %4642, ptr noundef %4644, ptr noundef %4646, i32 noundef %4647) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4649:                                             ; preds = %4623
  store i32 0, ptr %1263, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1317, align 4, !tbaa !5
  %4650 = load i32, ptr @test_count, align 4, !tbaa !5
  %4651 = add nsw i32 %4650, 1
  store i32 %4651, ptr @test_count, align 4, !tbaa !5
  %4652 = getelementptr inbounds i8, ptr %4462, i64 3792
  %4653 = load i32, ptr %4652, align 8, !tbaa !70
  %4654 = icmp eq i32 %4653, 0
  br i1 %4654, label %4677, label %4655

4655:                                             ; preds = %4649
  %4656 = load i32, ptr %1317, align 4, !tbaa !5
  %4657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4658 = call i32 @s2n_print_stacktrace(ptr noundef %4657) #12
  %4659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4660 = trunc nuw i8 %4659 to i1
  br i1 %4660, label %4661, label %4665

4661:                                             ; preds = %4655
  %4662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4663 = call i32 @fileno(ptr noundef %4662) #12
  %4664 = call i32 @isatty(i32 noundef %4663) #12
  %.not1670 = icmp eq i32 %4664, 0
  br i1 %.not1670, label %4665, label %4666

4665:                                             ; preds = %4661, %4655
  br label %4666

4666:                                             ; preds = %4661, %4665
  %.str.26.sink3638 = phi ptr [ @.str.26, %4665 ], [ @.str.23, %4661 ]
  store i32 %4656, ptr %1317, align 4, !tbaa !5
  %4667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4668 = load i32, ptr @test_count, align 4, !tbaa !5
  %4669 = load i32, ptr %1263, align 4, !tbaa !5
  %4670 = call ptr @s2n_strerror(i32 noundef %4669, ptr noundef nonnull @.str.25) #12
  %4671 = load i32, ptr %1263, align 4, !tbaa !5
  %4672 = call ptr @s2n_strerror_debug(i32 noundef %4671, ptr noundef nonnull @.str.25) #12
  %4673 = load i32, ptr %1317, align 4, !tbaa !5
  %4674 = call ptr @strerror(i32 noundef %4673) #12
  %4675 = load i32, ptr %1317, align 4, !tbaa !5
  %4676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4667, ptr noundef nonnull %.str.26.sink3638, i32 noundef %4668, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.22, i32 noundef 596, ptr noundef %4670, ptr noundef %4672, ptr noundef %4674, i32 noundef %4675) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4677:                                             ; preds = %4649
  %4678 = add nsw i32 %4650, 2
  store i32 %4678, ptr @test_count, align 4, !tbaa !5
  %4679 = getelementptr inbounds i8, ptr %45, i64 28
  %4680 = load i32, ptr %4679, align 4, !tbaa !51
  %4681 = getelementptr inbounds i8, ptr %45, i64 24
  %4682 = load i32, ptr %4681, align 8, !tbaa !52
  %.not1671 = icmp eq i32 %4680, %4682
  br i1 %.not1671, label %4683, label %4705

4683:                                             ; preds = %4677
  %4684 = load i32, ptr %1317, align 4, !tbaa !5
  %4685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4686 = call i32 @s2n_print_stacktrace(ptr noundef %4685) #12
  %4687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4688 = trunc nuw i8 %4687 to i1
  br i1 %4688, label %4689, label %4693

4689:                                             ; preds = %4683
  %4690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4691 = call i32 @fileno(ptr noundef %4690) #12
  %4692 = call i32 @isatty(i32 noundef %4691) #12
  %.not1672 = icmp eq i32 %4692, 0
  br i1 %.not1672, label %4693, label %4694

4693:                                             ; preds = %4689, %4683
  br label %4694

4694:                                             ; preds = %4689, %4693
  %.str.26.sink3647 = phi ptr [ @.str.26, %4693 ], [ @.str.23, %4689 ]
  store i32 %4684, ptr %1317, align 4, !tbaa !5
  %4695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4696 = load i32, ptr @test_count, align 4, !tbaa !5
  %4697 = load i32, ptr %1263, align 4, !tbaa !5
  %4698 = call ptr @s2n_strerror(i32 noundef %4697, ptr noundef nonnull @.str.25) #12
  %4699 = load i32, ptr %1263, align 4, !tbaa !5
  %4700 = call ptr @s2n_strerror_debug(i32 noundef %4699, ptr noundef nonnull @.str.25) #12
  %4701 = load i32, ptr %1317, align 4, !tbaa !5
  %4702 = call ptr @strerror(i32 noundef %4701) #12
  %4703 = load i32, ptr %1317, align 4, !tbaa !5
  %4704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4695, ptr noundef nonnull %.str.26.sink3647, i32 noundef %4696, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.22, i32 noundef 597, ptr noundef %4698, ptr noundef %4700, ptr noundef %4702, i32 noundef %4703) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4705:                                             ; preds = %4677
  %4706 = add nsw i32 %4650, 3
  store i32 %4706, ptr @test_count, align 4, !tbaa !5
  %4707 = call i32 @s2n_connection_free(ptr noundef nonnull %4462) #12
  %4708 = icmp eq i32 %4707, -1
  br i1 %4708, label %4709, label %4731

4709:                                             ; preds = %4705
  %4710 = load i32, ptr %1317, align 4, !tbaa !5
  %4711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4712 = call i32 @s2n_print_stacktrace(ptr noundef %4711) #12
  %4713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4714 = trunc nuw i8 %4713 to i1
  br i1 %4714, label %4715, label %4719

4715:                                             ; preds = %4709
  %4716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4717 = call i32 @fileno(ptr noundef %4716) #12
  %4718 = call i32 @isatty(i32 noundef %4717) #12
  %.not2053 = icmp eq i32 %4718, 0
  br i1 %.not2053, label %4719, label %4720

4719:                                             ; preds = %4715, %4709
  br label %4720

4720:                                             ; preds = %4715, %4719
  %.str.26.sink3656 = phi ptr [ @.str.26, %4719 ], [ @.str.23, %4715 ]
  store i32 %4710, ptr %1317, align 4, !tbaa !5
  %4721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4722 = load i32, ptr @test_count, align 4, !tbaa !5
  %4723 = load i32, ptr %1263, align 4, !tbaa !5
  %4724 = call ptr @s2n_strerror(i32 noundef %4723, ptr noundef nonnull @.str.25) #12
  %4725 = load i32, ptr %1263, align 4, !tbaa !5
  %4726 = call ptr @s2n_strerror_debug(i32 noundef %4725, ptr noundef nonnull @.str.25) #12
  %4727 = load i32, ptr %1317, align 4, !tbaa !5
  %4728 = call ptr @strerror(i32 noundef %4727) #12
  %4729 = load i32, ptr %1317, align 4, !tbaa !5
  %4730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4721, ptr noundef nonnull %.str.26.sink3656, i32 noundef %4722, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 599, ptr noundef %4724, ptr noundef %4726, ptr noundef %4728, i32 noundef %4729) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4731:                                             ; preds = %4705
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #12
  %4732 = call i32 @s2n_stuffer_free(ptr noundef nonnull %45) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %45) #12
  %4733 = call ptr @s2n_config_new() #12
  %4734 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %4735 = load i32, ptr @test_count, align 4, !tbaa !5
  %4736 = add nsw i32 %4735, 1
  store i32 %4736, ptr @test_count, align 4, !tbaa !5
  %4737 = icmp eq ptr %4734, null
  br i1 %4737, label %4738, label %4760

4738:                                             ; preds = %4731
  %4739 = load i32, ptr %1317, align 4, !tbaa !5
  %4740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4741 = call i32 @s2n_print_stacktrace(ptr noundef %4740) #12
  %4742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4743 = trunc nuw i8 %4742 to i1
  br i1 %4743, label %4744, label %4748

4744:                                             ; preds = %4738
  %4745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4746 = call i32 @fileno(ptr noundef %4745) #12
  %4747 = call i32 @isatty(i32 noundef %4746) #12
  %.not2052 = icmp eq i32 %4747, 0
  br i1 %.not2052, label %4748, label %4749

4748:                                             ; preds = %4744, %4738
  br label %4749

4749:                                             ; preds = %4744, %4748
  %.str.26.sink3665 = phi ptr [ @.str.26, %4748 ], [ @.str.23, %4744 ]
  store i32 %4739, ptr %1317, align 4, !tbaa !5
  %4750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4751 = load i32, ptr @test_count, align 4, !tbaa !5
  %4752 = load i32, ptr %1263, align 4, !tbaa !5
  %4753 = call ptr @s2n_strerror(i32 noundef %4752, ptr noundef nonnull @.str.25) #12
  %4754 = load i32, ptr %1263, align 4, !tbaa !5
  %4755 = call ptr @s2n_strerror_debug(i32 noundef %4754, ptr noundef nonnull @.str.25) #12
  %4756 = load i32, ptr %1317, align 4, !tbaa !5
  %4757 = call ptr @strerror(i32 noundef %4756) #12
  %4758 = load i32, ptr %1317, align 4, !tbaa !5
  %4759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4750, ptr noundef nonnull %.str.26.sink3665, i32 noundef %4751, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 606, ptr noundef %4753, ptr noundef %4755, ptr noundef %4757, i32 noundef %4758) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4760:                                             ; preds = %4731
  %4761 = add nsw i32 %4735, 2
  store i32 %4761, ptr @test_count, align 4, !tbaa !5
  %4762 = icmp eq ptr %4733, null
  br i1 %4762, label %4763, label %4785

4763:                                             ; preds = %4760
  %4764 = load i32, ptr %1317, align 4, !tbaa !5
  %4765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4766 = call i32 @s2n_print_stacktrace(ptr noundef %4765) #12
  %4767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4768 = trunc nuw i8 %4767 to i1
  br i1 %4768, label %4769, label %4773

4769:                                             ; preds = %4763
  %4770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4771 = call i32 @fileno(ptr noundef %4770) #12
  %4772 = call i32 @isatty(i32 noundef %4771) #12
  %.not2051 = icmp eq i32 %4772, 0
  br i1 %.not2051, label %4773, label %4774

4773:                                             ; preds = %4769, %4763
  br label %4774

4774:                                             ; preds = %4769, %4773
  %.str.26.sink3674 = phi ptr [ @.str.26, %4773 ], [ @.str.23, %4769 ]
  store i32 %4764, ptr %1317, align 4, !tbaa !5
  %4775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4776 = load i32, ptr @test_count, align 4, !tbaa !5
  %4777 = load i32, ptr %1263, align 4, !tbaa !5
  %4778 = call ptr @s2n_strerror(i32 noundef %4777, ptr noundef nonnull @.str.25) #12
  %4779 = load i32, ptr %1263, align 4, !tbaa !5
  %4780 = call ptr @s2n_strerror_debug(i32 noundef %4779, ptr noundef nonnull @.str.25) #12
  %4781 = load i32, ptr %1317, align 4, !tbaa !5
  %4782 = call ptr @strerror(i32 noundef %4781) #12
  %4783 = load i32, ptr %1317, align 4, !tbaa !5
  %4784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4775, ptr noundef nonnull %.str.26.sink3674, i32 noundef %4776, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 607, ptr noundef %4778, ptr noundef %4780, ptr noundef %4782, i32 noundef %4783) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4785:                                             ; preds = %4760
  %4786 = add nsw i32 %4735, 3
  store i32 %4786, ptr @test_count, align 4, !tbaa !5
  %4787 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %4733, i8 noundef zeroext 1) #12
  %4788 = icmp eq i32 %4787, -1
  br i1 %4788, label %4789, label %4811

4789:                                             ; preds = %4785
  %4790 = load i32, ptr %1317, align 4, !tbaa !5
  %4791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4792 = call i32 @s2n_print_stacktrace(ptr noundef %4791) #12
  %4793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4794 = trunc nuw i8 %4793 to i1
  br i1 %4794, label %4795, label %4799

4795:                                             ; preds = %4789
  %4796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4797 = call i32 @fileno(ptr noundef %4796) #12
  %4798 = call i32 @isatty(i32 noundef %4797) #12
  %.not2050 = icmp eq i32 %4798, 0
  br i1 %.not2050, label %4799, label %4800

4799:                                             ; preds = %4795, %4789
  br label %4800

4800:                                             ; preds = %4795, %4799
  %.str.26.sink3683 = phi ptr [ @.str.26, %4799 ], [ @.str.23, %4795 ]
  store i32 %4790, ptr %1317, align 4, !tbaa !5
  %4801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4802 = load i32, ptr @test_count, align 4, !tbaa !5
  %4803 = load i32, ptr %1263, align 4, !tbaa !5
  %4804 = call ptr @s2n_strerror(i32 noundef %4803, ptr noundef nonnull @.str.25) #12
  %4805 = load i32, ptr %1263, align 4, !tbaa !5
  %4806 = call ptr @s2n_strerror_debug(i32 noundef %4805, ptr noundef nonnull @.str.25) #12
  %4807 = load i32, ptr %1317, align 4, !tbaa !5
  %4808 = call ptr @strerror(i32 noundef %4807) #12
  %4809 = load i32, ptr %1317, align 4, !tbaa !5
  %4810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4801, ptr noundef nonnull %.str.26.sink3683, i32 noundef %4802, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.22, i32 noundef 609, ptr noundef %4804, ptr noundef %4806, ptr noundef %4808, i32 noundef %4809) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4811:                                             ; preds = %4785
  %4812 = load i32, ptr @test_count, align 4, !tbaa !5
  %4813 = add nsw i32 %4812, 1
  store i32 %4813, ptr @test_count, align 4, !tbaa !5
  %4814 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef nonnull %4733, ptr noundef nonnull @s2n_test_session_ticket_cb, ptr noundef null) #12
  %4815 = icmp eq i32 %4814, -1
  br i1 %4815, label %4816, label %4838

4816:                                             ; preds = %4811
  %4817 = load i32, ptr %1317, align 4, !tbaa !5
  %4818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4819 = call i32 @s2n_print_stacktrace(ptr noundef %4818) #12
  %4820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4821 = trunc nuw i8 %4820 to i1
  br i1 %4821, label %4822, label %4826

4822:                                             ; preds = %4816
  %4823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4824 = call i32 @fileno(ptr noundef %4823) #12
  %4825 = call i32 @isatty(i32 noundef %4824) #12
  %.not2049 = icmp eq i32 %4825, 0
  br i1 %.not2049, label %4826, label %4827

4826:                                             ; preds = %4822, %4816
  br label %4827

4827:                                             ; preds = %4822, %4826
  %.str.26.sink3692 = phi ptr [ @.str.26, %4826 ], [ @.str.23, %4822 ]
  store i32 %4817, ptr %1317, align 4, !tbaa !5
  %4828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4829 = load i32, ptr @test_count, align 4, !tbaa !5
  %4830 = load i32, ptr %1263, align 4, !tbaa !5
  %4831 = call ptr @s2n_strerror(i32 noundef %4830, ptr noundef nonnull @.str.25) #12
  %4832 = load i32, ptr %1263, align 4, !tbaa !5
  %4833 = call ptr @s2n_strerror_debug(i32 noundef %4832, ptr noundef nonnull @.str.25) #12
  %4834 = load i32, ptr %1317, align 4, !tbaa !5
  %4835 = call ptr @strerror(i32 noundef %4834) #12
  %4836 = load i32, ptr %1317, align 4, !tbaa !5
  %4837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4828, ptr noundef nonnull %.str.26.sink3692, i32 noundef %4829, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.22, i32 noundef 610, ptr noundef %4831, ptr noundef %4833, ptr noundef %4835, i32 noundef %4836) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4838:                                             ; preds = %4811
  %4839 = load i32, ptr @test_count, align 4, !tbaa !5
  %4840 = add nsw i32 %4839, 1
  store i32 %4840, ptr @test_count, align 4, !tbaa !5
  %4841 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4734, ptr noundef nonnull %4733) #12
  %4842 = icmp eq i32 %4841, -1
  br i1 %4842, label %4843, label %4865

4843:                                             ; preds = %4838
  %4844 = load i32, ptr %1317, align 4, !tbaa !5
  %4845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4846 = call i32 @s2n_print_stacktrace(ptr noundef %4845) #12
  %4847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4848 = trunc nuw i8 %4847 to i1
  br i1 %4848, label %4849, label %4853

4849:                                             ; preds = %4843
  %4850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4851 = call i32 @fileno(ptr noundef %4850) #12
  %4852 = call i32 @isatty(i32 noundef %4851) #12
  %.not2048 = icmp eq i32 %4852, 0
  br i1 %.not2048, label %4853, label %4854

4853:                                             ; preds = %4849, %4843
  br label %4854

4854:                                             ; preds = %4849, %4853
  %.str.26.sink3701 = phi ptr [ @.str.26, %4853 ], [ @.str.23, %4849 ]
  store i32 %4844, ptr %1317, align 4, !tbaa !5
  %4855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4856 = load i32, ptr @test_count, align 4, !tbaa !5
  %4857 = load i32, ptr %1263, align 4, !tbaa !5
  %4858 = call ptr @s2n_strerror(i32 noundef %4857, ptr noundef nonnull @.str.25) #12
  %4859 = load i32, ptr %1263, align 4, !tbaa !5
  %4860 = call ptr @s2n_strerror_debug(i32 noundef %4859, ptr noundef nonnull @.str.25) #12
  %4861 = load i32, ptr %1317, align 4, !tbaa !5
  %4862 = call ptr @strerror(i32 noundef %4861) #12
  %4863 = load i32, ptr %1317, align 4, !tbaa !5
  %4864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4855, ptr noundef nonnull %.str.26.sink3701, i32 noundef %4856, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 611, ptr noundef %4858, ptr noundef %4860, ptr noundef %4862, i32 noundef %4863) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4865:                                             ; preds = %4838
  %4866 = getelementptr inbounds i8, ptr %4734, i64 220
  store i8 34, ptr %4866, align 4, !tbaa !17
  %4867 = getelementptr inbounds i8, ptr %4734, i64 232
  %4868 = load ptr, ptr %4867, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %4868, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %47) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %47, i8 0, i64 40, i1 false)
  %4869 = load i32, ptr @test_count, align 4, !tbaa !5
  %4870 = add nsw i32 %4869, 1
  store i32 %4870, ptr @test_count, align 4, !tbaa !5
  %4871 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %47, i32 noundef 0) #12
  %4872 = icmp eq i32 %4871, -1
  br i1 %4872, label %4873, label %4895

4873:                                             ; preds = %4865
  %4874 = load i32, ptr %1317, align 4, !tbaa !5
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = call i32 @s2n_print_stacktrace(ptr noundef %4875) #12
  %4877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4878 = trunc nuw i8 %4877 to i1
  br i1 %4878, label %4879, label %4883

4879:                                             ; preds = %4873
  %4880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4881 = call i32 @fileno(ptr noundef %4880) #12
  %4882 = call i32 @isatty(i32 noundef %4881) #12
  %.not2047 = icmp eq i32 %4882, 0
  br i1 %.not2047, label %4883, label %4884

4883:                                             ; preds = %4879, %4873
  br label %4884

4884:                                             ; preds = %4879, %4883
  %.str.26.sink3710 = phi ptr [ @.str.26, %4883 ], [ @.str.23, %4879 ]
  store i32 %4874, ptr %1317, align 4, !tbaa !5
  %4885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4886 = load i32, ptr @test_count, align 4, !tbaa !5
  %4887 = load i32, ptr %1263, align 4, !tbaa !5
  %4888 = call ptr @s2n_strerror(i32 noundef %4887, ptr noundef nonnull @.str.25) #12
  %4889 = load i32, ptr %1263, align 4, !tbaa !5
  %4890 = call ptr @s2n_strerror_debug(i32 noundef %4889, ptr noundef nonnull @.str.25) #12
  %4891 = load i32, ptr %1317, align 4, !tbaa !5
  %4892 = call ptr @strerror(i32 noundef %4891) #12
  %4893 = load i32, ptr %1317, align 4, !tbaa !5
  %4894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4885, ptr noundef nonnull %.str.26.sink3710, i32 noundef %4886, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.22, i32 noundef 618, ptr noundef %4888, ptr noundef %4890, ptr noundef %4892, i32 noundef %4893) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4895:                                             ; preds = %4865
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %48, i8 0, i64 24, i1 false)
  %4896 = load i32, ptr @test_count, align 4, !tbaa !5
  %4897 = add nsw i32 %4896, 1
  store i32 %4897, ptr @test_count, align 4, !tbaa !5
  %4898 = call i32 @s2n_blob_init(ptr noundef nonnull %48, ptr noundef nonnull %42, i32 noundef 18) #12
  %4899 = icmp eq i32 %4898, -1
  br i1 %4899, label %4900, label %4922

4900:                                             ; preds = %4895
  %4901 = load i32, ptr %1317, align 4, !tbaa !5
  %4902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4903 = call i32 @s2n_print_stacktrace(ptr noundef %4902) #12
  %4904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4905 = trunc nuw i8 %4904 to i1
  br i1 %4905, label %4906, label %4910

4906:                                             ; preds = %4900
  %4907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4908 = call i32 @fileno(ptr noundef %4907) #12
  %4909 = call i32 @isatty(i32 noundef %4908) #12
  %.not2046 = icmp eq i32 %4909, 0
  br i1 %.not2046, label %4910, label %4911

4910:                                             ; preds = %4906, %4900
  br label %4911

4911:                                             ; preds = %4906, %4910
  %.str.26.sink3719 = phi ptr [ @.str.26, %4910 ], [ @.str.23, %4906 ]
  store i32 %4901, ptr %1317, align 4, !tbaa !5
  %4912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4913 = load i32, ptr @test_count, align 4, !tbaa !5
  %4914 = load i32, ptr %1263, align 4, !tbaa !5
  %4915 = call ptr @s2n_strerror(i32 noundef %4914, ptr noundef nonnull @.str.25) #12
  %4916 = load i32, ptr %1263, align 4, !tbaa !5
  %4917 = call ptr @s2n_strerror_debug(i32 noundef %4916, ptr noundef nonnull @.str.25) #12
  %4918 = load i32, ptr %1317, align 4, !tbaa !5
  %4919 = call ptr @strerror(i32 noundef %4918) #12
  %4920 = load i32, ptr %1317, align 4, !tbaa !5
  %4921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4912, ptr noundef nonnull %.str.26.sink3719, i32 noundef %4913, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.22, i32 noundef 621, ptr noundef %4915, ptr noundef %4917, ptr noundef %4919, i32 noundef %4920) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4922:                                             ; preds = %4895
  %4923 = load i32, ptr @test_count, align 4, !tbaa !5
  %4924 = add nsw i32 %4923, 1
  store i32 %4924, ptr @test_count, align 4, !tbaa !5
  %4925 = call i32 @s2n_stuffer_write(ptr noundef nonnull %47, ptr noundef nonnull %48) #12
  %4926 = icmp eq i32 %4925, -1
  br i1 %4926, label %4927, label %4949

4927:                                             ; preds = %4922
  %4928 = load i32, ptr %1317, align 4, !tbaa !5
  %4929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4930 = call i32 @s2n_print_stacktrace(ptr noundef %4929) #12
  %4931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4932 = trunc nuw i8 %4931 to i1
  br i1 %4932, label %4933, label %4937

4933:                                             ; preds = %4927
  %4934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4935 = call i32 @fileno(ptr noundef %4934) #12
  %4936 = call i32 @isatty(i32 noundef %4935) #12
  %.not2045 = icmp eq i32 %4936, 0
  br i1 %.not2045, label %4937, label %4938

4937:                                             ; preds = %4933, %4927
  br label %4938

4938:                                             ; preds = %4933, %4937
  %.str.26.sink3728 = phi ptr [ @.str.26, %4937 ], [ @.str.23, %4933 ]
  store i32 %4928, ptr %1317, align 4, !tbaa !5
  %4939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4940 = load i32, ptr @test_count, align 4, !tbaa !5
  %4941 = load i32, ptr %1263, align 4, !tbaa !5
  %4942 = call ptr @s2n_strerror(i32 noundef %4941, ptr noundef nonnull @.str.25) #12
  %4943 = load i32, ptr %1263, align 4, !tbaa !5
  %4944 = call ptr @s2n_strerror_debug(i32 noundef %4943, ptr noundef nonnull @.str.25) #12
  %4945 = load i32, ptr %1317, align 4, !tbaa !5
  %4946 = call ptr @strerror(i32 noundef %4945) #12
  %4947 = load i32, ptr %1317, align 4, !tbaa !5
  %4948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4939, ptr noundef nonnull %.str.26.sink3728, i32 noundef %4940, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.22, i32 noundef 622, ptr noundef %4942, ptr noundef %4944, ptr noundef %4946, i32 noundef %4947) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4949:                                             ; preds = %4922
  %4950 = load i32, ptr @test_count, align 4, !tbaa !5
  %4951 = add nsw i32 %4950, 1
  store i32 %4951, ptr @test_count, align 4, !tbaa !5
  %4952 = call i32 @s2n_tls13_server_nst_recv(ptr noundef nonnull %4734, ptr noundef nonnull %47)
  %4953 = call zeroext i1 @s2n_result_is_ok(i32 %4952)
  br i1 %4953, label %4976, label %4954

4954:                                             ; preds = %4949
  %4955 = load i32, ptr %1317, align 4, !tbaa !5
  %4956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4957 = call i32 @s2n_print_stacktrace(ptr noundef %4956) #12
  %4958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4959 = trunc nuw i8 %4958 to i1
  br i1 %4959, label %4960, label %4964

4960:                                             ; preds = %4954
  %4961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4962 = call i32 @fileno(ptr noundef %4961) #12
  %4963 = call i32 @isatty(i32 noundef %4962) #12
  %.not1673 = icmp eq i32 %4963, 0
  br i1 %.not1673, label %4964, label %4965

4964:                                             ; preds = %4960, %4954
  br label %4965

4965:                                             ; preds = %4960, %4964
  %.str.26.sink3737 = phi ptr [ @.str.26, %4964 ], [ @.str.23, %4960 ]
  store i32 %4955, ptr %1317, align 4, !tbaa !5
  %4966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4967 = load i32, ptr @test_count, align 4, !tbaa !5
  %4968 = load i32, ptr %1263, align 4, !tbaa !5
  %4969 = call ptr @s2n_strerror(i32 noundef %4968, ptr noundef nonnull @.str.25) #12
  %4970 = load i32, ptr %1263, align 4, !tbaa !5
  %4971 = call ptr @s2n_strerror_debug(i32 noundef %4970, ptr noundef nonnull @.str.25) #12
  %4972 = load i32, ptr %1317, align 4, !tbaa !5
  %4973 = call ptr @strerror(i32 noundef %4972) #12
  %4974 = load i32, ptr %1317, align 4, !tbaa !5
  %4975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4966, ptr noundef nonnull %.str.26.sink3737, i32 noundef %4967, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.22, i32 noundef 624, ptr noundef %4969, ptr noundef %4971, ptr noundef %4973, i32 noundef %4974) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4976:                                             ; preds = %4949
  %4977 = load i32, ptr @test_count, align 4, !tbaa !5
  %4978 = add nsw i32 %4977, 1
  store i32 %4978, ptr @test_count, align 4, !tbaa !5
  %4979 = getelementptr inbounds i8, ptr %4734, i64 3784
  %4980 = load ptr, ptr %4979, align 8, !tbaa !71
  %bcmp1674 = call i32 @bcmp(ptr noundef nonnull dereferenceable(3) %4980, ptr noundef nonnull dereferenceable(3) @__const.main.test_ticket, i64 3)
  %4981 = icmp eq i32 %bcmp1674, 0
  br i1 %4981, label %5004, label %4982

4982:                                             ; preds = %4976
  %4983 = load i32, ptr %1317, align 4, !tbaa !5
  %4984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4985 = call i32 @s2n_print_stacktrace(ptr noundef %4984) #12
  %4986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4987 = trunc nuw i8 %4986 to i1
  br i1 %4987, label %4988, label %4992

4988:                                             ; preds = %4982
  %4989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4990 = call i32 @fileno(ptr noundef %4989) #12
  %4991 = call i32 @isatty(i32 noundef %4990) #12
  %.not1675 = icmp eq i32 %4991, 0
  br i1 %.not1675, label %4992, label %4993

4992:                                             ; preds = %4988, %4982
  br label %4993

4993:                                             ; preds = %4988, %4992
  %.str.26.sink3746 = phi ptr [ @.str.26, %4992 ], [ @.str.23, %4988 ]
  store i32 %4983, ptr %1317, align 4, !tbaa !5
  %4994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4995 = load i32, ptr @test_count, align 4, !tbaa !5
  %4996 = load i32, ptr %1263, align 4, !tbaa !5
  %4997 = call ptr @s2n_strerror(i32 noundef %4996, ptr noundef nonnull @.str.25) #12
  %4998 = load i32, ptr %1263, align 4, !tbaa !5
  %4999 = call ptr @s2n_strerror_debug(i32 noundef %4998, ptr noundef nonnull @.str.25) #12
  %5000 = load i32, ptr %1317, align 4, !tbaa !5
  %5001 = call ptr @strerror(i32 noundef %5000) #12
  %5002 = load i32, ptr %1317, align 4, !tbaa !5
  %5003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4994, ptr noundef nonnull %.str.26.sink3746, i32 noundef %4995, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.22, i32 noundef 625, ptr noundef %4997, ptr noundef %4999, ptr noundef %5001, i32 noundef %5002) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5004:                                             ; preds = %4976
  %5005 = add nsw i32 %4977, 2
  store i32 %5005, ptr @test_count, align 4, !tbaa !5
  %5006 = getelementptr inbounds i8, ptr %47, i64 28
  %5007 = load i32, ptr %5006, align 4, !tbaa !51
  %5008 = getelementptr inbounds i8, ptr %47, i64 24
  %5009 = load i32, ptr %5008, align 8, !tbaa !52
  %5010 = icmp eq i32 %5007, %5009
  br i1 %5010, label %5033, label %5011

5011:                                             ; preds = %5004
  %5012 = load i32, ptr %1317, align 4, !tbaa !5
  %5013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5014 = call i32 @s2n_print_stacktrace(ptr noundef %5013) #12
  %5015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5016 = trunc nuw i8 %5015 to i1
  br i1 %5016, label %5017, label %5021

5017:                                             ; preds = %5011
  %5018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5019 = call i32 @fileno(ptr noundef %5018) #12
  %5020 = call i32 @isatty(i32 noundef %5019) #12
  %.not1676 = icmp eq i32 %5020, 0
  br i1 %.not1676, label %5021, label %5022

5021:                                             ; preds = %5017, %5011
  br label %5022

5022:                                             ; preds = %5017, %5021
  %.str.26.sink3755 = phi ptr [ @.str.26, %5021 ], [ @.str.23, %5017 ]
  store i32 %5012, ptr %1317, align 4, !tbaa !5
  %5023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5024 = load i32, ptr @test_count, align 4, !tbaa !5
  %5025 = load i32, ptr %1263, align 4, !tbaa !5
  %5026 = call ptr @s2n_strerror(i32 noundef %5025, ptr noundef nonnull @.str.25) #12
  %5027 = load i32, ptr %1263, align 4, !tbaa !5
  %5028 = call ptr @s2n_strerror_debug(i32 noundef %5027, ptr noundef nonnull @.str.25) #12
  %5029 = load i32, ptr %1317, align 4, !tbaa !5
  %5030 = call ptr @strerror(i32 noundef %5029) #12
  %5031 = load i32, ptr %1317, align 4, !tbaa !5
  %5032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5023, ptr noundef nonnull %.str.26.sink3755, i32 noundef %5024, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.22, i32 noundef 626, ptr noundef %5026, ptr noundef %5028, ptr noundef %5030, i32 noundef %5031) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5033:                                             ; preds = %5004
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %49, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %50) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %50, i8 0, i64 40, i1 false)
  %5034 = add nsw i32 %4977, 3
  store i32 %5034, ptr @test_count, align 4, !tbaa !5
  %5035 = load i64, ptr @cb_session_data_len, align 8, !tbaa !15
  %5036 = trunc i64 %5035 to i32
  %5037 = call i32 @s2n_blob_init(ptr noundef nonnull %49, ptr noundef nonnull @cb_session_data, i32 noundef %5036) #12
  %5038 = icmp eq i32 %5037, -1
  br i1 %5038, label %5039, label %5061

5039:                                             ; preds = %5033
  %5040 = load i32, ptr %1317, align 4, !tbaa !5
  %5041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5042 = call i32 @s2n_print_stacktrace(ptr noundef %5041) #12
  %5043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5044 = trunc nuw i8 %5043 to i1
  br i1 %5044, label %5045, label %5049

5045:                                             ; preds = %5039
  %5046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5047 = call i32 @fileno(ptr noundef %5046) #12
  %5048 = call i32 @isatty(i32 noundef %5047) #12
  %.not2044 = icmp eq i32 %5048, 0
  br i1 %.not2044, label %5049, label %5050

5049:                                             ; preds = %5045, %5039
  br label %5050

5050:                                             ; preds = %5045, %5049
  %.str.26.sink3764 = phi ptr [ @.str.26, %5049 ], [ @.str.23, %5045 ]
  store i32 %5040, ptr %1317, align 4, !tbaa !5
  %5051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5052 = load i32, ptr @test_count, align 4, !tbaa !5
  %5053 = load i32, ptr %1263, align 4, !tbaa !5
  %5054 = call ptr @s2n_strerror(i32 noundef %5053, ptr noundef nonnull @.str.25) #12
  %5055 = load i32, ptr %1263, align 4, !tbaa !5
  %5056 = call ptr @s2n_strerror_debug(i32 noundef %5055, ptr noundef nonnull @.str.25) #12
  %5057 = load i32, ptr %1317, align 4, !tbaa !5
  %5058 = call ptr @strerror(i32 noundef %5057) #12
  %5059 = load i32, ptr %1317, align 4, !tbaa !5
  %5060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5051, ptr noundef nonnull %.str.26.sink3764, i32 noundef %5052, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.22, i32 noundef 631, ptr noundef %5054, ptr noundef %5056, ptr noundef %5058, i32 noundef %5059) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5061:                                             ; preds = %5033
  %5062 = load i32, ptr @test_count, align 4, !tbaa !5
  %5063 = add nsw i32 %5062, 1
  store i32 %5063, ptr @test_count, align 4, !tbaa !5
  %5064 = call i32 @s2n_stuffer_init(ptr noundef nonnull %50, ptr noundef nonnull %49) #12
  %5065 = icmp eq i32 %5064, -1
  br i1 %5065, label %5066, label %5088

5066:                                             ; preds = %5061
  %5067 = load i32, ptr %1317, align 4, !tbaa !5
  %5068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5069 = call i32 @s2n_print_stacktrace(ptr noundef %5068) #12
  %5070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5071 = trunc nuw i8 %5070 to i1
  br i1 %5071, label %5072, label %5076

5072:                                             ; preds = %5066
  %5073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5074 = call i32 @fileno(ptr noundef %5073) #12
  %5075 = call i32 @isatty(i32 noundef %5074) #12
  %.not2043 = icmp eq i32 %5075, 0
  br i1 %.not2043, label %5076, label %5077

5076:                                             ; preds = %5072, %5066
  br label %5077

5077:                                             ; preds = %5072, %5076
  %.str.26.sink3773 = phi ptr [ @.str.26, %5076 ], [ @.str.23, %5072 ]
  store i32 %5067, ptr %1317, align 4, !tbaa !5
  %5078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5079 = load i32, ptr @test_count, align 4, !tbaa !5
  %5080 = load i32, ptr %1263, align 4, !tbaa !5
  %5081 = call ptr @s2n_strerror(i32 noundef %5080, ptr noundef nonnull @.str.25) #12
  %5082 = load i32, ptr %1263, align 4, !tbaa !5
  %5083 = call ptr @s2n_strerror_debug(i32 noundef %5082, ptr noundef nonnull @.str.25) #12
  %5084 = load i32, ptr %1317, align 4, !tbaa !5
  %5085 = call ptr @strerror(i32 noundef %5084) #12
  %5086 = load i32, ptr %1317, align 4, !tbaa !5
  %5087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5078, ptr noundef nonnull %.str.26.sink3773, i32 noundef %5079, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.22, i32 noundef 632, ptr noundef %5081, ptr noundef %5083, ptr noundef %5085, i32 noundef %5086) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5088:                                             ; preds = %5061
  %5089 = load i32, ptr @test_count, align 4, !tbaa !5
  %5090 = add nsw i32 %5089, 1
  store i32 %5090, ptr @test_count, align 4, !tbaa !5
  %5091 = load i64, ptr @cb_session_data_len, align 8, !tbaa !15
  %5092 = trunc i64 %5091 to i32
  %5093 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %50, i32 noundef %5092) #12
  %5094 = icmp eq i32 %5093, -1
  br i1 %5094, label %5095, label %5117

5095:                                             ; preds = %5088
  %5096 = load i32, ptr %1317, align 4, !tbaa !5
  %5097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5098 = call i32 @s2n_print_stacktrace(ptr noundef %5097) #12
  %5099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5100 = trunc nuw i8 %5099 to i1
  br i1 %5100, label %5101, label %5105

5101:                                             ; preds = %5095
  %5102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5103 = call i32 @fileno(ptr noundef %5102) #12
  %5104 = call i32 @isatty(i32 noundef %5103) #12
  %.not2042 = icmp eq i32 %5104, 0
  br i1 %.not2042, label %5105, label %5106

5105:                                             ; preds = %5101, %5095
  br label %5106

5106:                                             ; preds = %5101, %5105
  %.str.26.sink3782 = phi ptr [ @.str.26, %5105 ], [ @.str.23, %5101 ]
  store i32 %5096, ptr %1317, align 4, !tbaa !5
  %5107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5108 = load i32, ptr @test_count, align 4, !tbaa !5
  %5109 = load i32, ptr %1263, align 4, !tbaa !5
  %5110 = call ptr @s2n_strerror(i32 noundef %5109, ptr noundef nonnull @.str.25) #12
  %5111 = load i32, ptr %1263, align 4, !tbaa !5
  %5112 = call ptr @s2n_strerror_debug(i32 noundef %5111, ptr noundef nonnull @.str.25) #12
  %5113 = load i32, ptr %1317, align 4, !tbaa !5
  %5114 = call ptr @strerror(i32 noundef %5113) #12
  %5115 = load i32, ptr %1317, align 4, !tbaa !5
  %5116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5107, ptr noundef nonnull %.str.26.sink3782, i32 noundef %5108, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.22, i32 noundef 633, ptr noundef %5110, ptr noundef %5112, ptr noundef %5114, i32 noundef %5115) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5117:                                             ; preds = %5088
  %5118 = load i32, ptr @test_count, align 4, !tbaa !5
  %5119 = add nsw i32 %5118, 1
  store i32 %5119, ptr @test_count, align 4, !tbaa !5
  %5120 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %50, i32 noundef 1) #12
  %5121 = icmp eq i32 %5120, -1
  br i1 %5121, label %5122, label %5144

5122:                                             ; preds = %5117
  %5123 = load i32, ptr %1317, align 4, !tbaa !5
  %5124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5125 = call i32 @s2n_print_stacktrace(ptr noundef %5124) #12
  %5126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5127 = trunc nuw i8 %5126 to i1
  br i1 %5127, label %5128, label %5132

5128:                                             ; preds = %5122
  %5129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5130 = call i32 @fileno(ptr noundef %5129) #12
  %5131 = call i32 @isatty(i32 noundef %5130) #12
  %.not2041 = icmp eq i32 %5131, 0
  br i1 %.not2041, label %5132, label %5133

5132:                                             ; preds = %5128, %5122
  br label %5133

5133:                                             ; preds = %5128, %5132
  %.str.26.sink3791 = phi ptr [ @.str.26, %5132 ], [ @.str.23, %5128 ]
  store i32 %5123, ptr %1317, align 4, !tbaa !5
  %5134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5135 = load i32, ptr @test_count, align 4, !tbaa !5
  %5136 = load i32, ptr %1263, align 4, !tbaa !5
  %5137 = call ptr @s2n_strerror(i32 noundef %5136, ptr noundef nonnull @.str.25) #12
  %5138 = load i32, ptr %1263, align 4, !tbaa !5
  %5139 = call ptr @s2n_strerror_debug(i32 noundef %5138, ptr noundef nonnull @.str.25) #12
  %5140 = load i32, ptr %1317, align 4, !tbaa !5
  %5141 = call ptr @strerror(i32 noundef %5140) #12
  %5142 = load i32, ptr %1317, align 4, !tbaa !5
  %5143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5134, ptr noundef nonnull %.str.26.sink3791, i32 noundef %5135, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.22, i32 noundef 638, ptr noundef %5137, ptr noundef %5139, ptr noundef %5141, i32 noundef %5142) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5144:                                             ; preds = %5117
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %51) #12
  store i16 0, ptr %51, align 2, !tbaa !54
  %5145 = load i32, ptr @test_count, align 4, !tbaa !5
  %5146 = add nsw i32 %5145, 1
  store i32 %5146, ptr @test_count, align 4, !tbaa !5
  %5147 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %50, ptr noundef nonnull %51) #12
  %5148 = icmp eq i32 %5147, -1
  br i1 %5148, label %5149, label %5171

5149:                                             ; preds = %5144
  %5150 = load i32, ptr %1317, align 4, !tbaa !5
  %5151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5152 = call i32 @s2n_print_stacktrace(ptr noundef %5151) #12
  %5153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5154 = trunc nuw i8 %5153 to i1
  br i1 %5154, label %5155, label %5159

5155:                                             ; preds = %5149
  %5156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5157 = call i32 @fileno(ptr noundef %5156) #12
  %5158 = call i32 @isatty(i32 noundef %5157) #12
  %.not2040 = icmp eq i32 %5158, 0
  br i1 %.not2040, label %5159, label %5160

5159:                                             ; preds = %5155, %5149
  br label %5160

5160:                                             ; preds = %5155, %5159
  %.str.26.sink3800 = phi ptr [ @.str.26, %5159 ], [ @.str.23, %5155 ]
  store i32 %5150, ptr %1317, align 4, !tbaa !5
  %5161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5162 = load i32, ptr @test_count, align 4, !tbaa !5
  %5163 = load i32, ptr %1263, align 4, !tbaa !5
  %5164 = call ptr @s2n_strerror(i32 noundef %5163, ptr noundef nonnull @.str.25) #12
  %5165 = load i32, ptr %1263, align 4, !tbaa !5
  %5166 = call ptr @s2n_strerror_debug(i32 noundef %5165, ptr noundef nonnull @.str.25) #12
  %5167 = load i32, ptr %1317, align 4, !tbaa !5
  %5168 = call ptr @strerror(i32 noundef %5167) #12
  %5169 = load i32, ptr %1317, align 4, !tbaa !5
  %5170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5161, ptr noundef nonnull %.str.26.sink3800, i32 noundef %5162, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.22, i32 noundef 641, ptr noundef %5164, ptr noundef %5166, ptr noundef %5168, i32 noundef %5169) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5171:                                             ; preds = %5144
  %5172 = load i32, ptr @test_count, align 4, !tbaa !5
  %5173 = add nsw i32 %5172, 1
  store i32 %5173, ptr @test_count, align 4, !tbaa !5
  %5174 = load i16, ptr %51, align 2, !tbaa !54
  %5175 = icmp eq i16 %5174, 3
  br i1 %5175, label %5198, label %5176

5176:                                             ; preds = %5171
  %5177 = load i32, ptr %1317, align 4, !tbaa !5
  %5178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5179 = call i32 @s2n_print_stacktrace(ptr noundef %5178) #12
  %5180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5181 = trunc nuw i8 %5180 to i1
  br i1 %5181, label %5182, label %5186

5182:                                             ; preds = %5176
  %5183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5184 = call i32 @fileno(ptr noundef %5183) #12
  %5185 = call i32 @isatty(i32 noundef %5184) #12
  %.not1677 = icmp eq i32 %5185, 0
  br i1 %.not1677, label %5186, label %5187

5186:                                             ; preds = %5182, %5176
  br label %5187

5187:                                             ; preds = %5182, %5186
  %.str.26.sink3809 = phi ptr [ @.str.26, %5186 ], [ @.str.23, %5182 ]
  store i32 %5177, ptr %1317, align 4, !tbaa !5
  %5188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5189 = load i32, ptr @test_count, align 4, !tbaa !5
  %5190 = load i32, ptr %1263, align 4, !tbaa !5
  %5191 = call ptr @s2n_strerror(i32 noundef %5190, ptr noundef nonnull @.str.25) #12
  %5192 = load i32, ptr %1263, align 4, !tbaa !5
  %5193 = call ptr @s2n_strerror_debug(i32 noundef %5192, ptr noundef nonnull @.str.25) #12
  %5194 = load i32, ptr %1317, align 4, !tbaa !5
  %5195 = call ptr @strerror(i32 noundef %5194) #12
  %5196 = load i32, ptr %1317, align 4, !tbaa !5
  %5197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5188, ptr noundef nonnull %.str.26.sink3809, i32 noundef %5189, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.22, i32 noundef 642, ptr noundef %5191, ptr noundef %5193, ptr noundef %5195, i32 noundef %5196) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5198:                                             ; preds = %5171
  %5199 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %50, i32 noundef 3) #12
  %5200 = load i32, ptr @test_count, align 4, !tbaa !5
  %5201 = add nsw i32 %5200, 1
  store i32 %5201, ptr @test_count, align 4, !tbaa !5
  %5202 = icmp eq ptr %5199, null
  br i1 %5202, label %5203, label %5225

5203:                                             ; preds = %5198
  %5204 = load i32, ptr %1317, align 4, !tbaa !5
  %5205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5206 = call i32 @s2n_print_stacktrace(ptr noundef %5205) #12
  %5207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5208 = trunc nuw i8 %5207 to i1
  br i1 %5208, label %5209, label %5213

5209:                                             ; preds = %5203
  %5210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5211 = call i32 @fileno(ptr noundef %5210) #12
  %5212 = call i32 @isatty(i32 noundef %5211) #12
  %.not2039 = icmp eq i32 %5212, 0
  br i1 %.not2039, label %5213, label %5214

5213:                                             ; preds = %5209, %5203
  br label %5214

5214:                                             ; preds = %5209, %5213
  %.str.26.sink3818 = phi ptr [ @.str.26, %5213 ], [ @.str.23, %5209 ]
  store i32 %5204, ptr %1317, align 4, !tbaa !5
  %5215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5216 = load i32, ptr @test_count, align 4, !tbaa !5
  %5217 = load i32, ptr %1263, align 4, !tbaa !5
  %5218 = call ptr @s2n_strerror(i32 noundef %5217, ptr noundef nonnull @.str.25) #12
  %5219 = load i32, ptr %1263, align 4, !tbaa !5
  %5220 = call ptr @s2n_strerror_debug(i32 noundef %5219, ptr noundef nonnull @.str.25) #12
  %5221 = load i32, ptr %1317, align 4, !tbaa !5
  %5222 = call ptr @strerror(i32 noundef %5221) #12
  %5223 = load i32, ptr %1317, align 4, !tbaa !5
  %5224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5215, ptr noundef nonnull %.str.26.sink3818, i32 noundef %5216, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.22, i32 noundef 645, ptr noundef %5218, ptr noundef %5220, ptr noundef %5222, i32 noundef %5223) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5225:                                             ; preds = %5198
  %5226 = load i16, ptr %51, align 2, !tbaa !54
  %.not1678 = icmp eq i16 %5226, 0
  br i1 %.not1678, label %5253, label %5227

5227:                                             ; preds = %5225
  %5228 = add nsw i32 %5200, 2
  store i32 %5228, ptr @test_count, align 4, !tbaa !5
  %5229 = zext i16 %5226 to i64
  %bcmp1679 = call i32 @bcmp(ptr nonnull %5199, ptr nonnull @__const.main.test_ticket, i64 %5229)
  %5230 = icmp eq i32 %bcmp1679, 0
  br i1 %5230, label %5253, label %5231

5231:                                             ; preds = %5227
  %5232 = load i32, ptr %1317, align 4, !tbaa !5
  %5233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5234 = call i32 @s2n_print_stacktrace(ptr noundef %5233) #12
  %5235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5236 = trunc nuw i8 %5235 to i1
  br i1 %5236, label %5237, label %5241

5237:                                             ; preds = %5231
  %5238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5239 = call i32 @fileno(ptr noundef %5238) #12
  %5240 = call i32 @isatty(i32 noundef %5239) #12
  %.not1680 = icmp eq i32 %5240, 0
  br i1 %.not1680, label %5241, label %5242

5241:                                             ; preds = %5237, %5231
  br label %5242

5242:                                             ; preds = %5237, %5241
  %.str.26.sink3827 = phi ptr [ @.str.26, %5241 ], [ @.str.23, %5237 ]
  store i32 %5232, ptr %1317, align 4, !tbaa !5
  %5243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5244 = load i32, ptr @test_count, align 4, !tbaa !5
  %5245 = load i32, ptr %1263, align 4, !tbaa !5
  %5246 = call ptr @s2n_strerror(i32 noundef %5245, ptr noundef nonnull @.str.25) #12
  %5247 = load i32, ptr %1263, align 4, !tbaa !5
  %5248 = call ptr @s2n_strerror_debug(i32 noundef %5247, ptr noundef nonnull @.str.25) #12
  %5249 = load i32, ptr %1317, align 4, !tbaa !5
  %5250 = call ptr @strerror(i32 noundef %5249) #12
  %5251 = load i32, ptr %1317, align 4, !tbaa !5
  %5252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5243, ptr noundef nonnull %.str.26.sink3827, i32 noundef %5244, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.22, i32 noundef 646, ptr noundef %5246, ptr noundef %5248, ptr noundef %5250, i32 noundef %5251) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5253:                                             ; preds = %5227, %5225
  %5254 = phi i32 [ %5228, %5227 ], [ %5201, %5225 ]
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %51) #12
  %5255 = add nsw i32 %5254, 1
  store i32 %5255, ptr @test_count, align 4, !tbaa !5
  %5256 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %50, i32 noundef 12) #12
  %5257 = icmp eq i32 %5256, -1
  br i1 %5257, label %5258, label %5280

5258:                                             ; preds = %5253
  %5259 = load i32, ptr %1317, align 4, !tbaa !5
  %5260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5261 = call i32 @s2n_print_stacktrace(ptr noundef %5260) #12
  %5262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5263 = trunc nuw i8 %5262 to i1
  br i1 %5263, label %5264, label %5268

5264:                                             ; preds = %5258
  %5265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5266 = call i32 @fileno(ptr noundef %5265) #12
  %5267 = call i32 @isatty(i32 noundef %5266) #12
  %.not2038 = icmp eq i32 %5267, 0
  br i1 %.not2038, label %5268, label %5269

5268:                                             ; preds = %5264, %5258
  br label %5269

5269:                                             ; preds = %5264, %5268
  %.str.26.sink3836 = phi ptr [ @.str.26, %5268 ], [ @.str.23, %5264 ]
  store i32 %5259, ptr %1317, align 4, !tbaa !5
  %5270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5271 = load i32, ptr @test_count, align 4, !tbaa !5
  %5272 = load i32, ptr %1263, align 4, !tbaa !5
  %5273 = call ptr @s2n_strerror(i32 noundef %5272, ptr noundef nonnull @.str.25) #12
  %5274 = load i32, ptr %1263, align 4, !tbaa !5
  %5275 = call ptr @s2n_strerror_debug(i32 noundef %5274, ptr noundef nonnull @.str.25) #12
  %5276 = load i32, ptr %1317, align 4, !tbaa !5
  %5277 = call ptr @strerror(i32 noundef %5276) #12
  %5278 = load i32, ptr %1317, align 4, !tbaa !5
  %5279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5270, ptr noundef nonnull %.str.26.sink3836, i32 noundef %5271, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.22, i32 noundef 657, ptr noundef %5273, ptr noundef %5275, ptr noundef %5277, i32 noundef %5278) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5280:                                             ; preds = %5253
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #12
  store i32 0, ptr %52, align 4
  %5281 = load i32, ptr @test_count, align 4, !tbaa !5
  %5282 = add nsw i32 %5281, 1
  store i32 %5282, ptr @test_count, align 4, !tbaa !5
  %5283 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %50, ptr noundef nonnull %52, i32 noundef 4) #12
  %5284 = icmp eq i32 %5283, -1
  br i1 %5284, label %5285, label %5307

5285:                                             ; preds = %5280
  %5286 = load i32, ptr %1317, align 4, !tbaa !5
  %5287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5288 = call i32 @s2n_print_stacktrace(ptr noundef %5287) #12
  %5289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5290 = trunc nuw i8 %5289 to i1
  br i1 %5290, label %5291, label %5295

5291:                                             ; preds = %5285
  %5292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5293 = call i32 @fileno(ptr noundef %5292) #12
  %5294 = call i32 @isatty(i32 noundef %5293) #12
  %.not2037 = icmp eq i32 %5294, 0
  br i1 %.not2037, label %5295, label %5296

5295:                                             ; preds = %5291, %5285
  br label %5296

5296:                                             ; preds = %5291, %5295
  %.str.26.sink3845 = phi ptr [ @.str.26, %5295 ], [ @.str.23, %5291 ]
  store i32 %5286, ptr %1317, align 4, !tbaa !5
  %5297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5298 = load i32, ptr @test_count, align 4, !tbaa !5
  %5299 = load i32, ptr %1263, align 4, !tbaa !5
  %5300 = call ptr @s2n_strerror(i32 noundef %5299, ptr noundef nonnull @.str.25) #12
  %5301 = load i32, ptr %1263, align 4, !tbaa !5
  %5302 = call ptr @s2n_strerror_debug(i32 noundef %5301, ptr noundef nonnull @.str.25) #12
  %5303 = load i32, ptr %1317, align 4, !tbaa !5
  %5304 = call ptr @strerror(i32 noundef %5303) #12
  %5305 = load i32, ptr %1317, align 4, !tbaa !5
  %5306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5297, ptr noundef nonnull %.str.26.sink3845, i32 noundef %5298, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.22, i32 noundef 660, ptr noundef %5300, ptr noundef %5302, ptr noundef %5304, i32 noundef %5305) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5307:                                             ; preds = %5280
  %5308 = load i32, ptr @test_count, align 4, !tbaa !5
  %5309 = add nsw i32 %5308, 1
  store i32 %5309, ptr @test_count, align 4, !tbaa !5
  %bcmp1681 = call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %52, ptr noundef nonnull dereferenceable(4) @__const.main.test_ticket_age_add, i64 4)
  %5310 = icmp eq i32 %bcmp1681, 0
  br i1 %5310, label %5333, label %5311

5311:                                             ; preds = %5307
  %5312 = load i32, ptr %1317, align 4, !tbaa !5
  %5313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5314 = call i32 @s2n_print_stacktrace(ptr noundef %5313) #12
  %5315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5316 = trunc nuw i8 %5315 to i1
  br i1 %5316, label %5317, label %5321

5317:                                             ; preds = %5311
  %5318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5319 = call i32 @fileno(ptr noundef %5318) #12
  %5320 = call i32 @isatty(i32 noundef %5319) #12
  %.not1682 = icmp eq i32 %5320, 0
  br i1 %.not1682, label %5321, label %5322

5321:                                             ; preds = %5317, %5311
  br label %5322

5322:                                             ; preds = %5317, %5321
  %.str.26.sink3854 = phi ptr [ @.str.26, %5321 ], [ @.str.23, %5317 ]
  store i32 %5312, ptr %1317, align 4, !tbaa !5
  %5323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5324 = load i32, ptr @test_count, align 4, !tbaa !5
  %5325 = load i32, ptr %1263, align 4, !tbaa !5
  %5326 = call ptr @s2n_strerror(i32 noundef %5325, ptr noundef nonnull @.str.25) #12
  %5327 = load i32, ptr %1263, align 4, !tbaa !5
  %5328 = call ptr @s2n_strerror_debug(i32 noundef %5327, ptr noundef nonnull @.str.25) #12
  %5329 = load i32, ptr %1317, align 4, !tbaa !5
  %5330 = call ptr @strerror(i32 noundef %5329) #12
  %5331 = load i32, ptr %1317, align 4, !tbaa !5
  %5332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5323, ptr noundef nonnull %.str.26.sink3854, i32 noundef %5324, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.22, i32 noundef 661, ptr noundef %5326, ptr noundef %5328, ptr noundef %5330, i32 noundef %5331) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5333:                                             ; preds = %5307
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #12
  %.sroa.01044.0.copyload = load i8, ptr @__const.main.test_lifetime, align 1
  %.sroa.4.0.copyload = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_lifetime, i64 1), align 1
  %.sroa.5.0.copyload = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_lifetime, i64 2), align 1
  %.sroa.6.0.copyload = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_lifetime, i64 3), align 1
  %5334 = zext i8 %.sroa.6.0.copyload to i32
  %5335 = zext i8 %.sroa.5.0.copyload to i32
  %5336 = shl nuw nsw i32 %5335, 8
  %5337 = zext i8 %.sroa.4.0.copyload to i32
  %5338 = shl nuw nsw i32 %5337, 16
  %5339 = zext i8 %.sroa.01044.0.copyload to i32
  %5340 = shl nuw i32 %5339, 24
  %5341 = or disjoint i32 %5338, %5340
  %5342 = or disjoint i32 %5341, %5334
  %5343 = or disjoint i32 %5342, %5336
  %5344 = add nsw i32 %5308, 2
  store i32 %5344, ptr @test_count, align 4, !tbaa !5
  %5345 = load i32, ptr @cb_session_lifetime, align 4, !tbaa !5
  %5346 = icmp eq i32 %5343, %5345
  br i1 %5346, label %5369, label %5347

5347:                                             ; preds = %5333
  %5348 = load i32, ptr %1317, align 4, !tbaa !5
  %5349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5350 = call i32 @s2n_print_stacktrace(ptr noundef %5349) #12
  %5351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5352 = trunc nuw i8 %5351 to i1
  br i1 %5352, label %5353, label %5357

5353:                                             ; preds = %5347
  %5354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5355 = call i32 @fileno(ptr noundef %5354) #12
  %5356 = call i32 @isatty(i32 noundef %5355) #12
  %.not1683 = icmp eq i32 %5356, 0
  br i1 %.not1683, label %5357, label %5358

5357:                                             ; preds = %5353, %5347
  br label %5358

5358:                                             ; preds = %5353, %5357
  %.str.26.sink3863 = phi ptr [ @.str.26, %5357 ], [ @.str.23, %5353 ]
  store i32 %5348, ptr %1317, align 4, !tbaa !5
  %5359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5360 = load i32, ptr @test_count, align 4, !tbaa !5
  %5361 = load i32, ptr %1263, align 4, !tbaa !5
  %5362 = call ptr @s2n_strerror(i32 noundef %5361, ptr noundef nonnull @.str.25) #12
  %5363 = load i32, ptr %1263, align 4, !tbaa !5
  %5364 = call ptr @s2n_strerror_debug(i32 noundef %5363, ptr noundef nonnull @.str.25) #12
  %5365 = load i32, ptr %1317, align 4, !tbaa !5
  %5366 = call ptr @strerror(i32 noundef %5365) #12
  %5367 = load i32, ptr %1317, align 4, !tbaa !5
  %5368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5359, ptr noundef nonnull %.str.26.sink3863, i32 noundef %5360, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.22, i32 noundef 668, ptr noundef %5362, ptr noundef %5364, ptr noundef %5366, i32 noundef %5367) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5369:                                             ; preds = %5333
  %5370 = add nsw i32 %5308, 3
  store i32 %5370, ptr @test_count, align 4, !tbaa !5
  %5371 = call i32 @s2n_connection_free(ptr noundef nonnull %4734) #12
  %5372 = icmp eq i32 %5371, -1
  br i1 %5372, label %5373, label %5395

5373:                                             ; preds = %5369
  %5374 = load i32, ptr %1317, align 4, !tbaa !5
  %5375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5376 = call i32 @s2n_print_stacktrace(ptr noundef %5375) #12
  %5377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5378 = trunc nuw i8 %5377 to i1
  br i1 %5378, label %5379, label %5383

5379:                                             ; preds = %5373
  %5380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5381 = call i32 @fileno(ptr noundef %5380) #12
  %5382 = call i32 @isatty(i32 noundef %5381) #12
  %.not2036 = icmp eq i32 %5382, 0
  br i1 %.not2036, label %5383, label %5384

5383:                                             ; preds = %5379, %5373
  br label %5384

5384:                                             ; preds = %5379, %5383
  %.str.26.sink3872 = phi ptr [ @.str.26, %5383 ], [ @.str.23, %5379 ]
  store i32 %5374, ptr %1317, align 4, !tbaa !5
  %5385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5386 = load i32, ptr @test_count, align 4, !tbaa !5
  %5387 = load i32, ptr %1263, align 4, !tbaa !5
  %5388 = call ptr @s2n_strerror(i32 noundef %5387, ptr noundef nonnull @.str.25) #12
  %5389 = load i32, ptr %1263, align 4, !tbaa !5
  %5390 = call ptr @s2n_strerror_debug(i32 noundef %5389, ptr noundef nonnull @.str.25) #12
  %5391 = load i32, ptr %1317, align 4, !tbaa !5
  %5392 = call ptr @strerror(i32 noundef %5391) #12
  %5393 = load i32, ptr %1317, align 4, !tbaa !5
  %5394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5385, ptr noundef nonnull %.str.26.sink3872, i32 noundef %5386, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 670, ptr noundef %5388, ptr noundef %5390, ptr noundef %5392, i32 noundef %5393) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5395:                                             ; preds = %5369
  %5396 = load i32, ptr @test_count, align 4, !tbaa !5
  %5397 = add nsw i32 %5396, 1
  store i32 %5397, ptr @test_count, align 4, !tbaa !5
  %5398 = call i32 @s2n_stuffer_free(ptr noundef nonnull %47) #12
  %5399 = icmp eq i32 %5398, -1
  br i1 %5399, label %5400, label %5422

5400:                                             ; preds = %5395
  %5401 = load i32, ptr %1317, align 4, !tbaa !5
  %5402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5403 = call i32 @s2n_print_stacktrace(ptr noundef %5402) #12
  %5404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5405 = trunc nuw i8 %5404 to i1
  br i1 %5405, label %5406, label %5410

5406:                                             ; preds = %5400
  %5407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5408 = call i32 @fileno(ptr noundef %5407) #12
  %5409 = call i32 @isatty(i32 noundef %5408) #12
  %.not2035 = icmp eq i32 %5409, 0
  br i1 %.not2035, label %5410, label %5411

5410:                                             ; preds = %5406, %5400
  br label %5411

5411:                                             ; preds = %5406, %5410
  %.str.26.sink3881 = phi ptr [ @.str.26, %5410 ], [ @.str.23, %5406 ]
  store i32 %5401, ptr %1317, align 4, !tbaa !5
  %5412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5413 = load i32, ptr @test_count, align 4, !tbaa !5
  %5414 = load i32, ptr %1263, align 4, !tbaa !5
  %5415 = call ptr @s2n_strerror(i32 noundef %5414, ptr noundef nonnull @.str.25) #12
  %5416 = load i32, ptr %1263, align 4, !tbaa !5
  %5417 = call ptr @s2n_strerror_debug(i32 noundef %5416, ptr noundef nonnull @.str.25) #12
  %5418 = load i32, ptr %1317, align 4, !tbaa !5
  %5419 = call ptr @strerror(i32 noundef %5418) #12
  %5420 = load i32, ptr %1317, align 4, !tbaa !5
  %5421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5412, ptr noundef nonnull %.str.26.sink3881, i32 noundef %5413, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.22, i32 noundef 671, ptr noundef %5415, ptr noundef %5417, ptr noundef %5419, i32 noundef %5420) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5422:                                             ; preds = %5395
  %5423 = load i32, ptr @test_count, align 4, !tbaa !5
  %5424 = add nsw i32 %5423, 1
  store i32 %5424, ptr @test_count, align 4, !tbaa !5
  %5425 = call i32 @s2n_config_free(ptr noundef nonnull %4733) #12
  %5426 = icmp eq i32 %5425, -1
  br i1 %5426, label %5427, label %5449

5427:                                             ; preds = %5422
  %5428 = load i32, ptr %1317, align 4, !tbaa !5
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = call i32 @s2n_print_stacktrace(ptr noundef %5429) #12
  %5431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5432 = trunc nuw i8 %5431 to i1
  br i1 %5432, label %5433, label %5437

5433:                                             ; preds = %5427
  %5434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5435 = call i32 @fileno(ptr noundef %5434) #12
  %5436 = call i32 @isatty(i32 noundef %5435) #12
  %.not2034 = icmp eq i32 %5436, 0
  br i1 %.not2034, label %5437, label %5438

5437:                                             ; preds = %5433, %5427
  br label %5438

5438:                                             ; preds = %5433, %5437
  %.str.26.sink3890 = phi ptr [ @.str.26, %5437 ], [ @.str.23, %5433 ]
  store i32 %5428, ptr %1317, align 4, !tbaa !5
  %5439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5440 = load i32, ptr @test_count, align 4, !tbaa !5
  %5441 = load i32, ptr %1263, align 4, !tbaa !5
  %5442 = call ptr @s2n_strerror(i32 noundef %5441, ptr noundef nonnull @.str.25) #12
  %5443 = load i32, ptr %1263, align 4, !tbaa !5
  %5444 = call ptr @s2n_strerror_debug(i32 noundef %5443, ptr noundef nonnull @.str.25) #12
  %5445 = load i32, ptr %1317, align 4, !tbaa !5
  %5446 = call ptr @strerror(i32 noundef %5445) #12
  %5447 = load i32, ptr %1317, align 4, !tbaa !5
  %5448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5439, ptr noundef nonnull %.str.26.sink3890, i32 noundef %5440, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 672, ptr noundef %5442, ptr noundef %5444, ptr noundef %5446, i32 noundef %5447) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5449:                                             ; preds = %5422
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %47) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %53) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %53, i8 0, i64 24, i1 false)
  %5450 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %53, ptr noundef nonnull @.str.134) #12
  %5451 = call zeroext i1 @s2n_result_is_ok(i32 %5450)
  br i1 %5451, label %5452, label %.thread2163

5452:                                             ; preds = %5449
  %5453 = call ptr @s2n_config_new() #12
  %5454 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %5455 = load i32, ptr @test_count, align 4, !tbaa !5
  %5456 = add nsw i32 %5455, 1
  store i32 %5456, ptr @test_count, align 4, !tbaa !5
  %5457 = icmp eq ptr %5454, null
  br i1 %5457, label %5458, label %5480

5458:                                             ; preds = %5452
  %5459 = load i32, ptr %1317, align 4, !tbaa !5
  %5460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5461 = call i32 @s2n_print_stacktrace(ptr noundef %5460) #12
  %5462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5463 = trunc nuw i8 %5462 to i1
  br i1 %5463, label %5464, label %5468

5464:                                             ; preds = %5458
  %5465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5466 = call i32 @fileno(ptr noundef %5465) #12
  %5467 = call i32 @isatty(i32 noundef %5466) #12
  %.not2033 = icmp eq i32 %5467, 0
  br i1 %.not2033, label %5468, label %5469

5468:                                             ; preds = %5464, %5458
  br label %5469

5469:                                             ; preds = %5464, %5468
  %.str.26.sink3899 = phi ptr [ @.str.26, %5468 ], [ @.str.23, %5464 ]
  store i32 %5459, ptr %1317, align 4, !tbaa !5
  %5470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5471 = load i32, ptr @test_count, align 4, !tbaa !5
  %5472 = load i32, ptr %1263, align 4, !tbaa !5
  %5473 = call ptr @s2n_strerror(i32 noundef %5472, ptr noundef nonnull @.str.25) #12
  %5474 = load i32, ptr %1263, align 4, !tbaa !5
  %5475 = call ptr @s2n_strerror_debug(i32 noundef %5474, ptr noundef nonnull @.str.25) #12
  %5476 = load i32, ptr %1317, align 4, !tbaa !5
  %5477 = call ptr @strerror(i32 noundef %5476) #12
  %5478 = load i32, ptr %1317, align 4, !tbaa !5
  %5479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5470, ptr noundef nonnull %.str.26.sink3899, i32 noundef %5471, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 710, ptr noundef %5473, ptr noundef %5475, ptr noundef %5477, i32 noundef %5478) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5480:                                             ; preds = %5452
  %5481 = add nsw i32 %5455, 2
  store i32 %5481, ptr @test_count, align 4, !tbaa !5
  %5482 = icmp eq ptr %5453, null
  br i1 %5482, label %5483, label %5505

5483:                                             ; preds = %5480
  %5484 = load i32, ptr %1317, align 4, !tbaa !5
  %5485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5486 = call i32 @s2n_print_stacktrace(ptr noundef %5485) #12
  %5487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5488 = trunc nuw i8 %5487 to i1
  br i1 %5488, label %5489, label %5493

5489:                                             ; preds = %5483
  %5490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5491 = call i32 @fileno(ptr noundef %5490) #12
  %5492 = call i32 @isatty(i32 noundef %5491) #12
  %.not2032 = icmp eq i32 %5492, 0
  br i1 %.not2032, label %5493, label %5494

5493:                                             ; preds = %5489, %5483
  br label %5494

5494:                                             ; preds = %5489, %5493
  %.str.26.sink3908 = phi ptr [ @.str.26, %5493 ], [ @.str.23, %5489 ]
  store i32 %5484, ptr %1317, align 4, !tbaa !5
  %5495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5496 = load i32, ptr @test_count, align 4, !tbaa !5
  %5497 = load i32, ptr %1263, align 4, !tbaa !5
  %5498 = call ptr @s2n_strerror(i32 noundef %5497, ptr noundef nonnull @.str.25) #12
  %5499 = load i32, ptr %1263, align 4, !tbaa !5
  %5500 = call ptr @s2n_strerror_debug(i32 noundef %5499, ptr noundef nonnull @.str.25) #12
  %5501 = load i32, ptr %1317, align 4, !tbaa !5
  %5502 = call ptr @strerror(i32 noundef %5501) #12
  %5503 = load i32, ptr %1317, align 4, !tbaa !5
  %5504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5495, ptr noundef nonnull %.str.26.sink3908, i32 noundef %5496, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 711, ptr noundef %5498, ptr noundef %5500, ptr noundef %5502, i32 noundef %5503) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5505:                                             ; preds = %5480
  %5506 = add nsw i32 %5455, 3
  store i32 %5506, ptr @test_count, align 4, !tbaa !5
  %5507 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %5453, i8 noundef zeroext 1) #12
  %5508 = icmp eq i32 %5507, -1
  br i1 %5508, label %5509, label %5531

5509:                                             ; preds = %5505
  %5510 = load i32, ptr %1317, align 4, !tbaa !5
  %5511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5512 = call i32 @s2n_print_stacktrace(ptr noundef %5511) #12
  %5513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5514 = trunc nuw i8 %5513 to i1
  br i1 %5514, label %5515, label %5519

5515:                                             ; preds = %5509
  %5516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5517 = call i32 @fileno(ptr noundef %5516) #12
  %5518 = call i32 @isatty(i32 noundef %5517) #12
  %.not2031 = icmp eq i32 %5518, 0
  br i1 %.not2031, label %5519, label %5520

5519:                                             ; preds = %5515, %5509
  br label %5520

5520:                                             ; preds = %5515, %5519
  %.str.26.sink3917 = phi ptr [ @.str.26, %5519 ], [ @.str.23, %5515 ]
  store i32 %5510, ptr %1317, align 4, !tbaa !5
  %5521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5522 = load i32, ptr @test_count, align 4, !tbaa !5
  %5523 = load i32, ptr %1263, align 4, !tbaa !5
  %5524 = call ptr @s2n_strerror(i32 noundef %5523, ptr noundef nonnull @.str.25) #12
  %5525 = load i32, ptr %1263, align 4, !tbaa !5
  %5526 = call ptr @s2n_strerror_debug(i32 noundef %5525, ptr noundef nonnull @.str.25) #12
  %5527 = load i32, ptr %1317, align 4, !tbaa !5
  %5528 = call ptr @strerror(i32 noundef %5527) #12
  %5529 = load i32, ptr %1317, align 4, !tbaa !5
  %5530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5521, ptr noundef nonnull %.str.26.sink3917, i32 noundef %5522, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.22, i32 noundef 713, ptr noundef %5524, ptr noundef %5526, ptr noundef %5528, i32 noundef %5529) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5531:                                             ; preds = %5505
  %5532 = load i32, ptr @test_count, align 4, !tbaa !5
  %5533 = add nsw i32 %5532, 1
  store i32 %5533, ptr @test_count, align 4, !tbaa !5
  %5534 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef nonnull %5453, ptr noundef nonnull @s2n_test_session_ticket_cb, ptr noundef null) #12
  %5535 = icmp eq i32 %5534, -1
  br i1 %5535, label %5536, label %5558

5536:                                             ; preds = %5531
  %5537 = load i32, ptr %1317, align 4, !tbaa !5
  %5538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5539 = call i32 @s2n_print_stacktrace(ptr noundef %5538) #12
  %5540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5541 = trunc nuw i8 %5540 to i1
  br i1 %5541, label %5542, label %5546

5542:                                             ; preds = %5536
  %5543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5544 = call i32 @fileno(ptr noundef %5543) #12
  %5545 = call i32 @isatty(i32 noundef %5544) #12
  %.not2030 = icmp eq i32 %5545, 0
  br i1 %.not2030, label %5546, label %5547

5546:                                             ; preds = %5542, %5536
  br label %5547

5547:                                             ; preds = %5542, %5546
  %.str.26.sink3926 = phi ptr [ @.str.26, %5546 ], [ @.str.23, %5542 ]
  store i32 %5537, ptr %1317, align 4, !tbaa !5
  %5548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5549 = load i32, ptr @test_count, align 4, !tbaa !5
  %5550 = load i32, ptr %1263, align 4, !tbaa !5
  %5551 = call ptr @s2n_strerror(i32 noundef %5550, ptr noundef nonnull @.str.25) #12
  %5552 = load i32, ptr %1263, align 4, !tbaa !5
  %5553 = call ptr @s2n_strerror_debug(i32 noundef %5552, ptr noundef nonnull @.str.25) #12
  %5554 = load i32, ptr %1317, align 4, !tbaa !5
  %5555 = call ptr @strerror(i32 noundef %5554) #12
  %5556 = load i32, ptr %1317, align 4, !tbaa !5
  %5557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5548, ptr noundef nonnull %.str.26.sink3926, i32 noundef %5549, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.22, i32 noundef 714, ptr noundef %5551, ptr noundef %5553, ptr noundef %5555, i32 noundef %5556) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5558:                                             ; preds = %5531
  %5559 = load i32, ptr @test_count, align 4, !tbaa !5
  %5560 = add nsw i32 %5559, 1
  store i32 %5560, ptr @test_count, align 4, !tbaa !5
  %5561 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5454, ptr noundef nonnull %5453) #12
  %5562 = icmp eq i32 %5561, -1
  br i1 %5562, label %5563, label %5585

5563:                                             ; preds = %5558
  %5564 = load i32, ptr %1317, align 4, !tbaa !5
  %5565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5566 = call i32 @s2n_print_stacktrace(ptr noundef %5565) #12
  %5567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5568 = trunc nuw i8 %5567 to i1
  br i1 %5568, label %5569, label %5573

5569:                                             ; preds = %5563
  %5570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5571 = call i32 @fileno(ptr noundef %5570) #12
  %5572 = call i32 @isatty(i32 noundef %5571) #12
  %.not2029 = icmp eq i32 %5572, 0
  br i1 %.not2029, label %5573, label %5574

5573:                                             ; preds = %5569, %5563
  br label %5574

5574:                                             ; preds = %5569, %5573
  %.str.26.sink3935 = phi ptr [ @.str.26, %5573 ], [ @.str.23, %5569 ]
  store i32 %5564, ptr %1317, align 4, !tbaa !5
  %5575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5576 = load i32, ptr @test_count, align 4, !tbaa !5
  %5577 = load i32, ptr %1263, align 4, !tbaa !5
  %5578 = call ptr @s2n_strerror(i32 noundef %5577, ptr noundef nonnull @.str.25) #12
  %5579 = load i32, ptr %1263, align 4, !tbaa !5
  %5580 = call ptr @s2n_strerror_debug(i32 noundef %5579, ptr noundef nonnull @.str.25) #12
  %5581 = load i32, ptr %1317, align 4, !tbaa !5
  %5582 = call ptr @strerror(i32 noundef %5581) #12
  %5583 = load i32, ptr %1317, align 4, !tbaa !5
  %5584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5575, ptr noundef nonnull %.str.26.sink3935, i32 noundef %5576, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 715, ptr noundef %5578, ptr noundef %5580, ptr noundef %5582, i32 noundef %5583) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5585:                                             ; preds = %5558
  %5586 = getelementptr inbounds i8, ptr %5454, i64 220
  store i8 34, ptr %5586, align 4, !tbaa !17
  %5587 = getelementptr inbounds i8, ptr %5454, i64 232
  %5588 = load ptr, ptr %5587, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %5588, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %54) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %54, i8 0, i64 40, i1 false)
  %5589 = load i32, ptr @test_count, align 4, !tbaa !5
  %5590 = add nsw i32 %5589, 1
  store i32 %5590, ptr @test_count, align 4, !tbaa !5
  %5591 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %54, i32 noundef 0) #12
  %5592 = icmp eq i32 %5591, -1
  br i1 %5592, label %5593, label %5615

5593:                                             ; preds = %5585
  %5594 = load i32, ptr %1317, align 4, !tbaa !5
  %5595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5596 = call i32 @s2n_print_stacktrace(ptr noundef %5595) #12
  %5597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5598 = trunc nuw i8 %5597 to i1
  br i1 %5598, label %5599, label %5603

5599:                                             ; preds = %5593
  %5600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5601 = call i32 @fileno(ptr noundef %5600) #12
  %5602 = call i32 @isatty(i32 noundef %5601) #12
  %.not2028 = icmp eq i32 %5602, 0
  br i1 %.not2028, label %5603, label %5604

5603:                                             ; preds = %5599, %5593
  br label %5604

5604:                                             ; preds = %5599, %5603
  %.str.26.sink3944 = phi ptr [ @.str.26, %5603 ], [ @.str.23, %5599 ]
  store i32 %5594, ptr %1317, align 4, !tbaa !5
  %5605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5606 = load i32, ptr @test_count, align 4, !tbaa !5
  %5607 = load i32, ptr %1263, align 4, !tbaa !5
  %5608 = call ptr @s2n_strerror(i32 noundef %5607, ptr noundef nonnull @.str.25) #12
  %5609 = load i32, ptr %1263, align 4, !tbaa !5
  %5610 = call ptr @s2n_strerror_debug(i32 noundef %5609, ptr noundef nonnull @.str.25) #12
  %5611 = load i32, ptr %1317, align 4, !tbaa !5
  %5612 = call ptr @strerror(i32 noundef %5611) #12
  %5613 = load i32, ptr %1317, align 4, !tbaa !5
  %5614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5605, ptr noundef nonnull %.str.26.sink3944, i32 noundef %5606, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.22, i32 noundef 722, ptr noundef %5608, ptr noundef %5610, ptr noundef %5612, i32 noundef %5613) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5615:                                             ; preds = %5585
  %5616 = load i32, ptr @test_count, align 4, !tbaa !5
  %5617 = add nsw i32 %5616, 1
  store i32 %5617, ptr @test_count, align 4, !tbaa !5
  %5618 = call i32 @s2n_stuffer_write(ptr noundef nonnull %54, ptr noundef nonnull %53) #12
  %5619 = icmp eq i32 %5618, -1
  br i1 %5619, label %5620, label %5642

5620:                                             ; preds = %5615
  %5621 = load i32, ptr %1317, align 4, !tbaa !5
  %5622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5623 = call i32 @s2n_print_stacktrace(ptr noundef %5622) #12
  %5624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5625 = trunc nuw i8 %5624 to i1
  br i1 %5625, label %5626, label %5630

5626:                                             ; preds = %5620
  %5627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5628 = call i32 @fileno(ptr noundef %5627) #12
  %5629 = call i32 @isatty(i32 noundef %5628) #12
  %.not2027 = icmp eq i32 %5629, 0
  br i1 %.not2027, label %5630, label %5631

5630:                                             ; preds = %5626, %5620
  br label %5631

5631:                                             ; preds = %5626, %5630
  %.str.26.sink3953 = phi ptr [ @.str.26, %5630 ], [ @.str.23, %5626 ]
  store i32 %5621, ptr %1317, align 4, !tbaa !5
  %5632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5633 = load i32, ptr @test_count, align 4, !tbaa !5
  %5634 = load i32, ptr %1263, align 4, !tbaa !5
  %5635 = call ptr @s2n_strerror(i32 noundef %5634, ptr noundef nonnull @.str.25) #12
  %5636 = load i32, ptr %1263, align 4, !tbaa !5
  %5637 = call ptr @s2n_strerror_debug(i32 noundef %5636, ptr noundef nonnull @.str.25) #12
  %5638 = load i32, ptr %1317, align 4, !tbaa !5
  %5639 = call ptr @strerror(i32 noundef %5638) #12
  %5640 = load i32, ptr %1317, align 4, !tbaa !5
  %5641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5632, ptr noundef nonnull %.str.26.sink3953, i32 noundef %5633, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.22, i32 noundef 724, ptr noundef %5635, ptr noundef %5637, ptr noundef %5639, i32 noundef %5640) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5642:                                             ; preds = %5615
  %5643 = load i32, ptr @test_count, align 4, !tbaa !5
  %5644 = add nsw i32 %5643, 1
  store i32 %5644, ptr @test_count, align 4, !tbaa !5
  %5645 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %54, i32 noundef 4) #12
  %5646 = icmp eq i32 %5645, -1
  br i1 %5646, label %5647, label %5669

5647:                                             ; preds = %5642
  %5648 = load i32, ptr %1317, align 4, !tbaa !5
  %5649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5650 = call i32 @s2n_print_stacktrace(ptr noundef %5649) #12
  %5651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5652 = trunc nuw i8 %5651 to i1
  br i1 %5652, label %5653, label %5657

5653:                                             ; preds = %5647
  %5654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5655 = call i32 @fileno(ptr noundef %5654) #12
  %5656 = call i32 @isatty(i32 noundef %5655) #12
  %.not2026 = icmp eq i32 %5656, 0
  br i1 %.not2026, label %5657, label %5658

5657:                                             ; preds = %5653, %5647
  br label %5658

5658:                                             ; preds = %5653, %5657
  %.str.26.sink3962 = phi ptr [ @.str.26, %5657 ], [ @.str.23, %5653 ]
  store i32 %5648, ptr %1317, align 4, !tbaa !5
  %5659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5660 = load i32, ptr @test_count, align 4, !tbaa !5
  %5661 = load i32, ptr %1263, align 4, !tbaa !5
  %5662 = call ptr @s2n_strerror(i32 noundef %5661, ptr noundef nonnull @.str.25) #12
  %5663 = load i32, ptr %1263, align 4, !tbaa !5
  %5664 = call ptr @s2n_strerror_debug(i32 noundef %5663, ptr noundef nonnull @.str.25) #12
  %5665 = load i32, ptr %1317, align 4, !tbaa !5
  %5666 = call ptr @strerror(i32 noundef %5665) #12
  %5667 = load i32, ptr %1317, align 4, !tbaa !5
  %5668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5659, ptr noundef nonnull %.str.26.sink3962, i32 noundef %5660, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.22, i32 noundef 725, ptr noundef %5662, ptr noundef %5664, ptr noundef %5666, i32 noundef %5667) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5669:                                             ; preds = %5642
  %5670 = load i32, ptr @test_count, align 4, !tbaa !5
  %5671 = add nsw i32 %5670, 1
  store i32 %5671, ptr @test_count, align 4, !tbaa !5
  %5672 = call i32 @s2n_tls13_server_nst_recv(ptr noundef nonnull %5454, ptr noundef nonnull %54)
  %5673 = call zeroext i1 @s2n_result_is_ok(i32 %5672)
  br i1 %5673, label %5696, label %5674

5674:                                             ; preds = %5669
  %5675 = load i32, ptr %1317, align 4, !tbaa !5
  %5676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5677 = call i32 @s2n_print_stacktrace(ptr noundef %5676) #12
  %5678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5679 = trunc nuw i8 %5678 to i1
  br i1 %5679, label %5680, label %5684

5680:                                             ; preds = %5674
  %5681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5682 = call i32 @fileno(ptr noundef %5681) #12
  %5683 = call i32 @isatty(i32 noundef %5682) #12
  %.not1684 = icmp eq i32 %5683, 0
  br i1 %.not1684, label %5684, label %5685

5684:                                             ; preds = %5680, %5674
  br label %5685

5685:                                             ; preds = %5680, %5684
  %.str.26.sink3971 = phi ptr [ @.str.26, %5684 ], [ @.str.23, %5680 ]
  store i32 %5675, ptr %1317, align 4, !tbaa !5
  %5686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5687 = load i32, ptr @test_count, align 4, !tbaa !5
  %5688 = load i32, ptr %1263, align 4, !tbaa !5
  %5689 = call ptr @s2n_strerror(i32 noundef %5688, ptr noundef nonnull @.str.25) #12
  %5690 = load i32, ptr %1263, align 4, !tbaa !5
  %5691 = call ptr @s2n_strerror_debug(i32 noundef %5690, ptr noundef nonnull @.str.25) #12
  %5692 = load i32, ptr %1317, align 4, !tbaa !5
  %5693 = call ptr @strerror(i32 noundef %5692) #12
  %5694 = load i32, ptr %1317, align 4, !tbaa !5
  %5695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5686, ptr noundef nonnull %.str.26.sink3971, i32 noundef %5687, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.22, i32 noundef 726, ptr noundef %5689, ptr noundef %5691, ptr noundef %5693, i32 noundef %5694) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5696:                                             ; preds = %5669
  %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 = call i32 @s2n_connection_free(ptr noundef nonnull %5454) #12
  %5700 = icmp eq i32 %5699, -1
  br i1 %5700, label %5701, label %5723

5701:                                             ; preds = %5696
  %5702 = load i32, ptr %1317, align 4, !tbaa !5
  %5703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5704 = call i32 @s2n_print_stacktrace(ptr noundef %5703) #12
  %5705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5706 = trunc nuw i8 %5705 to i1
  br i1 %5706, label %5707, label %5711

5707:                                             ; preds = %5701
  %5708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5709 = call i32 @fileno(ptr noundef %5708) #12
  %5710 = call i32 @isatty(i32 noundef %5709) #12
  %.not2025 = icmp eq i32 %5710, 0
  br i1 %.not2025, label %5711, label %5712

5711:                                             ; preds = %5707, %5701
  br label %5712

5712:                                             ; preds = %5707, %5711
  %.str.26.sink3980 = phi ptr [ @.str.26, %5711 ], [ @.str.23, %5707 ]
  store i32 %5702, ptr %1317, align 4, !tbaa !5
  %5713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5714 = load i32, ptr @test_count, align 4, !tbaa !5
  %5715 = load i32, ptr %1263, align 4, !tbaa !5
  %5716 = call ptr @s2n_strerror(i32 noundef %5715, ptr noundef nonnull @.str.25) #12
  %5717 = load i32, ptr %1263, align 4, !tbaa !5
  %5718 = call ptr @s2n_strerror_debug(i32 noundef %5717, ptr noundef nonnull @.str.25) #12
  %5719 = load i32, ptr %1317, align 4, !tbaa !5
  %5720 = call ptr @strerror(i32 noundef %5719) #12
  %5721 = load i32, ptr %1317, align 4, !tbaa !5
  %5722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5713, ptr noundef nonnull %.str.26.sink3980, i32 noundef %5714, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 728, ptr noundef %5716, ptr noundef %5718, ptr noundef %5720, i32 noundef %5721) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5723:                                             ; preds = %5696
  %5724 = load i32, ptr @test_count, align 4, !tbaa !5
  %5725 = add nsw i32 %5724, 1
  store i32 %5725, ptr @test_count, align 4, !tbaa !5
  %5726 = call i32 @s2n_stuffer_free(ptr noundef nonnull %54) #12
  %5727 = icmp eq i32 %5726, -1
  br i1 %5727, label %5728, label %5750

5728:                                             ; preds = %5723
  %5729 = load i32, ptr %1317, align 4, !tbaa !5
  %5730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5731 = call i32 @s2n_print_stacktrace(ptr noundef %5730) #12
  %5732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5733 = trunc nuw i8 %5732 to i1
  br i1 %5733, label %5734, label %5738

5734:                                             ; preds = %5728
  %5735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5736 = call i32 @fileno(ptr noundef %5735) #12
  %5737 = call i32 @isatty(i32 noundef %5736) #12
  %.not2024 = icmp eq i32 %5737, 0
  br i1 %.not2024, label %5738, label %5739

5738:                                             ; preds = %5734, %5728
  br label %5739

5739:                                             ; preds = %5734, %5738
  %.str.26.sink3989 = phi ptr [ @.str.26, %5738 ], [ @.str.23, %5734 ]
  store i32 %5729, ptr %1317, align 4, !tbaa !5
  %5740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5741 = load i32, ptr @test_count, align 4, !tbaa !5
  %5742 = load i32, ptr %1263, align 4, !tbaa !5
  %5743 = call ptr @s2n_strerror(i32 noundef %5742, ptr noundef nonnull @.str.25) #12
  %5744 = load i32, ptr %1263, align 4, !tbaa !5
  %5745 = call ptr @s2n_strerror_debug(i32 noundef %5744, ptr noundef nonnull @.str.25) #12
  %5746 = load i32, ptr %1317, align 4, !tbaa !5
  %5747 = call ptr @strerror(i32 noundef %5746) #12
  %5748 = load i32, ptr %1317, align 4, !tbaa !5
  %5749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5740, ptr noundef nonnull %.str.26.sink3989, i32 noundef %5741, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.22, i32 noundef 729, ptr noundef %5743, ptr noundef %5745, ptr noundef %5747, i32 noundef %5748) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5750:                                             ; preds = %5723
  %5751 = load i32, ptr @test_count, align 4, !tbaa !5
  %5752 = add nsw i32 %5751, 1
  store i32 %5752, ptr @test_count, align 4, !tbaa !5
  %5753 = call i32 @s2n_config_free(ptr noundef nonnull %5453) #12
  %5754 = icmp eq i32 %5753, -1
  br i1 %5754, label %5755, label %5778

5755:                                             ; preds = %5750
  %5756 = load i32, ptr %1317, align 4, !tbaa !5
  %5757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5758 = call i32 @s2n_print_stacktrace(ptr noundef %5757) #12
  %5759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5760 = trunc nuw i8 %5759 to i1
  br i1 %5760, label %5761, label %5765

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

5765:                                             ; preds = %5761, %5755
  br label %5766

5766:                                             ; preds = %5761, %5765
  %.str.26.sink3998 = phi ptr [ @.str.26, %5765 ], [ @.str.23, %5761 ]
  store i32 %5756, ptr %1317, align 4, !tbaa !5
  %5767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5768 = load i32, ptr @test_count, align 4, !tbaa !5
  %5769 = load i32, ptr %1263, align 4, !tbaa !5
  %5770 = call ptr @s2n_strerror(i32 noundef %5769, ptr noundef nonnull @.str.25) #12
  %5771 = load i32, ptr %1263, align 4, !tbaa !5
  %5772 = call ptr @s2n_strerror_debug(i32 noundef %5771, ptr noundef nonnull @.str.25) #12
  %5773 = load i32, ptr %1317, align 4, !tbaa !5
  %5774 = call ptr @strerror(i32 noundef %5773) #12
  %5775 = load i32, ptr %1317, align 4, !tbaa !5
  %5776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5767, ptr noundef nonnull %.str.26.sink3998, i32 noundef %5768, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 730, ptr noundef %5770, ptr noundef %5772, ptr noundef %5774, i32 noundef %5775) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.thread2163:                                      ; preds = %5449
  %5777 = call i32 @s2n_free(ptr noundef nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 18, ptr nonnull %42) #12
  br label %14994

5778:                                             ; preds = %5750
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %54) #12
  %5779 = call i32 @s2n_free(ptr noundef nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #12
  %5780 = call ptr @s2n_config_new() #12
  %5781 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %5782 = load i32, ptr @test_count, align 4, !tbaa !5
  %5783 = add nsw i32 %5782, 1
  store i32 %5783, ptr @test_count, align 4, !tbaa !5
  %5784 = icmp eq ptr %5781, null
  br i1 %5784, label %5785, label %5807

5785:                                             ; preds = %5778
  %5786 = load i32, ptr %1317, align 4, !tbaa !5
  %5787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5788 = call i32 @s2n_print_stacktrace(ptr noundef %5787) #12
  %5789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5790 = trunc nuw i8 %5789 to i1
  br i1 %5790, label %5791, label %5795

5791:                                             ; preds = %5785
  %5792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5793 = call i32 @fileno(ptr noundef %5792) #12
  %5794 = call i32 @isatty(i32 noundef %5793) #12
  %.not2022 = icmp eq i32 %5794, 0
  br i1 %.not2022, label %5795, label %5796

5795:                                             ; preds = %5791, %5785
  br label %5796

5796:                                             ; preds = %5791, %5795
  %.str.26.sink4007 = phi ptr [ @.str.26, %5795 ], [ @.str.23, %5791 ]
  store i32 %5786, ptr %1317, align 4, !tbaa !5
  %5797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5798 = load i32, ptr @test_count, align 4, !tbaa !5
  %5799 = load i32, ptr %1263, align 4, !tbaa !5
  %5800 = call ptr @s2n_strerror(i32 noundef %5799, ptr noundef nonnull @.str.25) #12
  %5801 = load i32, ptr %1263, align 4, !tbaa !5
  %5802 = call ptr @s2n_strerror_debug(i32 noundef %5801, ptr noundef nonnull @.str.25) #12
  %5803 = load i32, ptr %1317, align 4, !tbaa !5
  %5804 = call ptr @strerror(i32 noundef %5803) #12
  %5805 = load i32, ptr %1317, align 4, !tbaa !5
  %5806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5797, ptr noundef nonnull %.str.26.sink4007, i32 noundef %5798, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.22, i32 noundef 737, ptr noundef %5800, ptr noundef %5802, ptr noundef %5804, i32 noundef %5805) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5807:                                             ; preds = %5778
  %5808 = add nsw i32 %5782, 2
  store i32 %5808, ptr @test_count, align 4, !tbaa !5
  %5809 = icmp eq ptr %5780, null
  br i1 %5809, label %5810, label %5832

5810:                                             ; preds = %5807
  %5811 = load i32, ptr %1317, align 4, !tbaa !5
  %5812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5813 = call i32 @s2n_print_stacktrace(ptr noundef %5812) #12
  %5814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5815 = trunc nuw i8 %5814 to i1
  br i1 %5815, label %5816, label %5820

5816:                                             ; preds = %5810
  %5817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5818 = call i32 @fileno(ptr noundef %5817) #12
  %5819 = call i32 @isatty(i32 noundef %5818) #12
  %.not2021 = icmp eq i32 %5819, 0
  br i1 %.not2021, label %5820, label %5821

5820:                                             ; preds = %5816, %5810
  br label %5821

5821:                                             ; preds = %5816, %5820
  %.str.26.sink4016 = phi ptr [ @.str.26, %5820 ], [ @.str.23, %5816 ]
  store i32 %5811, ptr %1317, align 4, !tbaa !5
  %5822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5823 = load i32, ptr @test_count, align 4, !tbaa !5
  %5824 = load i32, ptr %1263, align 4, !tbaa !5
  %5825 = call ptr @s2n_strerror(i32 noundef %5824, ptr noundef nonnull @.str.25) #12
  %5826 = load i32, ptr %1263, align 4, !tbaa !5
  %5827 = call ptr @s2n_strerror_debug(i32 noundef %5826, ptr noundef nonnull @.str.25) #12
  %5828 = load i32, ptr %1317, align 4, !tbaa !5
  %5829 = call ptr @strerror(i32 noundef %5828) #12
  %5830 = load i32, ptr %1317, align 4, !tbaa !5
  %5831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5822, ptr noundef nonnull %.str.26.sink4016, i32 noundef %5823, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 738, ptr noundef %5825, ptr noundef %5827, ptr noundef %5829, i32 noundef %5830) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5832:                                             ; preds = %5807
  %5833 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %5834 = load i32, ptr @test_count, align 4, !tbaa !5
  %5835 = add nsw i32 %5834, 1
  store i32 %5835, ptr @test_count, align 4, !tbaa !5
  %5836 = icmp eq ptr %5833, null
  br i1 %5836, label %5837, label %5859

5837:                                             ; preds = %5832
  %5838 = load i32, ptr %1317, align 4, !tbaa !5
  %5839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5840 = call i32 @s2n_print_stacktrace(ptr noundef %5839) #12
  %5841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5842 = trunc nuw i8 %5841 to i1
  br i1 %5842, label %5843, label %5847

5843:                                             ; preds = %5837
  %5844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5845 = call i32 @fileno(ptr noundef %5844) #12
  %5846 = call i32 @isatty(i32 noundef %5845) #12
  %.not2020 = icmp eq i32 %5846, 0
  br i1 %.not2020, label %5847, label %5848

5847:                                             ; preds = %5843, %5837
  br label %5848

5848:                                             ; preds = %5843, %5847
  %.str.26.sink4025 = phi ptr [ @.str.26, %5847 ], [ @.str.23, %5843 ]
  store i32 %5838, ptr %1317, align 4, !tbaa !5
  %5849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5850 = load i32, ptr @test_count, align 4, !tbaa !5
  %5851 = load i32, ptr %1263, align 4, !tbaa !5
  %5852 = call ptr @s2n_strerror(i32 noundef %5851, ptr noundef nonnull @.str.25) #12
  %5853 = load i32, ptr %1263, align 4, !tbaa !5
  %5854 = call ptr @s2n_strerror_debug(i32 noundef %5853, ptr noundef nonnull @.str.25) #12
  %5855 = load i32, ptr %1317, align 4, !tbaa !5
  %5856 = call ptr @strerror(i32 noundef %5855) #12
  %5857 = load i32, ptr %1317, align 4, !tbaa !5
  %5858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5849, ptr noundef nonnull %.str.26.sink4025, i32 noundef %5850, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.22, i32 noundef 741, ptr noundef %5852, ptr noundef %5854, ptr noundef %5856, i32 noundef %5857) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5859:                                             ; preds = %5832
  %5860 = add nsw i32 %5834, 2
  store i32 %5860, ptr @test_count, align 4, !tbaa !5
  %5861 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %5780, i8 noundef zeroext 1) #12
  %5862 = icmp eq i32 %5861, -1
  br i1 %5862, label %5863, label %5885

5863:                                             ; preds = %5859
  %5864 = load i32, ptr %1317, align 4, !tbaa !5
  %5865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5866 = call i32 @s2n_print_stacktrace(ptr noundef %5865) #12
  %5867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5868 = trunc nuw i8 %5867 to i1
  br i1 %5868, label %5869, label %5873

5869:                                             ; preds = %5863
  %5870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5871 = call i32 @fileno(ptr noundef %5870) #12
  %5872 = call i32 @isatty(i32 noundef %5871) #12
  %.not2019 = icmp eq i32 %5872, 0
  br i1 %.not2019, label %5873, label %5874

5873:                                             ; preds = %5869, %5863
  br label %5874

5874:                                             ; preds = %5869, %5873
  %.str.26.sink4034 = phi ptr [ @.str.26, %5873 ], [ @.str.23, %5869 ]
  store i32 %5864, ptr %1317, align 4, !tbaa !5
  %5875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5876 = load i32, ptr @test_count, align 4, !tbaa !5
  %5877 = load i32, ptr %1263, align 4, !tbaa !5
  %5878 = call ptr @s2n_strerror(i32 noundef %5877, ptr noundef nonnull @.str.25) #12
  %5879 = load i32, ptr %1263, align 4, !tbaa !5
  %5880 = call ptr @s2n_strerror_debug(i32 noundef %5879, ptr noundef nonnull @.str.25) #12
  %5881 = load i32, ptr %1317, align 4, !tbaa !5
  %5882 = call ptr @strerror(i32 noundef %5881) #12
  %5883 = load i32, ptr %1317, align 4, !tbaa !5
  %5884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5875, ptr noundef nonnull %.str.26.sink4034, i32 noundef %5876, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.22, i32 noundef 743, ptr noundef %5878, ptr noundef %5880, ptr noundef %5882, i32 noundef %5883) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5885:                                             ; preds = %5859
  %5886 = load i32, ptr @test_count, align 4, !tbaa !5
  %5887 = add nsw i32 %5886, 1
  store i32 %5887, ptr @test_count, align 4, !tbaa !5
  %5888 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %5780) #12
  %5889 = call zeroext i1 @s2n_result_is_ok(i32 %5888)
  br i1 %5889, label %5912, label %5890

5890:                                             ; preds = %5885
  %5891 = load i32, ptr %1317, align 4, !tbaa !5
  %5892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5893 = call i32 @s2n_print_stacktrace(ptr noundef %5892) #12
  %5894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5895 = trunc nuw i8 %5894 to i1
  br i1 %5895, label %5896, label %5900

5896:                                             ; preds = %5890
  %5897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5898 = call i32 @fileno(ptr noundef %5897) #12
  %5899 = call i32 @isatty(i32 noundef %5898) #12
  %.not1685 = icmp eq i32 %5899, 0
  br i1 %.not1685, label %5900, label %5901

5900:                                             ; preds = %5896, %5890
  br label %5901

5901:                                             ; preds = %5896, %5900
  %.str.26.sink4043 = phi ptr [ @.str.26, %5900 ], [ @.str.23, %5896 ]
  store i32 %5891, ptr %1317, align 4, !tbaa !5
  %5902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5903 = load i32, ptr @test_count, align 4, !tbaa !5
  %5904 = load i32, ptr %1263, align 4, !tbaa !5
  %5905 = call ptr @s2n_strerror(i32 noundef %5904, ptr noundef nonnull @.str.25) #12
  %5906 = load i32, ptr %1263, align 4, !tbaa !5
  %5907 = call ptr @s2n_strerror_debug(i32 noundef %5906, ptr noundef nonnull @.str.25) #12
  %5908 = load i32, ptr %1317, align 4, !tbaa !5
  %5909 = call ptr @strerror(i32 noundef %5908) #12
  %5910 = load i32, ptr %1317, align 4, !tbaa !5
  %5911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5902, ptr noundef nonnull %.str.26.sink4043, i32 noundef %5903, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 744, ptr noundef %5905, ptr noundef %5907, ptr noundef %5909, i32 noundef %5910) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5912:                                             ; preds = %5885
  %5913 = load i32, ptr @test_count, align 4, !tbaa !5
  %5914 = add nsw i32 %5913, 1
  store i32 %5914, ptr @test_count, align 4, !tbaa !5
  %5915 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5833, ptr noundef nonnull %5780) #12
  %5916 = icmp eq i32 %5915, -1
  br i1 %5916, label %5917, label %5939

5917:                                             ; preds = %5912
  %5918 = load i32, ptr %1317, align 4, !tbaa !5
  %5919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5920 = call i32 @s2n_print_stacktrace(ptr noundef %5919) #12
  %5921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5922 = trunc nuw i8 %5921 to i1
  br i1 %5922, label %5923, label %5927

5923:                                             ; preds = %5917
  %5924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5925 = call i32 @fileno(ptr noundef %5924) #12
  %5926 = call i32 @isatty(i32 noundef %5925) #12
  %.not2018 = icmp eq i32 %5926, 0
  br i1 %.not2018, label %5927, label %5928

5927:                                             ; preds = %5923, %5917
  br label %5928

5928:                                             ; preds = %5923, %5927
  %.str.26.sink4052 = phi ptr [ @.str.26, %5927 ], [ @.str.23, %5923 ]
  store i32 %5918, ptr %1317, align 4, !tbaa !5
  %5929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5930 = load i32, ptr @test_count, align 4, !tbaa !5
  %5931 = load i32, ptr %1263, align 4, !tbaa !5
  %5932 = call ptr @s2n_strerror(i32 noundef %5931, ptr noundef nonnull @.str.25) #12
  %5933 = load i32, ptr %1263, align 4, !tbaa !5
  %5934 = call ptr @s2n_strerror_debug(i32 noundef %5933, ptr noundef nonnull @.str.25) #12
  %5935 = load i32, ptr %1317, align 4, !tbaa !5
  %5936 = call ptr @strerror(i32 noundef %5935) #12
  %5937 = load i32, ptr %1317, align 4, !tbaa !5
  %5938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5929, ptr noundef nonnull %.str.26.sink4052, i32 noundef %5930, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.22, i32 noundef 745, ptr noundef %5932, ptr noundef %5934, ptr noundef %5936, i32 noundef %5937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5939:                                             ; preds = %5912
  %5940 = load i32, ptr @test_count, align 4, !tbaa !5
  %5941 = add nsw i32 %5940, 1
  store i32 %5941, ptr @test_count, align 4, !tbaa !5
  %5942 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef nonnull %5780, ptr noundef nonnull @s2n_test_session_ticket_cb, ptr noundef null) #12
  %5943 = icmp eq i32 %5942, -1
  br i1 %5943, label %5944, label %5966

5944:                                             ; preds = %5939
  %5945 = load i32, ptr %1317, align 4, !tbaa !5
  %5946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5947 = call i32 @s2n_print_stacktrace(ptr noundef %5946) #12
  %5948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5949 = trunc nuw i8 %5948 to i1
  br i1 %5949, label %5950, label %5954

5950:                                             ; preds = %5944
  %5951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5952 = call i32 @fileno(ptr noundef %5951) #12
  %5953 = call i32 @isatty(i32 noundef %5952) #12
  %.not2017 = icmp eq i32 %5953, 0
  br i1 %.not2017, label %5954, label %5955

5954:                                             ; preds = %5950, %5944
  br label %5955

5955:                                             ; preds = %5950, %5954
  %.str.26.sink4061 = phi ptr [ @.str.26, %5954 ], [ @.str.23, %5950 ]
  store i32 %5945, ptr %1317, align 4, !tbaa !5
  %5956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5957 = load i32, ptr @test_count, align 4, !tbaa !5
  %5958 = load i32, ptr %1263, align 4, !tbaa !5
  %5959 = call ptr @s2n_strerror(i32 noundef %5958, ptr noundef nonnull @.str.25) #12
  %5960 = load i32, ptr %1263, align 4, !tbaa !5
  %5961 = call ptr @s2n_strerror_debug(i32 noundef %5960, ptr noundef nonnull @.str.25) #12
  %5962 = load i32, ptr %1317, align 4, !tbaa !5
  %5963 = call ptr @strerror(i32 noundef %5962) #12
  %5964 = load i32, ptr %1317, align 4, !tbaa !5
  %5965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5956, ptr noundef nonnull %.str.26.sink4061, i32 noundef %5957, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.22, i32 noundef 747, ptr noundef %5959, ptr noundef %5961, ptr noundef %5963, i32 noundef %5964) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5966:                                             ; preds = %5939
  %5967 = load i32, ptr @test_count, align 4, !tbaa !5
  %5968 = add nsw i32 %5967, 1
  store i32 %5968, ptr @test_count, align 4, !tbaa !5
  %5969 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5781, ptr noundef nonnull %5780) #12
  %5970 = icmp eq i32 %5969, -1
  br i1 %5970, label %5971, label %5993

5971:                                             ; preds = %5966
  %5972 = load i32, ptr %1317, align 4, !tbaa !5
  %5973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5974 = call i32 @s2n_print_stacktrace(ptr noundef %5973) #12
  %5975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5976 = trunc nuw i8 %5975 to i1
  br i1 %5976, label %5977, label %5981

5977:                                             ; preds = %5971
  %5978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5979 = call i32 @fileno(ptr noundef %5978) #12
  %5980 = call i32 @isatty(i32 noundef %5979) #12
  %.not2016 = icmp eq i32 %5980, 0
  br i1 %.not2016, label %5981, label %5982

5981:                                             ; preds = %5977, %5971
  br label %5982

5982:                                             ; preds = %5977, %5981
  %.str.26.sink4070 = phi ptr [ @.str.26, %5981 ], [ @.str.23, %5977 ]
  store i32 %5972, ptr %1317, align 4, !tbaa !5
  %5983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5984 = load i32, ptr @test_count, align 4, !tbaa !5
  %5985 = load i32, ptr %1263, align 4, !tbaa !5
  %5986 = call ptr @s2n_strerror(i32 noundef %5985, ptr noundef nonnull @.str.25) #12
  %5987 = load i32, ptr %1263, align 4, !tbaa !5
  %5988 = call ptr @s2n_strerror_debug(i32 noundef %5987, ptr noundef nonnull @.str.25) #12
  %5989 = load i32, ptr %1317, align 4, !tbaa !5
  %5990 = call ptr @strerror(i32 noundef %5989) #12
  %5991 = load i32, ptr %1317, align 4, !tbaa !5
  %5992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5983, ptr noundef nonnull %.str.26.sink4070, i32 noundef %5984, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.22, i32 noundef 748, ptr noundef %5986, ptr noundef %5988, ptr noundef %5990, i32 noundef %5991) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5993:                                             ; preds = %5966
  %5994 = getelementptr inbounds i8, ptr %5781, i64 220
  store i8 34, ptr %5994, align 4, !tbaa !17
  %5995 = getelementptr inbounds i8, ptr %5833, i64 220
  store i8 34, ptr %5995, align 4, !tbaa !17
  %5996 = getelementptr inbounds i8, ptr %5781, i64 232
  %5997 = load ptr, ptr %5996, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %5997, align 8, !tbaa !44
  %5998 = getelementptr inbounds i8, ptr %5833, i64 232
  %5999 = load ptr, ptr %5998, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %5999, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %55) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %55, i8 0, i64 40, i1 false)
  %6000 = load i32, ptr @test_count, align 4, !tbaa !5
  %6001 = add nsw i32 %6000, 1
  store i32 %6001, ptr @test_count, align 4, !tbaa !5
  %6002 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %55, i32 noundef 0) #12
  %6003 = icmp eq i32 %6002, -1
  br i1 %6003, label %6004, label %6026

6004:                                             ; preds = %5993
  %6005 = load i32, ptr %1317, align 4, !tbaa !5
  %6006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6007 = call i32 @s2n_print_stacktrace(ptr noundef %6006) #12
  %6008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6009 = trunc nuw i8 %6008 to i1
  br i1 %6009, label %6010, label %6014

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

6014:                                             ; preds = %6010, %6004
  br label %6015

6015:                                             ; preds = %6010, %6014
  %.str.26.sink4079 = phi ptr [ @.str.26, %6014 ], [ @.str.23, %6010 ]
  store i32 %6005, ptr %1317, align 4, !tbaa !5
  %6016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6017 = load i32, ptr @test_count, align 4, !tbaa !5
  %6018 = load i32, ptr %1263, align 4, !tbaa !5
  %6019 = call ptr @s2n_strerror(i32 noundef %6018, ptr noundef nonnull @.str.25) #12
  %6020 = load i32, ptr %1263, align 4, !tbaa !5
  %6021 = call ptr @s2n_strerror_debug(i32 noundef %6020, ptr noundef nonnull @.str.25) #12
  %6022 = load i32, ptr %1317, align 4, !tbaa !5
  %6023 = call ptr @strerror(i32 noundef %6022) #12
  %6024 = load i32, ptr %1317, align 4, !tbaa !5
  %6025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6016, ptr noundef nonnull %.str.26.sink4079, i32 noundef %6017, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 756, ptr noundef %6019, ptr noundef %6021, ptr noundef %6023, i32 noundef %6024) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6026:                                             ; preds = %5993
  %6027 = load i32, ptr @test_count, align 4, !tbaa !5
  %6028 = add nsw i32 %6027, 1
  store i32 %6028, ptr @test_count, align 4, !tbaa !5
  %6029 = call i32 @s2n_tls13_server_nst_write(ptr noundef nonnull %5833, ptr noundef nonnull %55)
  %6030 = call zeroext i1 @s2n_result_is_ok(i32 %6029)
  br i1 %6030, label %6053, label %6031

6031:                                             ; preds = %6026
  %6032 = load i32, ptr %1317, align 4, !tbaa !5
  %6033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6034 = call i32 @s2n_print_stacktrace(ptr noundef %6033) #12
  %6035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6036 = trunc nuw i8 %6035 to i1
  br i1 %6036, label %6037, label %6041

6037:                                             ; preds = %6031
  %6038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6039 = call i32 @fileno(ptr noundef %6038) #12
  %6040 = call i32 @isatty(i32 noundef %6039) #12
  %.not1686 = icmp eq i32 %6040, 0
  br i1 %.not1686, label %6041, label %6042

6041:                                             ; preds = %6037, %6031
  br label %6042

6042:                                             ; preds = %6037, %6041
  %.str.26.sink4088 = phi ptr [ @.str.26, %6041 ], [ @.str.23, %6037 ]
  store i32 %6032, ptr %1317, align 4, !tbaa !5
  %6043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6044 = load i32, ptr @test_count, align 4, !tbaa !5
  %6045 = load i32, ptr %1263, align 4, !tbaa !5
  %6046 = call ptr @s2n_strerror(i32 noundef %6045, ptr noundef nonnull @.str.25) #12
  %6047 = load i32, ptr %1263, align 4, !tbaa !5
  %6048 = call ptr @s2n_strerror_debug(i32 noundef %6047, ptr noundef nonnull @.str.25) #12
  %6049 = load i32, ptr %1317, align 4, !tbaa !5
  %6050 = call ptr @strerror(i32 noundef %6049) #12
  %6051 = load i32, ptr %1317, align 4, !tbaa !5
  %6052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6043, ptr noundef nonnull %.str.26.sink4088, i32 noundef %6044, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.22, i32 noundef 758, ptr noundef %6046, ptr noundef %6048, ptr noundef %6050, i32 noundef %6051) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6053:                                             ; preds = %6026
  %6054 = load i32, ptr @test_count, align 4, !tbaa !5
  %6055 = add nsw i32 %6054, 1
  store i32 %6055, ptr @test_count, align 4, !tbaa !5
  %6056 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %55, i32 noundef 4) #12
  %6057 = icmp eq i32 %6056, -1
  br i1 %6057, label %6058, label %6080

6058:                                             ; preds = %6053
  %6059 = load i32, ptr %1317, align 4, !tbaa !5
  %6060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6061 = call i32 @s2n_print_stacktrace(ptr noundef %6060) #12
  %6062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6063 = trunc nuw i8 %6062 to i1
  br i1 %6063, label %6064, label %6068

6064:                                             ; preds = %6058
  %6065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6066 = call i32 @fileno(ptr noundef %6065) #12
  %6067 = call i32 @isatty(i32 noundef %6066) #12
  %.not2014 = icmp eq i32 %6067, 0
  br i1 %.not2014, label %6068, label %6069

6068:                                             ; preds = %6064, %6058
  br label %6069

6069:                                             ; preds = %6064, %6068
  %.str.26.sink4097 = phi ptr [ @.str.26, %6068 ], [ @.str.23, %6064 ]
  store i32 %6059, ptr %1317, align 4, !tbaa !5
  %6070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6071 = load i32, ptr @test_count, align 4, !tbaa !5
  %6072 = load i32, ptr %1263, align 4, !tbaa !5
  %6073 = call ptr @s2n_strerror(i32 noundef %6072, ptr noundef nonnull @.str.25) #12
  %6074 = load i32, ptr %1263, align 4, !tbaa !5
  %6075 = call ptr @s2n_strerror_debug(i32 noundef %6074, ptr noundef nonnull @.str.25) #12
  %6076 = load i32, ptr %1317, align 4, !tbaa !5
  %6077 = call ptr @strerror(i32 noundef %6076) #12
  %6078 = load i32, ptr %1317, align 4, !tbaa !5
  %6079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6070, ptr noundef nonnull %.str.26.sink4097, i32 noundef %6071, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.22, i32 noundef 759, ptr noundef %6073, ptr noundef %6075, ptr noundef %6077, i32 noundef %6078) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6080:                                             ; preds = %6053
  %6081 = load i32, ptr @test_count, align 4, !tbaa !5
  %6082 = add nsw i32 %6081, 1
  store i32 %6082, ptr @test_count, align 4, !tbaa !5
  %6083 = call i32 @s2n_tls13_server_nst_recv(ptr noundef nonnull %5781, ptr noundef nonnull %55)
  %6084 = call zeroext i1 @s2n_result_is_ok(i32 %6083)
  br i1 %6084, label %6107, label %6085

6085:                                             ; preds = %6080
  %6086 = load i32, ptr %1317, align 4, !tbaa !5
  %6087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6088 = call i32 @s2n_print_stacktrace(ptr noundef %6087) #12
  %6089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6090 = trunc nuw i8 %6089 to i1
  br i1 %6090, label %6091, label %6095

6091:                                             ; preds = %6085
  %6092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6093 = call i32 @fileno(ptr noundef %6092) #12
  %6094 = call i32 @isatty(i32 noundef %6093) #12
  %.not1687 = icmp eq i32 %6094, 0
  br i1 %.not1687, label %6095, label %6096

6095:                                             ; preds = %6091, %6085
  br label %6096

6096:                                             ; preds = %6091, %6095
  %.str.26.sink4106 = phi ptr [ @.str.26, %6095 ], [ @.str.23, %6091 ]
  store i32 %6086, ptr %1317, align 4, !tbaa !5
  %6097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6098 = load i32, ptr @test_count, align 4, !tbaa !5
  %6099 = load i32, ptr %1263, align 4, !tbaa !5
  %6100 = call ptr @s2n_strerror(i32 noundef %6099, ptr noundef nonnull @.str.25) #12
  %6101 = load i32, ptr %1263, align 4, !tbaa !5
  %6102 = call ptr @s2n_strerror_debug(i32 noundef %6101, ptr noundef nonnull @.str.25) #12
  %6103 = load i32, ptr %1317, align 4, !tbaa !5
  %6104 = call ptr @strerror(i32 noundef %6103) #12
  %6105 = load i32, ptr %1317, align 4, !tbaa !5
  %6106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6097, ptr noundef nonnull %.str.26.sink4106, i32 noundef %6098, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.22, i32 noundef 760, ptr noundef %6100, ptr noundef %6102, ptr noundef %6104, i32 noundef %6105) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6107:                                             ; preds = %6080
  %6108 = load i32, ptr @test_count, align 4, !tbaa !5
  %6109 = add nsw i32 %6108, 1
  store i32 %6109, ptr @test_count, align 4, !tbaa !5
  %6110 = call i32 @s2n_connection_free(ptr noundef nonnull %5781) #12
  %6111 = icmp eq i32 %6110, -1
  br i1 %6111, label %6112, label %6134

6112:                                             ; preds = %6107
  %6113 = load i32, ptr %1317, align 4, !tbaa !5
  %6114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6115 = call i32 @s2n_print_stacktrace(ptr noundef %6114) #12
  %6116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6117 = trunc nuw i8 %6116 to i1
  br i1 %6117, label %6118, label %6122

6118:                                             ; preds = %6112
  %6119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6120 = call i32 @fileno(ptr noundef %6119) #12
  %6121 = call i32 @isatty(i32 noundef %6120) #12
  %.not2013 = icmp eq i32 %6121, 0
  br i1 %.not2013, label %6122, label %6123

6122:                                             ; preds = %6118, %6112
  br label %6123

6123:                                             ; preds = %6118, %6122
  %.str.26.sink4115 = phi ptr [ @.str.26, %6122 ], [ @.str.23, %6118 ]
  store i32 %6113, ptr %1317, align 4, !tbaa !5
  %6124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6125 = load i32, ptr @test_count, align 4, !tbaa !5
  %6126 = load i32, ptr %1263, align 4, !tbaa !5
  %6127 = call ptr @s2n_strerror(i32 noundef %6126, ptr noundef nonnull @.str.25) #12
  %6128 = load i32, ptr %1263, align 4, !tbaa !5
  %6129 = call ptr @s2n_strerror_debug(i32 noundef %6128, ptr noundef nonnull @.str.25) #12
  %6130 = load i32, ptr %1317, align 4, !tbaa !5
  %6131 = call ptr @strerror(i32 noundef %6130) #12
  %6132 = load i32, ptr %1317, align 4, !tbaa !5
  %6133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6124, ptr noundef nonnull %.str.26.sink4115, i32 noundef %6125, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.22, i32 noundef 762, ptr noundef %6127, ptr noundef %6129, ptr noundef %6131, i32 noundef %6132) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6134:                                             ; preds = %6107
  %6135 = load i32, ptr @test_count, align 4, !tbaa !5
  %6136 = add nsw i32 %6135, 1
  store i32 %6136, ptr @test_count, align 4, !tbaa !5
  %6137 = call i32 @s2n_connection_free(ptr noundef nonnull %5833) #12
  %6138 = icmp eq i32 %6137, -1
  br i1 %6138, label %6139, label %6161

6139:                                             ; preds = %6134
  %6140 = load i32, ptr %1317, align 4, !tbaa !5
  %6141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6142 = call i32 @s2n_print_stacktrace(ptr noundef %6141) #12
  %6143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6144 = trunc nuw i8 %6143 to i1
  br i1 %6144, label %6145, label %6149

6145:                                             ; preds = %6139
  %6146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6147 = call i32 @fileno(ptr noundef %6146) #12
  %6148 = call i32 @isatty(i32 noundef %6147) #12
  %.not2012 = icmp eq i32 %6148, 0
  br i1 %.not2012, label %6149, label %6150

6149:                                             ; preds = %6145, %6139
  br label %6150

6150:                                             ; preds = %6145, %6149
  %.str.26.sink4124 = phi ptr [ @.str.26, %6149 ], [ @.str.23, %6145 ]
  store i32 %6140, ptr %1317, align 4, !tbaa !5
  %6151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6152 = load i32, ptr @test_count, align 4, !tbaa !5
  %6153 = load i32, ptr %1263, align 4, !tbaa !5
  %6154 = call ptr @s2n_strerror(i32 noundef %6153, ptr noundef nonnull @.str.25) #12
  %6155 = load i32, ptr %1263, align 4, !tbaa !5
  %6156 = call ptr @s2n_strerror_debug(i32 noundef %6155, ptr noundef nonnull @.str.25) #12
  %6157 = load i32, ptr %1317, align 4, !tbaa !5
  %6158 = call ptr @strerror(i32 noundef %6157) #12
  %6159 = load i32, ptr %1317, align 4, !tbaa !5
  %6160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6151, ptr noundef nonnull %.str.26.sink4124, i32 noundef %6152, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.22, i32 noundef 763, ptr noundef %6154, ptr noundef %6156, ptr noundef %6158, i32 noundef %6159) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6161:                                             ; preds = %6134
  %6162 = load i32, ptr @test_count, align 4, !tbaa !5
  %6163 = add nsw i32 %6162, 1
  store i32 %6163, ptr @test_count, align 4, !tbaa !5
  %6164 = call i32 @s2n_stuffer_free(ptr noundef nonnull %55) #12
  %6165 = icmp eq i32 %6164, -1
  br i1 %6165, label %6166, label %6188

6166:                                             ; preds = %6161
  %6167 = load i32, ptr %1317, align 4, !tbaa !5
  %6168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6169 = call i32 @s2n_print_stacktrace(ptr noundef %6168) #12
  %6170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6171 = trunc nuw i8 %6170 to i1
  br i1 %6171, label %6172, label %6176

6172:                                             ; preds = %6166
  %6173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6174 = call i32 @fileno(ptr noundef %6173) #12
  %6175 = call i32 @isatty(i32 noundef %6174) #12
  %.not2011 = icmp eq i32 %6175, 0
  br i1 %.not2011, label %6176, label %6177

6176:                                             ; preds = %6172, %6166
  br label %6177

6177:                                             ; preds = %6172, %6176
  %.str.26.sink4133 = phi ptr [ @.str.26, %6176 ], [ @.str.23, %6172 ]
  store i32 %6167, ptr %1317, align 4, !tbaa !5
  %6178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6179 = load i32, ptr @test_count, align 4, !tbaa !5
  %6180 = load i32, ptr %1263, align 4, !tbaa !5
  %6181 = call ptr @s2n_strerror(i32 noundef %6180, ptr noundef nonnull @.str.25) #12
  %6182 = load i32, ptr %1263, align 4, !tbaa !5
  %6183 = call ptr @s2n_strerror_debug(i32 noundef %6182, ptr noundef nonnull @.str.25) #12
  %6184 = load i32, ptr %1317, align 4, !tbaa !5
  %6185 = call ptr @strerror(i32 noundef %6184) #12
  %6186 = load i32, ptr %1317, align 4, !tbaa !5
  %6187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6178, ptr noundef nonnull %.str.26.sink4133, i32 noundef %6179, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.22, i32 noundef 764, ptr noundef %6181, ptr noundef %6183, ptr noundef %6185, i32 noundef %6186) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6188:                                             ; preds = %6161
  %6189 = load i32, ptr @test_count, align 4, !tbaa !5
  %6190 = add nsw i32 %6189, 1
  store i32 %6190, ptr @test_count, align 4, !tbaa !5
  %6191 = call i32 @s2n_config_free(ptr noundef nonnull %5780) #12
  %6192 = icmp eq i32 %6191, -1
  br i1 %6192, label %6193, label %6215

6193:                                             ; preds = %6188
  %6194 = load i32, ptr %1317, align 4, !tbaa !5
  %6195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6196 = call i32 @s2n_print_stacktrace(ptr noundef %6195) #12
  %6197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6198 = trunc nuw i8 %6197 to i1
  br i1 %6198, label %6199, label %6203

6199:                                             ; preds = %6193
  %6200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6201 = call i32 @fileno(ptr noundef %6200) #12
  %6202 = call i32 @isatty(i32 noundef %6201) #12
  %.not2010 = icmp eq i32 %6202, 0
  br i1 %.not2010, label %6203, label %6204

6203:                                             ; preds = %6199, %6193
  br label %6204

6204:                                             ; preds = %6199, %6203
  %.str.26.sink4142 = phi ptr [ @.str.26, %6203 ], [ @.str.23, %6199 ]
  store i32 %6194, ptr %1317, align 4, !tbaa !5
  %6205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6206 = load i32, ptr @test_count, align 4, !tbaa !5
  %6207 = load i32, ptr %1263, align 4, !tbaa !5
  %6208 = call ptr @s2n_strerror(i32 noundef %6207, ptr noundef nonnull @.str.25) #12
  %6209 = load i32, ptr %1263, align 4, !tbaa !5
  %6210 = call ptr @s2n_strerror_debug(i32 noundef %6209, ptr noundef nonnull @.str.25) #12
  %6211 = load i32, ptr %1317, align 4, !tbaa !5
  %6212 = call ptr @strerror(i32 noundef %6211) #12
  %6213 = load i32, ptr %1317, align 4, !tbaa !5
  %6214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6205, ptr noundef nonnull %.str.26.sink4142, i32 noundef %6206, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 765, ptr noundef %6208, ptr noundef %6210, ptr noundef %6212, i32 noundef %6213) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6215:                                             ; preds = %6188
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %55) #12
  %6216 = call ptr @s2n_config_new() #12
  %6217 = load i32, ptr @test_count, align 4, !tbaa !5
  %6218 = add nsw i32 %6217, 1
  store i32 %6218, ptr @test_count, align 4, !tbaa !5
  %6219 = icmp eq ptr %6216, null
  br i1 %6219, label %6220, label %6242

6220:                                             ; preds = %6215
  %6221 = load i32, ptr %1317, align 4, !tbaa !5
  %6222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6223 = call i32 @s2n_print_stacktrace(ptr noundef %6222) #12
  %6224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6225 = trunc nuw i8 %6224 to i1
  br i1 %6225, label %6226, label %6230

6226:                                             ; preds = %6220
  %6227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6228 = call i32 @fileno(ptr noundef %6227) #12
  %6229 = call i32 @isatty(i32 noundef %6228) #12
  %.not2009 = icmp eq i32 %6229, 0
  br i1 %.not2009, label %6230, label %6231

6230:                                             ; preds = %6226, %6220
  br label %6231

6231:                                             ; preds = %6226, %6230
  %.str.26.sink4151 = phi ptr [ @.str.26, %6230 ], [ @.str.23, %6226 ]
  store i32 %6221, ptr %1317, align 4, !tbaa !5
  %6232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6233 = load i32, ptr @test_count, align 4, !tbaa !5
  %6234 = load i32, ptr %1263, align 4, !tbaa !5
  %6235 = call ptr @s2n_strerror(i32 noundef %6234, ptr noundef nonnull @.str.25) #12
  %6236 = load i32, ptr %1263, align 4, !tbaa !5
  %6237 = call ptr @s2n_strerror_debug(i32 noundef %6236, ptr noundef nonnull @.str.25) #12
  %6238 = load i32, ptr %1317, align 4, !tbaa !5
  %6239 = call ptr @strerror(i32 noundef %6238) #12
  %6240 = load i32, ptr %1317, align 4, !tbaa !5
  %6241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6232, ptr noundef nonnull %.str.26.sink4151, i32 noundef %6233, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 774, ptr noundef %6235, ptr noundef %6237, ptr noundef %6239, i32 noundef %6240) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6242:                                             ; preds = %6215
  %6243 = add nsw i32 %6217, 2
  store i32 %6243, ptr @test_count, align 4, !tbaa !5
  %6244 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %6216, i8 noundef zeroext 1) #12
  %6245 = icmp eq i32 %6244, -1
  br i1 %6245, label %6246, label %6268

6246:                                             ; preds = %6242
  %6247 = load i32, ptr %1317, align 4, !tbaa !5
  %6248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6249 = call i32 @s2n_print_stacktrace(ptr noundef %6248) #12
  %6250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6251 = trunc nuw i8 %6250 to i1
  br i1 %6251, label %6252, label %6256

6252:                                             ; preds = %6246
  %6253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6254 = call i32 @fileno(ptr noundef %6253) #12
  %6255 = call i32 @isatty(i32 noundef %6254) #12
  %.not2008 = icmp eq i32 %6255, 0
  br i1 %.not2008, label %6256, label %6257

6256:                                             ; preds = %6252, %6246
  br label %6257

6257:                                             ; preds = %6252, %6256
  %.str.26.sink4160 = phi ptr [ @.str.26, %6256 ], [ @.str.23, %6252 ]
  store i32 %6247, ptr %1317, align 4, !tbaa !5
  %6258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6259 = load i32, ptr @test_count, align 4, !tbaa !5
  %6260 = load i32, ptr %1263, align 4, !tbaa !5
  %6261 = call ptr @s2n_strerror(i32 noundef %6260, ptr noundef nonnull @.str.25) #12
  %6262 = load i32, ptr %1263, align 4, !tbaa !5
  %6263 = call ptr @s2n_strerror_debug(i32 noundef %6262, ptr noundef nonnull @.str.25) #12
  %6264 = load i32, ptr %1317, align 4, !tbaa !5
  %6265 = call ptr @strerror(i32 noundef %6264) #12
  %6266 = load i32, ptr %1317, align 4, !tbaa !5
  %6267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6258, ptr noundef nonnull %.str.26.sink4160, i32 noundef %6259, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.22, i32 noundef 775, ptr noundef %6261, ptr noundef %6263, ptr noundef %6265, i32 noundef %6266) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6268:                                             ; preds = %6242
  %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 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef nonnull %6216, ptr noundef nonnull @s2n_test_session_ticket_cb, ptr noundef null) #12
  %6272 = icmp eq i32 %6271, -1
  br i1 %6272, label %6273, label %6295

6273:                                             ; preds = %6268
  %6274 = load i32, ptr %1317, align 4, !tbaa !5
  %6275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6276 = call i32 @s2n_print_stacktrace(ptr noundef %6275) #12
  %6277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6278 = trunc nuw i8 %6277 to i1
  br i1 %6278, label %6279, label %6283

6279:                                             ; preds = %6273
  %6280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6281 = call i32 @fileno(ptr noundef %6280) #12
  %6282 = call i32 @isatty(i32 noundef %6281) #12
  %.not2007 = icmp eq i32 %6282, 0
  br i1 %.not2007, label %6283, label %6284

6283:                                             ; preds = %6279, %6273
  br label %6284

6284:                                             ; preds = %6279, %6283
  %.str.26.sink4169 = phi ptr [ @.str.26, %6283 ], [ @.str.23, %6279 ]
  store i32 %6274, ptr %1317, align 4, !tbaa !5
  %6285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6286 = load i32, ptr @test_count, align 4, !tbaa !5
  %6287 = load i32, ptr %1263, align 4, !tbaa !5
  %6288 = call ptr @s2n_strerror(i32 noundef %6287, ptr noundef nonnull @.str.25) #12
  %6289 = load i32, ptr %1263, align 4, !tbaa !5
  %6290 = call ptr @s2n_strerror_debug(i32 noundef %6289, ptr noundef nonnull @.str.25) #12
  %6291 = load i32, ptr %1317, align 4, !tbaa !5
  %6292 = call ptr @strerror(i32 noundef %6291) #12
  %6293 = load i32, ptr %1317, align 4, !tbaa !5
  %6294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6285, ptr noundef nonnull %.str.26.sink4169, i32 noundef %6286, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.22, i32 noundef 776, ptr noundef %6288, ptr noundef %6290, ptr noundef %6292, i32 noundef %6293) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6295:                                             ; preds = %6268
  %6296 = load i32, ptr @test_count, align 4, !tbaa !5
  %6297 = add nsw i32 %6296, 1
  store i32 %6297, ptr @test_count, align 4, !tbaa !5
  %6298 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %6216) #12
  %6299 = call zeroext i1 @s2n_result_is_ok(i32 %6298)
  br i1 %6299, label %6322, label %6300

6300:                                             ; preds = %6295
  %6301 = load i32, ptr %1317, align 4, !tbaa !5
  %6302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6303 = call i32 @s2n_print_stacktrace(ptr noundef %6302) #12
  %6304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6305 = trunc nuw i8 %6304 to i1
  br i1 %6305, label %6306, label %6310

6306:                                             ; preds = %6300
  %6307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6308 = call i32 @fileno(ptr noundef %6307) #12
  %6309 = call i32 @isatty(i32 noundef %6308) #12
  %.not1688 = icmp eq i32 %6309, 0
  br i1 %.not1688, label %6310, label %6311

6310:                                             ; preds = %6306, %6300
  br label %6311

6311:                                             ; preds = %6306, %6310
  %.str.26.sink4178 = phi ptr [ @.str.26, %6310 ], [ @.str.23, %6306 ]
  store i32 %6301, ptr %1317, align 4, !tbaa !5
  %6312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6313 = load i32, ptr @test_count, align 4, !tbaa !5
  %6314 = load i32, ptr %1263, align 4, !tbaa !5
  %6315 = call ptr @s2n_strerror(i32 noundef %6314, ptr noundef nonnull @.str.25) #12
  %6316 = load i32, ptr %1263, align 4, !tbaa !5
  %6317 = call ptr @s2n_strerror_debug(i32 noundef %6316, ptr noundef nonnull @.str.25) #12
  %6318 = load i32, ptr %1317, align 4, !tbaa !5
  %6319 = call ptr @strerror(i32 noundef %6318) #12
  %6320 = load i32, ptr %1317, align 4, !tbaa !5
  %6321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6312, ptr noundef nonnull %.str.26.sink4178, i32 noundef %6313, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 777, ptr noundef %6315, ptr noundef %6317, ptr noundef %6319, i32 noundef %6320) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6322:                                             ; preds = %6295
  %6323 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6324 = load i32, ptr @test_count, align 4, !tbaa !5
  %6325 = add nsw i32 %6324, 1
  store i32 %6325, ptr @test_count, align 4, !tbaa !5
  %6326 = icmp eq ptr %6323, null
  br i1 %6326, label %6327, label %6349

6327:                                             ; preds = %6322
  %6328 = load i32, ptr %1317, align 4, !tbaa !5
  %6329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6330 = call i32 @s2n_print_stacktrace(ptr noundef %6329) #12
  %6331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6332 = trunc nuw i8 %6331 to i1
  br i1 %6332, label %6333, label %6337

6333:                                             ; preds = %6327
  %6334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6335 = call i32 @fileno(ptr noundef %6334) #12
  %6336 = call i32 @isatty(i32 noundef %6335) #12
  %.not2006 = icmp eq i32 %6336, 0
  br i1 %.not2006, label %6337, label %6338

6337:                                             ; preds = %6333, %6327
  br label %6338

6338:                                             ; preds = %6333, %6337
  %.str.26.sink4187 = phi ptr [ @.str.26, %6337 ], [ @.str.23, %6333 ]
  store i32 %6328, ptr %1317, align 4, !tbaa !5
  %6339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6340 = load i32, ptr @test_count, align 4, !tbaa !5
  %6341 = load i32, ptr %1263, align 4, !tbaa !5
  %6342 = call ptr @s2n_strerror(i32 noundef %6341, ptr noundef nonnull @.str.25) #12
  %6343 = load i32, ptr %1263, align 4, !tbaa !5
  %6344 = call ptr @s2n_strerror_debug(i32 noundef %6343, ptr noundef nonnull @.str.25) #12
  %6345 = load i32, ptr %1317, align 4, !tbaa !5
  %6346 = call ptr @strerror(i32 noundef %6345) #12
  %6347 = load i32, ptr %1317, align 4, !tbaa !5
  %6348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6339, ptr noundef nonnull %.str.26.sink4187, i32 noundef %6340, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.22, i32 noundef 780, ptr noundef %6342, ptr noundef %6344, ptr noundef %6346, i32 noundef %6347) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6349:                                             ; preds = %6322
  %6350 = getelementptr inbounds i8, ptr %6323, i64 220
  store i8 34, ptr %6350, align 4, !tbaa !17
  %6351 = getelementptr inbounds i8, ptr %6323, i64 232
  %6352 = load ptr, ptr %6351, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %6352, align 8, !tbaa !44
  %6353 = add nsw i32 %6324, 2
  store i32 %6353, ptr @test_count, align 4, !tbaa !5
  %6354 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6323, ptr noundef nonnull %6216) #12
  %6355 = icmp eq i32 %6354, -1
  br i1 %6355, label %6356, label %6378

6356:                                             ; preds = %6349
  %6357 = load i32, ptr %1317, align 4, !tbaa !5
  %6358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6359 = call i32 @s2n_print_stacktrace(ptr noundef %6358) #12
  %6360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6361 = trunc nuw i8 %6360 to i1
  br i1 %6361, label %6362, label %6366

6362:                                             ; preds = %6356
  %6363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6364 = call i32 @fileno(ptr noundef %6363) #12
  %6365 = call i32 @isatty(i32 noundef %6364) #12
  %.not2005 = icmp eq i32 %6365, 0
  br i1 %.not2005, label %6366, label %6367

6366:                                             ; preds = %6362, %6356
  br label %6367

6367:                                             ; preds = %6362, %6366
  %.str.26.sink4196 = phi ptr [ @.str.26, %6366 ], [ @.str.23, %6362 ]
  store i32 %6357, ptr %1317, align 4, !tbaa !5
  %6368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6369 = load i32, ptr @test_count, align 4, !tbaa !5
  %6370 = load i32, ptr %1263, align 4, !tbaa !5
  %6371 = call ptr @s2n_strerror(i32 noundef %6370, ptr noundef nonnull @.str.25) #12
  %6372 = load i32, ptr %1263, align 4, !tbaa !5
  %6373 = call ptr @s2n_strerror_debug(i32 noundef %6372, ptr noundef nonnull @.str.25) #12
  %6374 = load i32, ptr %1317, align 4, !tbaa !5
  %6375 = call ptr @strerror(i32 noundef %6374) #12
  %6376 = load i32, ptr %1317, align 4, !tbaa !5
  %6377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6368, ptr noundef nonnull %.str.26.sink4196, i32 noundef %6369, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.22, i32 noundef 783, ptr noundef %6371, ptr noundef %6373, ptr noundef %6375, i32 noundef %6376) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6378:                                             ; preds = %6349
  %6379 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %6380 = load i32, ptr @test_count, align 4, !tbaa !5
  %6381 = add nsw i32 %6380, 1
  store i32 %6381, ptr @test_count, align 4, !tbaa !5
  %6382 = icmp eq ptr %6379, null
  br i1 %6382, label %6383, label %6405

6383:                                             ; preds = %6378
  %6384 = load i32, ptr %1317, align 4, !tbaa !5
  %6385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6386 = call i32 @s2n_print_stacktrace(ptr noundef %6385) #12
  %6387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6388 = trunc nuw i8 %6387 to i1
  br i1 %6388, label %6389, label %6393

6389:                                             ; preds = %6383
  %6390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6391 = call i32 @fileno(ptr noundef %6390) #12
  %6392 = call i32 @isatty(i32 noundef %6391) #12
  %.not2004 = icmp eq i32 %6392, 0
  br i1 %.not2004, label %6393, label %6394

6393:                                             ; preds = %6389, %6383
  br label %6394

6394:                                             ; preds = %6389, %6393
  %.str.26.sink4205 = phi ptr [ @.str.26, %6393 ], [ @.str.23, %6389 ]
  store i32 %6384, ptr %1317, align 4, !tbaa !5
  %6395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6396 = load i32, ptr @test_count, align 4, !tbaa !5
  %6397 = load i32, ptr %1263, align 4, !tbaa !5
  %6398 = call ptr @s2n_strerror(i32 noundef %6397, ptr noundef nonnull @.str.25) #12
  %6399 = load i32, ptr %1263, align 4, !tbaa !5
  %6400 = call ptr @s2n_strerror_debug(i32 noundef %6399, ptr noundef nonnull @.str.25) #12
  %6401 = load i32, ptr %1317, align 4, !tbaa !5
  %6402 = call ptr @strerror(i32 noundef %6401) #12
  %6403 = load i32, ptr %1317, align 4, !tbaa !5
  %6404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6395, ptr noundef nonnull %.str.26.sink4205, i32 noundef %6396, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.22, i32 noundef 786, ptr noundef %6398, ptr noundef %6400, ptr noundef %6402, i32 noundef %6403) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6405:                                             ; preds = %6378
  %6406 = getelementptr inbounds i8, ptr %6379, i64 220
  store i8 34, ptr %6406, align 4, !tbaa !17
  %6407 = getelementptr inbounds i8, ptr %6379, i64 232
  %6408 = load ptr, ptr %6407, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %6408, align 8, !tbaa !44
  %6409 = add nsw i32 %6380, 2
  store i32 %6409, ptr @test_count, align 4, !tbaa !5
  %6410 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6379, ptr noundef nonnull %6216) #12
  %6411 = icmp eq i32 %6410, -1
  br i1 %6411, label %6412, label %6434

6412:                                             ; preds = %6405
  %6413 = load i32, ptr %1317, align 4, !tbaa !5
  %6414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6415 = call i32 @s2n_print_stacktrace(ptr noundef %6414) #12
  %6416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6417 = trunc nuw i8 %6416 to i1
  br i1 %6417, label %6418, label %6422

6418:                                             ; preds = %6412
  %6419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6420 = call i32 @fileno(ptr noundef %6419) #12
  %6421 = call i32 @isatty(i32 noundef %6420) #12
  %.not2003 = icmp eq i32 %6421, 0
  br i1 %.not2003, label %6422, label %6423

6422:                                             ; preds = %6418, %6412
  br label %6423

6423:                                             ; preds = %6418, %6422
  %.str.26.sink4214 = phi ptr [ @.str.26, %6422 ], [ @.str.23, %6418 ]
  store i32 %6413, ptr %1317, align 4, !tbaa !5
  %6424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6425 = load i32, ptr @test_count, align 4, !tbaa !5
  %6426 = load i32, ptr %1263, align 4, !tbaa !5
  %6427 = call ptr @s2n_strerror(i32 noundef %6426, ptr noundef nonnull @.str.25) #12
  %6428 = load i32, ptr %1263, align 4, !tbaa !5
  %6429 = call ptr @s2n_strerror_debug(i32 noundef %6428, ptr noundef nonnull @.str.25) #12
  %6430 = load i32, ptr %1317, align 4, !tbaa !5
  %6431 = call ptr @strerror(i32 noundef %6430) #12
  %6432 = load i32, ptr %1317, align 4, !tbaa !5
  %6433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6424, ptr noundef nonnull %.str.26.sink4214, i32 noundef %6425, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.22, i32 noundef 789, ptr noundef %6427, ptr noundef %6429, ptr noundef %6431, i32 noundef %6432) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6434:                                             ; preds = %6405
  %6435 = load i32, ptr @test_count, align 4, !tbaa !5
  %6436 = add nsw i32 %6435, 1
  store i32 %6436, ptr @test_count, align 4, !tbaa !5
  %6437 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %6379, i32 noundef 17) #12
  %6438 = icmp eq i32 %6437, -1
  br i1 %6438, label %6439, label %6461

6439:                                             ; preds = %6434
  %6440 = load i32, ptr %1317, align 4, !tbaa !5
  %6441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6442 = call i32 @s2n_print_stacktrace(ptr noundef %6441) #12
  %6443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6444 = trunc nuw i8 %6443 to i1
  br i1 %6444, label %6445, label %6449

6445:                                             ; preds = %6439
  %6446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6447 = call i32 @fileno(ptr noundef %6446) #12
  %6448 = call i32 @isatty(i32 noundef %6447) #12
  %.not2002 = icmp eq i32 %6448, 0
  br i1 %.not2002, label %6449, label %6450

6449:                                             ; preds = %6445, %6439
  br label %6450

6450:                                             ; preds = %6445, %6449
  %.str.26.sink4223 = phi ptr [ @.str.26, %6449 ], [ @.str.23, %6445 ]
  store i32 %6440, ptr %1317, align 4, !tbaa !5
  %6451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6452 = load i32, ptr @test_count, align 4, !tbaa !5
  %6453 = load i32, ptr %1263, align 4, !tbaa !5
  %6454 = call ptr @s2n_strerror(i32 noundef %6453, ptr noundef nonnull @.str.25) #12
  %6455 = load i32, ptr %1263, align 4, !tbaa !5
  %6456 = call ptr @s2n_strerror_debug(i32 noundef %6455, ptr noundef nonnull @.str.25) #12
  %6457 = load i32, ptr %1317, align 4, !tbaa !5
  %6458 = call ptr @strerror(i32 noundef %6457) #12
  %6459 = load i32, ptr %1317, align 4, !tbaa !5
  %6460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6451, ptr noundef nonnull %.str.26.sink4223, i32 noundef %6452, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.22, i32 noundef 790, ptr noundef %6454, ptr noundef %6456, ptr noundef %6458, i32 noundef %6459) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6461:                                             ; preds = %6434
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %56) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %56, i8 0, i64 40, i1 false)
  %6462 = load i32, ptr @test_count, align 4, !tbaa !5
  %6463 = add nsw i32 %6462, 1
  store i32 %6463, ptr @test_count, align 4, !tbaa !5
  %6464 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %56, i32 noundef 0) #12
  %6465 = icmp eq i32 %6464, -1
  br i1 %6465, label %6466, label %6488

6466:                                             ; preds = %6461
  %6467 = load i32, ptr %1317, align 4, !tbaa !5
  %6468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6469 = call i32 @s2n_print_stacktrace(ptr noundef %6468) #12
  %6470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6471 = trunc nuw i8 %6470 to i1
  br i1 %6471, label %6472, label %6476

6472:                                             ; preds = %6466
  %6473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6474 = call i32 @fileno(ptr noundef %6473) #12
  %6475 = call i32 @isatty(i32 noundef %6474) #12
  %.not2001 = icmp eq i32 %6475, 0
  br i1 %.not2001, label %6476, label %6477

6476:                                             ; preds = %6472, %6466
  br label %6477

6477:                                             ; preds = %6472, %6476
  %.str.26.sink4232 = phi ptr [ @.str.26, %6476 ], [ @.str.23, %6472 ]
  store i32 %6467, ptr %1317, align 4, !tbaa !5
  %6478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6479 = load i32, ptr @test_count, align 4, !tbaa !5
  %6480 = load i32, ptr %1263, align 4, !tbaa !5
  %6481 = call ptr @s2n_strerror(i32 noundef %6480, ptr noundef nonnull @.str.25) #12
  %6482 = load i32, ptr %1263, align 4, !tbaa !5
  %6483 = call ptr @s2n_strerror_debug(i32 noundef %6482, ptr noundef nonnull @.str.25) #12
  %6484 = load i32, ptr %1317, align 4, !tbaa !5
  %6485 = call ptr @strerror(i32 noundef %6484) #12
  %6486 = load i32, ptr %1317, align 4, !tbaa !5
  %6487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6478, ptr noundef nonnull %.str.26.sink4232, i32 noundef %6479, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 793, ptr noundef %6481, ptr noundef %6483, ptr noundef %6485, i32 noundef %6486) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6488:                                             ; preds = %6461
  %6489 = load i32, ptr @test_count, align 4, !tbaa !5
  %6490 = add nsw i32 %6489, 1
  store i32 %6490, ptr @test_count, align 4, !tbaa !5
  %6491 = getelementptr inbounds i8, ptr %6323, i64 4092
  %6492 = load i32, ptr %6491, align 4, !tbaa !72
  %6493 = icmp eq i32 %6492, 0
  br i1 %6493, label %6516, label %6494

6494:                                             ; preds = %6488
  %6495 = load i32, ptr %1317, align 4, !tbaa !5
  %6496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6497 = call i32 @s2n_print_stacktrace(ptr noundef %6496) #12
  %6498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6499 = trunc nuw i8 %6498 to i1
  br i1 %6499, label %6500, label %6504

6500:                                             ; preds = %6494
  %6501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6502 = call i32 @fileno(ptr noundef %6501) #12
  %6503 = call i32 @isatty(i32 noundef %6502) #12
  %.not1689 = icmp eq i32 %6503, 0
  br i1 %.not1689, label %6504, label %6505

6504:                                             ; preds = %6500, %6494
  br label %6505

6505:                                             ; preds = %6500, %6504
  %.str.26.sink4241 = phi ptr [ @.str.26, %6504 ], [ @.str.23, %6500 ]
  store i32 %6495, ptr %1317, align 4, !tbaa !5
  %6506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6507 = load i32, ptr @test_count, align 4, !tbaa !5
  %6508 = load i32, ptr %1263, align 4, !tbaa !5
  %6509 = call ptr @s2n_strerror(i32 noundef %6508, ptr noundef nonnull @.str.25) #12
  %6510 = load i32, ptr %1263, align 4, !tbaa !5
  %6511 = call ptr @s2n_strerror_debug(i32 noundef %6510, ptr noundef nonnull @.str.25) #12
  %6512 = load i32, ptr %1317, align 4, !tbaa !5
  %6513 = call ptr @strerror(i32 noundef %6512) #12
  %6514 = load i32, ptr %1317, align 4, !tbaa !5
  %6515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6506, ptr noundef nonnull %.str.26.sink4241, i32 noundef %6507, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.22, i32 noundef 795, ptr noundef %6509, ptr noundef %6511, ptr noundef %6513, i32 noundef %6514) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6516:                                             ; preds = %6488
  %6517 = add nsw i32 %6489, 2
  store i32 %6517, ptr @test_count, align 4, !tbaa !5
  %6518 = call i32 @s2n_tls13_server_nst_write(ptr noundef nonnull %6379, ptr noundef nonnull %56)
  %6519 = call zeroext i1 @s2n_result_is_ok(i32 %6518)
  br i1 %6519, label %6542, label %6520

6520:                                             ; preds = %6516
  %6521 = load i32, ptr %1317, align 4, !tbaa !5
  %6522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6523 = call i32 @s2n_print_stacktrace(ptr noundef %6522) #12
  %6524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6525 = trunc nuw i8 %6524 to i1
  br i1 %6525, label %6526, label %6530

6526:                                             ; preds = %6520
  %6527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6528 = call i32 @fileno(ptr noundef %6527) #12
  %6529 = call i32 @isatty(i32 noundef %6528) #12
  %.not1690 = icmp eq i32 %6529, 0
  br i1 %.not1690, label %6530, label %6531

6530:                                             ; preds = %6526, %6520
  br label %6531

6531:                                             ; preds = %6526, %6530
  %.str.26.sink4250 = phi ptr [ @.str.26, %6530 ], [ @.str.23, %6526 ]
  store i32 %6521, ptr %1317, align 4, !tbaa !5
  %6532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6533 = load i32, ptr @test_count, align 4, !tbaa !5
  %6534 = load i32, ptr %1263, align 4, !tbaa !5
  %6535 = call ptr @s2n_strerror(i32 noundef %6534, ptr noundef nonnull @.str.25) #12
  %6536 = load i32, ptr %1263, align 4, !tbaa !5
  %6537 = call ptr @s2n_strerror_debug(i32 noundef %6536, ptr noundef nonnull @.str.25) #12
  %6538 = load i32, ptr %1317, align 4, !tbaa !5
  %6539 = call ptr @strerror(i32 noundef %6538) #12
  %6540 = load i32, ptr %1317, align 4, !tbaa !5
  %6541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6532, ptr noundef nonnull %.str.26.sink4250, i32 noundef %6533, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.22, i32 noundef 796, ptr noundef %6535, ptr noundef %6537, ptr noundef %6539, i32 noundef %6540) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6542:                                             ; preds = %6516
  %6543 = load i32, ptr @test_count, align 4, !tbaa !5
  %6544 = add nsw i32 %6543, 1
  store i32 %6544, ptr @test_count, align 4, !tbaa !5
  %6545 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %56, i32 noundef 4) #12
  %6546 = icmp eq i32 %6545, -1
  br i1 %6546, label %6547, label %6569

6547:                                             ; preds = %6542
  %6548 = load i32, ptr %1317, align 4, !tbaa !5
  %6549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6550 = call i32 @s2n_print_stacktrace(ptr noundef %6549) #12
  %6551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6552 = trunc nuw i8 %6551 to i1
  br i1 %6552, label %6553, label %6557

6553:                                             ; preds = %6547
  %6554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6555 = call i32 @fileno(ptr noundef %6554) #12
  %6556 = call i32 @isatty(i32 noundef %6555) #12
  %.not2000 = icmp eq i32 %6556, 0
  br i1 %.not2000, label %6557, label %6558

6557:                                             ; preds = %6553, %6547
  br label %6558

6558:                                             ; preds = %6553, %6557
  %.str.26.sink4259 = phi ptr [ @.str.26, %6557 ], [ @.str.23, %6553 ]
  store i32 %6548, ptr %1317, align 4, !tbaa !5
  %6559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6560 = load i32, ptr @test_count, align 4, !tbaa !5
  %6561 = load i32, ptr %1263, align 4, !tbaa !5
  %6562 = call ptr @s2n_strerror(i32 noundef %6561, ptr noundef nonnull @.str.25) #12
  %6563 = load i32, ptr %1263, align 4, !tbaa !5
  %6564 = call ptr @s2n_strerror_debug(i32 noundef %6563, ptr noundef nonnull @.str.25) #12
  %6565 = load i32, ptr %1317, align 4, !tbaa !5
  %6566 = call ptr @strerror(i32 noundef %6565) #12
  %6567 = load i32, ptr %1317, align 4, !tbaa !5
  %6568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6559, ptr noundef nonnull %.str.26.sink4259, i32 noundef %6560, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.22, i32 noundef 797, ptr noundef %6562, ptr noundef %6564, ptr noundef %6566, i32 noundef %6567) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6569:                                             ; preds = %6542
  %6570 = load i32, ptr @test_count, align 4, !tbaa !5
  %6571 = add nsw i32 %6570, 1
  store i32 %6571, ptr @test_count, align 4, !tbaa !5
  %6572 = call i32 @s2n_tls13_server_nst_recv(ptr noundef nonnull %6323, ptr noundef nonnull %56)
  %6573 = call zeroext i1 @s2n_result_is_ok(i32 %6572)
  br i1 %6573, label %6596, label %6574

6574:                                             ; preds = %6569
  %6575 = load i32, ptr %1317, align 4, !tbaa !5
  %6576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6577 = call i32 @s2n_print_stacktrace(ptr noundef %6576) #12
  %6578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6579 = trunc nuw i8 %6578 to i1
  br i1 %6579, label %6580, label %6584

6580:                                             ; preds = %6574
  %6581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6582 = call i32 @fileno(ptr noundef %6581) #12
  %6583 = call i32 @isatty(i32 noundef %6582) #12
  %.not1691 = icmp eq i32 %6583, 0
  br i1 %.not1691, label %6584, label %6585

6584:                                             ; preds = %6580, %6574
  br label %6585

6585:                                             ; preds = %6580, %6584
  %.str.26.sink4268 = phi ptr [ @.str.26, %6584 ], [ @.str.23, %6580 ]
  store i32 %6575, ptr %1317, align 4, !tbaa !5
  %6586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6587 = load i32, ptr @test_count, align 4, !tbaa !5
  %6588 = load i32, ptr %1263, align 4, !tbaa !5
  %6589 = call ptr @s2n_strerror(i32 noundef %6588, ptr noundef nonnull @.str.25) #12
  %6590 = load i32, ptr %1263, align 4, !tbaa !5
  %6591 = call ptr @s2n_strerror_debug(i32 noundef %6590, ptr noundef nonnull @.str.25) #12
  %6592 = load i32, ptr %1317, align 4, !tbaa !5
  %6593 = call ptr @strerror(i32 noundef %6592) #12
  %6594 = load i32, ptr %1317, align 4, !tbaa !5
  %6595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6586, ptr noundef nonnull %.str.26.sink4268, i32 noundef %6587, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.22, i32 noundef 798, ptr noundef %6589, ptr noundef %6591, ptr noundef %6593, i32 noundef %6594) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6596:                                             ; preds = %6569
  %6597 = load i32, ptr @test_count, align 4, !tbaa !5
  %6598 = add nsw i32 %6597, 1
  store i32 %6598, ptr @test_count, align 4, !tbaa !5
  %6599 = load i32, ptr %6491, align 4, !tbaa !72
  %6600 = icmp eq i32 %6599, 17
  br i1 %6600, label %6623, label %6601

6601:                                             ; preds = %6596
  %6602 = load i32, ptr %1317, align 4, !tbaa !5
  %6603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6604 = call i32 @s2n_print_stacktrace(ptr noundef %6603) #12
  %6605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6606 = trunc nuw i8 %6605 to i1
  br i1 %6606, label %6607, label %6611

6607:                                             ; preds = %6601
  %6608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6609 = call i32 @fileno(ptr noundef %6608) #12
  %6610 = call i32 @isatty(i32 noundef %6609) #12
  %.not1692 = icmp eq i32 %6610, 0
  br i1 %.not1692, label %6611, label %6612

6611:                                             ; preds = %6607, %6601
  br label %6612

6612:                                             ; preds = %6607, %6611
  %.str.26.sink4277 = phi ptr [ @.str.26, %6611 ], [ @.str.23, %6607 ]
  store i32 %6602, ptr %1317, align 4, !tbaa !5
  %6613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6614 = load i32, ptr @test_count, align 4, !tbaa !5
  %6615 = load i32, ptr %1263, align 4, !tbaa !5
  %6616 = call ptr @s2n_strerror(i32 noundef %6615, ptr noundef nonnull @.str.25) #12
  %6617 = load i32, ptr %1263, align 4, !tbaa !5
  %6618 = call ptr @s2n_strerror_debug(i32 noundef %6617, ptr noundef nonnull @.str.25) #12
  %6619 = load i32, ptr %1317, align 4, !tbaa !5
  %6620 = call ptr @strerror(i32 noundef %6619) #12
  %6621 = load i32, ptr %1317, align 4, !tbaa !5
  %6622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6613, ptr noundef nonnull %.str.26.sink4277, i32 noundef %6614, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.22, i32 noundef 799, ptr noundef %6616, ptr noundef %6618, ptr noundef %6620, i32 noundef %6621) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6623:                                             ; preds = %6596
  %6624 = add nsw i32 %6597, 2
  store i32 %6624, ptr @test_count, align 4, !tbaa !5
  %6625 = call i32 @s2n_connection_free(ptr noundef nonnull %6323) #12
  %6626 = icmp eq i32 %6625, -1
  br i1 %6626, label %6627, label %6649

6627:                                             ; preds = %6623
  %6628 = load i32, ptr %1317, align 4, !tbaa !5
  %6629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6630 = call i32 @s2n_print_stacktrace(ptr noundef %6629) #12
  %6631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6632 = trunc nuw i8 %6631 to i1
  br i1 %6632, label %6633, label %6637

6633:                                             ; preds = %6627
  %6634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6635 = call i32 @fileno(ptr noundef %6634) #12
  %6636 = call i32 @isatty(i32 noundef %6635) #12
  %.not1999 = icmp eq i32 %6636, 0
  br i1 %.not1999, label %6637, label %6638

6637:                                             ; preds = %6633, %6627
  br label %6638

6638:                                             ; preds = %6633, %6637
  %.str.26.sink4286 = phi ptr [ @.str.26, %6637 ], [ @.str.23, %6633 ]
  store i32 %6628, ptr %1317, align 4, !tbaa !5
  %6639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6640 = load i32, ptr @test_count, align 4, !tbaa !5
  %6641 = load i32, ptr %1263, align 4, !tbaa !5
  %6642 = call ptr @s2n_strerror(i32 noundef %6641, ptr noundef nonnull @.str.25) #12
  %6643 = load i32, ptr %1263, align 4, !tbaa !5
  %6644 = call ptr @s2n_strerror_debug(i32 noundef %6643, ptr noundef nonnull @.str.25) #12
  %6645 = load i32, ptr %1317, align 4, !tbaa !5
  %6646 = call ptr @strerror(i32 noundef %6645) #12
  %6647 = load i32, ptr %1317, align 4, !tbaa !5
  %6648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6639, ptr noundef nonnull %.str.26.sink4286, i32 noundef %6640, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.22, i32 noundef 801, ptr noundef %6642, ptr noundef %6644, ptr noundef %6646, i32 noundef %6647) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6649:                                             ; preds = %6623
  %6650 = load i32, ptr @test_count, align 4, !tbaa !5
  %6651 = add nsw i32 %6650, 1
  store i32 %6651, ptr @test_count, align 4, !tbaa !5
  %6652 = call i32 @s2n_connection_free(ptr noundef nonnull %6379) #12
  %6653 = icmp eq i32 %6652, -1
  br i1 %6653, label %6654, label %6676

6654:                                             ; preds = %6649
  %6655 = load i32, ptr %1317, align 4, !tbaa !5
  %6656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6657 = call i32 @s2n_print_stacktrace(ptr noundef %6656) #12
  %6658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6659 = trunc nuw i8 %6658 to i1
  br i1 %6659, label %6660, label %6664

6660:                                             ; preds = %6654
  %6661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6662 = call i32 @fileno(ptr noundef %6661) #12
  %6663 = call i32 @isatty(i32 noundef %6662) #12
  %.not1998 = icmp eq i32 %6663, 0
  br i1 %.not1998, label %6664, label %6665

6664:                                             ; preds = %6660, %6654
  br label %6665

6665:                                             ; preds = %6660, %6664
  %.str.26.sink4295 = phi ptr [ @.str.26, %6664 ], [ @.str.23, %6660 ]
  store i32 %6655, ptr %1317, align 4, !tbaa !5
  %6666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6667 = load i32, ptr @test_count, align 4, !tbaa !5
  %6668 = load i32, ptr %1263, align 4, !tbaa !5
  %6669 = call ptr @s2n_strerror(i32 noundef %6668, ptr noundef nonnull @.str.25) #12
  %6670 = load i32, ptr %1263, align 4, !tbaa !5
  %6671 = call ptr @s2n_strerror_debug(i32 noundef %6670, ptr noundef nonnull @.str.25) #12
  %6672 = load i32, ptr %1317, align 4, !tbaa !5
  %6673 = call ptr @strerror(i32 noundef %6672) #12
  %6674 = load i32, ptr %1317, align 4, !tbaa !5
  %6675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6666, ptr noundef nonnull %.str.26.sink4295, i32 noundef %6667, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.22, i32 noundef 802, ptr noundef %6669, ptr noundef %6671, ptr noundef %6673, i32 noundef %6674) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6676:                                             ; preds = %6649
  %6677 = load i32, ptr @test_count, align 4, !tbaa !5
  %6678 = add nsw i32 %6677, 1
  store i32 %6678, ptr @test_count, align 4, !tbaa !5
  %6679 = call i32 @s2n_stuffer_free(ptr noundef nonnull %56) #12
  %6680 = icmp eq i32 %6679, -1
  br i1 %6680, label %6681, label %6703

6681:                                             ; preds = %6676
  %6682 = load i32, ptr %1317, align 4, !tbaa !5
  %6683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6684 = call i32 @s2n_print_stacktrace(ptr noundef %6683) #12
  %6685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6686 = trunc nuw i8 %6685 to i1
  br i1 %6686, label %6687, label %6691

6687:                                             ; preds = %6681
  %6688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6689 = call i32 @fileno(ptr noundef %6688) #12
  %6690 = call i32 @isatty(i32 noundef %6689) #12
  %.not1997 = icmp eq i32 %6690, 0
  br i1 %.not1997, label %6691, label %6692

6691:                                             ; preds = %6687, %6681
  br label %6692

6692:                                             ; preds = %6687, %6691
  %.str.26.sink4304 = phi ptr [ @.str.26, %6691 ], [ @.str.23, %6687 ]
  store i32 %6682, ptr %1317, align 4, !tbaa !5
  %6693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6694 = load i32, ptr @test_count, align 4, !tbaa !5
  %6695 = load i32, ptr %1263, align 4, !tbaa !5
  %6696 = call ptr @s2n_strerror(i32 noundef %6695, ptr noundef nonnull @.str.25) #12
  %6697 = load i32, ptr %1263, align 4, !tbaa !5
  %6698 = call ptr @s2n_strerror_debug(i32 noundef %6697, ptr noundef nonnull @.str.25) #12
  %6699 = load i32, ptr %1317, align 4, !tbaa !5
  %6700 = call ptr @strerror(i32 noundef %6699) #12
  %6701 = load i32, ptr %1317, align 4, !tbaa !5
  %6702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6693, ptr noundef nonnull %.str.26.sink4304, i32 noundef %6694, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.22, i32 noundef 803, ptr noundef %6696, ptr noundef %6698, ptr noundef %6700, i32 noundef %6701) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6703:                                             ; preds = %6676
  %6704 = load i32, ptr @test_count, align 4, !tbaa !5
  %6705 = add nsw i32 %6704, 1
  store i32 %6705, ptr @test_count, align 4, !tbaa !5
  %6706 = call i32 @s2n_config_free(ptr noundef nonnull %6216) #12
  %6707 = icmp eq i32 %6706, -1
  br i1 %6707, label %6708, label %6730

6708:                                             ; preds = %6703
  %6709 = load i32, ptr %1317, align 4, !tbaa !5
  %6710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6711 = call i32 @s2n_print_stacktrace(ptr noundef %6710) #12
  %6712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6713 = trunc nuw i8 %6712 to i1
  br i1 %6713, label %6714, label %6718

6714:                                             ; preds = %6708
  %6715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6716 = call i32 @fileno(ptr noundef %6715) #12
  %6717 = call i32 @isatty(i32 noundef %6716) #12
  %.not1996 = icmp eq i32 %6717, 0
  br i1 %.not1996, label %6718, label %6719

6718:                                             ; preds = %6714, %6708
  br label %6719

6719:                                             ; preds = %6714, %6718
  %.str.26.sink4313 = phi ptr [ @.str.26, %6718 ], [ @.str.23, %6714 ]
  store i32 %6709, ptr %1317, align 4, !tbaa !5
  %6720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6721 = load i32, ptr @test_count, align 4, !tbaa !5
  %6722 = load i32, ptr %1263, align 4, !tbaa !5
  %6723 = call ptr @s2n_strerror(i32 noundef %6722, ptr noundef nonnull @.str.25) #12
  %6724 = load i32, ptr %1263, align 4, !tbaa !5
  %6725 = call ptr @s2n_strerror_debug(i32 noundef %6724, ptr noundef nonnull @.str.25) #12
  %6726 = load i32, ptr %1317, align 4, !tbaa !5
  %6727 = call ptr @strerror(i32 noundef %6726) #12
  %6728 = load i32, ptr %1317, align 4, !tbaa !5
  %6729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6720, ptr noundef nonnull %.str.26.sink4313, i32 noundef %6721, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 804, ptr noundef %6723, ptr noundef %6725, ptr noundef %6727, i32 noundef %6728) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6730:                                             ; preds = %6703
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %56) #12
  %6731 = call ptr @s2n_config_new() #12
  %6732 = load i32, ptr @test_count, align 4, !tbaa !5
  %6733 = add nsw i32 %6732, 1
  store i32 %6733, ptr @test_count, align 4, !tbaa !5
  %6734 = icmp eq ptr %6731, null
  br i1 %6734, label %6735, label %6757

6735:                                             ; preds = %6730
  %6736 = load i32, ptr %1317, align 4, !tbaa !5
  %6737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6738 = call i32 @s2n_print_stacktrace(ptr noundef %6737) #12
  %6739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6740 = trunc nuw i8 %6739 to i1
  br i1 %6740, label %6741, label %6745

6741:                                             ; preds = %6735
  %6742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6743 = call i32 @fileno(ptr noundef %6742) #12
  %6744 = call i32 @isatty(i32 noundef %6743) #12
  %.not1995 = icmp eq i32 %6744, 0
  br i1 %.not1995, label %6745, label %6746

6745:                                             ; preds = %6741, %6735
  br label %6746

6746:                                             ; preds = %6741, %6745
  %.str.26.sink4322 = phi ptr [ @.str.26, %6745 ], [ @.str.23, %6741 ]
  store i32 %6736, ptr %1317, align 4, !tbaa !5
  %6747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6748 = load i32, ptr @test_count, align 4, !tbaa !5
  %6749 = load i32, ptr %1263, align 4, !tbaa !5
  %6750 = call ptr @s2n_strerror(i32 noundef %6749, ptr noundef nonnull @.str.25) #12
  %6751 = load i32, ptr %1263, align 4, !tbaa !5
  %6752 = call ptr @s2n_strerror_debug(i32 noundef %6751, ptr noundef nonnull @.str.25) #12
  %6753 = load i32, ptr %1317, align 4, !tbaa !5
  %6754 = call ptr @strerror(i32 noundef %6753) #12
  %6755 = load i32, ptr %1317, align 4, !tbaa !5
  %6756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6747, ptr noundef nonnull %.str.26.sink4322, i32 noundef %6748, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 812, ptr noundef %6750, ptr noundef %6752, ptr noundef %6754, i32 noundef %6755) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6757:                                             ; preds = %6730
  %6758 = add nsw i32 %6732, 2
  store i32 %6758, ptr @test_count, align 4, !tbaa !5
  %6759 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %6731, i8 noundef zeroext 1) #12
  %6760 = icmp eq i32 %6759, -1
  br i1 %6760, label %6761, label %6783

6761:                                             ; preds = %6757
  %6762 = load i32, ptr %1317, align 4, !tbaa !5
  %6763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6764 = call i32 @s2n_print_stacktrace(ptr noundef %6763) #12
  %6765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6766 = trunc nuw i8 %6765 to i1
  br i1 %6766, label %6767, label %6771

6767:                                             ; preds = %6761
  %6768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6769 = call i32 @fileno(ptr noundef %6768) #12
  %6770 = call i32 @isatty(i32 noundef %6769) #12
  %.not1994 = icmp eq i32 %6770, 0
  br i1 %.not1994, label %6771, label %6772

6771:                                             ; preds = %6767, %6761
  br label %6772

6772:                                             ; preds = %6767, %6771
  %.str.26.sink4331 = phi ptr [ @.str.26, %6771 ], [ @.str.23, %6767 ]
  store i32 %6762, ptr %1317, align 4, !tbaa !5
  %6773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6774 = load i32, ptr @test_count, align 4, !tbaa !5
  %6775 = load i32, ptr %1263, align 4, !tbaa !5
  %6776 = call ptr @s2n_strerror(i32 noundef %6775, ptr noundef nonnull @.str.25) #12
  %6777 = load i32, ptr %1263, align 4, !tbaa !5
  %6778 = call ptr @s2n_strerror_debug(i32 noundef %6777, ptr noundef nonnull @.str.25) #12
  %6779 = load i32, ptr %1317, align 4, !tbaa !5
  %6780 = call ptr @strerror(i32 noundef %6779) #12
  %6781 = load i32, ptr %1317, align 4, !tbaa !5
  %6782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6773, ptr noundef nonnull %.str.26.sink4331, i32 noundef %6774, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.22, i32 noundef 813, ptr noundef %6776, ptr noundef %6778, ptr noundef %6780, i32 noundef %6781) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6783:                                             ; preds = %6757
  %6784 = load i32, ptr @test_count, align 4, !tbaa !5
  %6785 = add nsw i32 %6784, 1
  store i32 %6785, ptr @test_count, align 4, !tbaa !5
  %6786 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef nonnull %6731, ptr noundef nonnull @s2n_test_session_ticket_cb, ptr noundef null) #12
  %6787 = icmp eq i32 %6786, -1
  br i1 %6787, label %6788, label %6810

6788:                                             ; preds = %6783
  %6789 = load i32, ptr %1317, align 4, !tbaa !5
  %6790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6791 = call i32 @s2n_print_stacktrace(ptr noundef %6790) #12
  %6792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6793 = trunc nuw i8 %6792 to i1
  br i1 %6793, label %6794, label %6798

6794:                                             ; preds = %6788
  %6795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6796 = call i32 @fileno(ptr noundef %6795) #12
  %6797 = call i32 @isatty(i32 noundef %6796) #12
  %.not1993 = icmp eq i32 %6797, 0
  br i1 %.not1993, label %6798, label %6799

6798:                                             ; preds = %6794, %6788
  br label %6799

6799:                                             ; preds = %6794, %6798
  %.str.26.sink4340 = phi ptr [ @.str.26, %6798 ], [ @.str.23, %6794 ]
  store i32 %6789, ptr %1317, align 4, !tbaa !5
  %6800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6801 = load i32, ptr @test_count, align 4, !tbaa !5
  %6802 = load i32, ptr %1263, align 4, !tbaa !5
  %6803 = call ptr @s2n_strerror(i32 noundef %6802, ptr noundef nonnull @.str.25) #12
  %6804 = load i32, ptr %1263, align 4, !tbaa !5
  %6805 = call ptr @s2n_strerror_debug(i32 noundef %6804, ptr noundef nonnull @.str.25) #12
  %6806 = load i32, ptr %1317, align 4, !tbaa !5
  %6807 = call ptr @strerror(i32 noundef %6806) #12
  %6808 = load i32, ptr %1317, align 4, !tbaa !5
  %6809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6800, ptr noundef nonnull %.str.26.sink4340, i32 noundef %6801, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.22, i32 noundef 814, ptr noundef %6803, ptr noundef %6805, ptr noundef %6807, i32 noundef %6808) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6810:                                             ; preds = %6783
  %6811 = load i32, ptr @test_count, align 4, !tbaa !5
  %6812 = add nsw i32 %6811, 1
  store i32 %6812, ptr @test_count, align 4, !tbaa !5
  %6813 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %6731) #12
  %6814 = call zeroext i1 @s2n_result_is_ok(i32 %6813)
  br i1 %6814, label %6837, label %6815

6815:                                             ; preds = %6810
  %6816 = load i32, ptr %1317, align 4, !tbaa !5
  %6817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6818 = call i32 @s2n_print_stacktrace(ptr noundef %6817) #12
  %6819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6820 = trunc nuw i8 %6819 to i1
  br i1 %6820, label %6821, label %6825

6821:                                             ; preds = %6815
  %6822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6823 = call i32 @fileno(ptr noundef %6822) #12
  %6824 = call i32 @isatty(i32 noundef %6823) #12
  %.not1693 = icmp eq i32 %6824, 0
  br i1 %.not1693, label %6825, label %6826

6825:                                             ; preds = %6821, %6815
  br label %6826

6826:                                             ; preds = %6821, %6825
  %.str.26.sink4349 = phi ptr [ @.str.26, %6825 ], [ @.str.23, %6821 ]
  store i32 %6816, ptr %1317, align 4, !tbaa !5
  %6827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6828 = load i32, ptr @test_count, align 4, !tbaa !5
  %6829 = load i32, ptr %1263, align 4, !tbaa !5
  %6830 = call ptr @s2n_strerror(i32 noundef %6829, ptr noundef nonnull @.str.25) #12
  %6831 = load i32, ptr %1263, align 4, !tbaa !5
  %6832 = call ptr @s2n_strerror_debug(i32 noundef %6831, ptr noundef nonnull @.str.25) #12
  %6833 = load i32, ptr %1317, align 4, !tbaa !5
  %6834 = call ptr @strerror(i32 noundef %6833) #12
  %6835 = load i32, ptr %1317, align 4, !tbaa !5
  %6836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6827, ptr noundef nonnull %.str.26.sink4349, i32 noundef %6828, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 815, ptr noundef %6830, ptr noundef %6832, ptr noundef %6834, i32 noundef %6835) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6837:                                             ; preds = %6810
  %6838 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6839 = load i32, ptr @test_count, align 4, !tbaa !5
  %6840 = add nsw i32 %6839, 1
  store i32 %6840, ptr @test_count, align 4, !tbaa !5
  %6841 = icmp eq ptr %6838, null
  br i1 %6841, label %6842, label %6864

6842:                                             ; preds = %6837
  %6843 = load i32, ptr %1317, align 4, !tbaa !5
  %6844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6845 = call i32 @s2n_print_stacktrace(ptr noundef %6844) #12
  %6846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6847 = trunc nuw i8 %6846 to i1
  br i1 %6847, label %6848, label %6852

6848:                                             ; preds = %6842
  %6849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6850 = call i32 @fileno(ptr noundef %6849) #12
  %6851 = call i32 @isatty(i32 noundef %6850) #12
  %.not1992 = icmp eq i32 %6851, 0
  br i1 %.not1992, label %6852, label %6853

6852:                                             ; preds = %6848, %6842
  br label %6853

6853:                                             ; preds = %6848, %6852
  %.str.26.sink4358 = phi ptr [ @.str.26, %6852 ], [ @.str.23, %6848 ]
  store i32 %6843, ptr %1317, align 4, !tbaa !5
  %6854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6855 = load i32, ptr @test_count, align 4, !tbaa !5
  %6856 = load i32, ptr %1263, align 4, !tbaa !5
  %6857 = call ptr @s2n_strerror(i32 noundef %6856, ptr noundef nonnull @.str.25) #12
  %6858 = load i32, ptr %1263, align 4, !tbaa !5
  %6859 = call ptr @s2n_strerror_debug(i32 noundef %6858, ptr noundef nonnull @.str.25) #12
  %6860 = load i32, ptr %1317, align 4, !tbaa !5
  %6861 = call ptr @strerror(i32 noundef %6860) #12
  %6862 = load i32, ptr %1317, align 4, !tbaa !5
  %6863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6854, ptr noundef nonnull %.str.26.sink4358, i32 noundef %6855, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.22, i32 noundef 818, ptr noundef %6857, ptr noundef %6859, ptr noundef %6861, i32 noundef %6862) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6864:                                             ; preds = %6837
  %6865 = getelementptr inbounds i8, ptr %6838, i64 220
  store i8 34, ptr %6865, align 4, !tbaa !17
  %6866 = getelementptr inbounds i8, ptr %6838, i64 232
  %6867 = load ptr, ptr %6866, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %6867, align 8, !tbaa !44
  %6868 = add nsw i32 %6839, 2
  store i32 %6868, ptr @test_count, align 4, !tbaa !5
  %6869 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6838, ptr noundef nonnull %6731) #12
  %6870 = icmp eq i32 %6869, -1
  br i1 %6870, label %6871, label %6893

6871:                                             ; preds = %6864
  %6872 = load i32, ptr %1317, align 4, !tbaa !5
  %6873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6874 = call i32 @s2n_print_stacktrace(ptr noundef %6873) #12
  %6875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6876 = trunc nuw i8 %6875 to i1
  br i1 %6876, label %6877, label %6881

6877:                                             ; preds = %6871
  %6878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6879 = call i32 @fileno(ptr noundef %6878) #12
  %6880 = call i32 @isatty(i32 noundef %6879) #12
  %.not1991 = icmp eq i32 %6880, 0
  br i1 %.not1991, label %6881, label %6882

6881:                                             ; preds = %6877, %6871
  br label %6882

6882:                                             ; preds = %6877, %6881
  %.str.26.sink4367 = phi ptr [ @.str.26, %6881 ], [ @.str.23, %6877 ]
  store i32 %6872, ptr %1317, align 4, !tbaa !5
  %6883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6884 = load i32, ptr @test_count, align 4, !tbaa !5
  %6885 = load i32, ptr %1263, align 4, !tbaa !5
  %6886 = call ptr @s2n_strerror(i32 noundef %6885, ptr noundef nonnull @.str.25) #12
  %6887 = load i32, ptr %1263, align 4, !tbaa !5
  %6888 = call ptr @s2n_strerror_debug(i32 noundef %6887, ptr noundef nonnull @.str.25) #12
  %6889 = load i32, ptr %1317, align 4, !tbaa !5
  %6890 = call ptr @strerror(i32 noundef %6889) #12
  %6891 = load i32, ptr %1317, align 4, !tbaa !5
  %6892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6883, ptr noundef nonnull %.str.26.sink4367, i32 noundef %6884, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.22, i32 noundef 821, ptr noundef %6886, ptr noundef %6888, ptr noundef %6890, i32 noundef %6891) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6893:                                             ; preds = %6864
  %6894 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %6895 = load i32, ptr @test_count, align 4, !tbaa !5
  %6896 = add nsw i32 %6895, 1
  store i32 %6896, ptr @test_count, align 4, !tbaa !5
  %6897 = icmp eq ptr %6894, null
  br i1 %6897, label %6898, label %6920

6898:                                             ; preds = %6893
  %6899 = load i32, ptr %1317, align 4, !tbaa !5
  %6900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6901 = call i32 @s2n_print_stacktrace(ptr noundef %6900) #12
  %6902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6903 = trunc nuw i8 %6902 to i1
  br i1 %6903, label %6904, label %6908

6904:                                             ; preds = %6898
  %6905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6906 = call i32 @fileno(ptr noundef %6905) #12
  %6907 = call i32 @isatty(i32 noundef %6906) #12
  %.not1990 = icmp eq i32 %6907, 0
  br i1 %.not1990, label %6908, label %6909

6908:                                             ; preds = %6904, %6898
  br label %6909

6909:                                             ; preds = %6904, %6908
  %.str.26.sink4376 = phi ptr [ @.str.26, %6908 ], [ @.str.23, %6904 ]
  store i32 %6899, ptr %1317, align 4, !tbaa !5
  %6910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6911 = load i32, ptr @test_count, align 4, !tbaa !5
  %6912 = load i32, ptr %1263, align 4, !tbaa !5
  %6913 = call ptr @s2n_strerror(i32 noundef %6912, ptr noundef nonnull @.str.25) #12
  %6914 = load i32, ptr %1263, align 4, !tbaa !5
  %6915 = call ptr @s2n_strerror_debug(i32 noundef %6914, ptr noundef nonnull @.str.25) #12
  %6916 = load i32, ptr %1317, align 4, !tbaa !5
  %6917 = call ptr @strerror(i32 noundef %6916) #12
  %6918 = load i32, ptr %1317, align 4, !tbaa !5
  %6919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6910, ptr noundef nonnull %.str.26.sink4376, i32 noundef %6911, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.22, i32 noundef 824, ptr noundef %6913, ptr noundef %6915, ptr noundef %6917, i32 noundef %6918) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6920:                                             ; preds = %6893
  %6921 = getelementptr inbounds i8, ptr %6894, i64 220
  store i8 34, ptr %6921, align 4, !tbaa !17
  %6922 = getelementptr inbounds i8, ptr %6894, i64 232
  %6923 = load ptr, ptr %6922, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %6923, align 8, !tbaa !44
  %6924 = add nsw i32 %6895, 2
  store i32 %6924, ptr @test_count, align 4, !tbaa !5
  %6925 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6894, ptr noundef nonnull %6731) #12
  %6926 = icmp eq i32 %6925, -1
  br i1 %6926, label %6927, label %6949

6927:                                             ; preds = %6920
  %6928 = load i32, ptr %1317, align 4, !tbaa !5
  %6929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6930 = call i32 @s2n_print_stacktrace(ptr noundef %6929) #12
  %6931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6932 = trunc nuw i8 %6931 to i1
  br i1 %6932, label %6933, label %6937

6933:                                             ; preds = %6927
  %6934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6935 = call i32 @fileno(ptr noundef %6934) #12
  %6936 = call i32 @isatty(i32 noundef %6935) #12
  %.not1989 = icmp eq i32 %6936, 0
  br i1 %.not1989, label %6937, label %6938

6937:                                             ; preds = %6933, %6927
  br label %6938

6938:                                             ; preds = %6933, %6937
  %.str.26.sink4385 = phi ptr [ @.str.26, %6937 ], [ @.str.23, %6933 ]
  store i32 %6928, ptr %1317, align 4, !tbaa !5
  %6939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6940 = load i32, ptr @test_count, align 4, !tbaa !5
  %6941 = load i32, ptr %1263, align 4, !tbaa !5
  %6942 = call ptr @s2n_strerror(i32 noundef %6941, ptr noundef nonnull @.str.25) #12
  %6943 = load i32, ptr %1263, align 4, !tbaa !5
  %6944 = call ptr @s2n_strerror_debug(i32 noundef %6943, ptr noundef nonnull @.str.25) #12
  %6945 = load i32, ptr %1317, align 4, !tbaa !5
  %6946 = call ptr @strerror(i32 noundef %6945) #12
  %6947 = load i32, ptr %1317, align 4, !tbaa !5
  %6948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6939, ptr noundef nonnull %.str.26.sink4385, i32 noundef %6940, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.22, i32 noundef 827, ptr noundef %6942, ptr noundef %6944, ptr noundef %6946, i32 noundef %6947) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6949:                                             ; preds = %6920
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %57) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %57, i8 0, i64 40, i1 false)
  %6950 = load i32, ptr @test_count, align 4, !tbaa !5
  %6951 = add nsw i32 %6950, 1
  store i32 %6951, ptr @test_count, align 4, !tbaa !5
  %6952 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %57, i32 noundef 0) #12
  %6953 = icmp eq i32 %6952, -1
  br i1 %6953, label %6955, label %.preheader

.preheader:                                       ; preds = %6949
  %6954 = getelementptr inbounds i8, ptr %6838, i64 4092
  br label %6984

6955:                                             ; preds = %6949
  %6956 = load i32, ptr %1317, align 4, !tbaa !5
  %6957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6958 = call i32 @s2n_print_stacktrace(ptr noundef %6957) #12
  %6959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6960 = trunc nuw i8 %6959 to i1
  br i1 %6960, label %6961, label %6965

6961:                                             ; preds = %6955
  %6962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6963 = call i32 @fileno(ptr noundef %6962) #12
  %6964 = call i32 @isatty(i32 noundef %6963) #12
  %.not1988 = icmp eq i32 %6964, 0
  br i1 %.not1988, label %6965, label %6966

6965:                                             ; preds = %6961, %6955
  br label %6966

6966:                                             ; preds = %6961, %6965
  %.str.26.sink4394 = phi ptr [ @.str.26, %6965 ], [ @.str.23, %6961 ]
  store i32 %6956, ptr %1317, align 4, !tbaa !5
  %6967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6968 = load i32, ptr @test_count, align 4, !tbaa !5
  %6969 = load i32, ptr %1263, align 4, !tbaa !5
  %6970 = call ptr @s2n_strerror(i32 noundef %6969, ptr noundef nonnull @.str.25) #12
  %6971 = load i32, ptr %1263, align 4, !tbaa !5
  %6972 = call ptr @s2n_strerror_debug(i32 noundef %6971, ptr noundef nonnull @.str.25) #12
  %6973 = load i32, ptr %1317, align 4, !tbaa !5
  %6974 = call ptr @strerror(i32 noundef %6973) #12
  %6975 = load i32, ptr %1317, align 4, !tbaa !5
  %6976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6967, ptr noundef nonnull %.str.26.sink4394, i32 noundef %6968, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 830, ptr noundef %6970, ptr noundef %6972, ptr noundef %6974, i32 noundef %6975) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6977:                                             ; preds = %7121
  %6978 = add nuw nsw i64 %.015542179, 1
  %exitcond.not = icmp eq i64 %6978, 8
  br i1 %exitcond.not, label %6979, label %6984, !llvm.loop !73

6979:                                             ; preds = %6977
  %6980 = load i32, ptr @test_count, align 4, !tbaa !5
  %6981 = add nsw i32 %6980, 1
  store i32 %6981, ptr @test_count, align 4, !tbaa !5
  %6982 = call i32 @s2n_connection_free(ptr noundef nonnull %6838) #12
  %6983 = icmp eq i32 %6982, -1
  br i1 %6983, label %7147, label %7169

6984:                                             ; preds = %.preheader, %6977
  %.015542179 = phi i64 [ 0, %.preheader ], [ %6978, %6977 ]
  %6985 = load i32, ptr @test_count, align 4, !tbaa !5
  %6986 = add nsw i32 %6985, 1
  store i32 %6986, ptr @test_count, align 4, !tbaa !5
  %6987 = getelementptr inbounds [8 x i32], ptr @__const.main.expected_max_early_data_sizes, i64 0, i64 %.015542179
  %6988 = load i32, ptr %6987, align 4, !tbaa !5
  %6989 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %6894, i32 noundef %6988) #12
  %6990 = icmp eq i32 %6989, -1
  br i1 %6990, label %6991, label %7013

6991:                                             ; preds = %6984
  %6992 = load i32, ptr %1317, align 4, !tbaa !5
  %6993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6994 = call i32 @s2n_print_stacktrace(ptr noundef %6993) #12
  %6995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6996 = trunc nuw i8 %6995 to i1
  br i1 %6996, label %6997, label %7001

6997:                                             ; preds = %6991
  %6998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6999 = call i32 @fileno(ptr noundef %6998) #12
  %7000 = call i32 @isatty(i32 noundef %6999) #12
  %.not1987 = icmp eq i32 %7000, 0
  br i1 %.not1987, label %7001, label %7002

7001:                                             ; preds = %6997, %6991
  br label %7002

7002:                                             ; preds = %6997, %7001
  %.str.26.sink4403 = phi ptr [ @.str.26, %7001 ], [ @.str.23, %6997 ]
  store i32 %6992, ptr %1317, align 4, !tbaa !5
  %7003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7004 = load i32, ptr @test_count, align 4, !tbaa !5
  %7005 = load i32, ptr %1263, align 4, !tbaa !5
  %7006 = call ptr @s2n_strerror(i32 noundef %7005, ptr noundef nonnull @.str.25) #12
  %7007 = load i32, ptr %1263, align 4, !tbaa !5
  %7008 = call ptr @s2n_strerror_debug(i32 noundef %7007, ptr noundef nonnull @.str.25) #12
  %7009 = load i32, ptr %1317, align 4, !tbaa !5
  %7010 = call ptr @strerror(i32 noundef %7009) #12
  %7011 = load i32, ptr %1317, align 4, !tbaa !5
  %7012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7003, ptr noundef nonnull %.str.26.sink4403, i32 noundef %7004, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.22, i32 noundef 833, ptr noundef %7006, ptr noundef %7008, ptr noundef %7010, i32 noundef %7011) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7013:                                             ; preds = %6984
  %7014 = load i32, ptr @test_count, align 4, !tbaa !5
  %7015 = add nsw i32 %7014, 1
  store i32 %7015, ptr @test_count, align 4, !tbaa !5
  %7016 = call i32 @s2n_tls13_server_nst_write(ptr noundef nonnull %6894, ptr noundef nonnull %57)
  %7017 = call zeroext i1 @s2n_result_is_ok(i32 %7016)
  br i1 %7017, label %7040, label %7018

7018:                                             ; preds = %7013
  %7019 = load i32, ptr %1317, align 4, !tbaa !5
  %7020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7021 = call i32 @s2n_print_stacktrace(ptr noundef %7020) #12
  %7022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7023 = trunc nuw i8 %7022 to i1
  br i1 %7023, label %7024, label %7028

7024:                                             ; preds = %7018
  %7025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7026 = call i32 @fileno(ptr noundef %7025) #12
  %7027 = call i32 @isatty(i32 noundef %7026) #12
  %.not1982 = icmp eq i32 %7027, 0
  br i1 %.not1982, label %7028, label %7029

7028:                                             ; preds = %7024, %7018
  br label %7029

7029:                                             ; preds = %7024, %7028
  %.str.26.sink4412 = phi ptr [ @.str.26, %7028 ], [ @.str.23, %7024 ]
  store i32 %7019, ptr %1317, align 4, !tbaa !5
  %7030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7031 = load i32, ptr @test_count, align 4, !tbaa !5
  %7032 = load i32, ptr %1263, align 4, !tbaa !5
  %7033 = call ptr @s2n_strerror(i32 noundef %7032, ptr noundef nonnull @.str.25) #12
  %7034 = load i32, ptr %1263, align 4, !tbaa !5
  %7035 = call ptr @s2n_strerror_debug(i32 noundef %7034, ptr noundef nonnull @.str.25) #12
  %7036 = load i32, ptr %1317, align 4, !tbaa !5
  %7037 = call ptr @strerror(i32 noundef %7036) #12
  %7038 = load i32, ptr %1317, align 4, !tbaa !5
  %7039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7030, ptr noundef nonnull %.str.26.sink4412, i32 noundef %7031, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.22, i32 noundef 834, ptr noundef %7033, ptr noundef %7035, ptr noundef %7037, i32 noundef %7038) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7040:                                             ; preds = %7013
  %7041 = load i32, ptr @test_count, align 4, !tbaa !5
  %7042 = add nsw i32 %7041, 1
  store i32 %7042, ptr @test_count, align 4, !tbaa !5
  %7043 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %57, i32 noundef 4) #12
  %7044 = icmp eq i32 %7043, -1
  br i1 %7044, label %7045, label %7067

7045:                                             ; preds = %7040
  %7046 = load i32, ptr %1317, align 4, !tbaa !5
  %7047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7048 = call i32 @s2n_print_stacktrace(ptr noundef %7047) #12
  %7049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7050 = trunc nuw i8 %7049 to i1
  br i1 %7050, label %7051, label %7055

7051:                                             ; preds = %7045
  %7052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7053 = call i32 @fileno(ptr noundef %7052) #12
  %7054 = call i32 @isatty(i32 noundef %7053) #12
  %.not1986 = icmp eq i32 %7054, 0
  br i1 %.not1986, label %7055, label %7056

7055:                                             ; preds = %7051, %7045
  br label %7056

7056:                                             ; preds = %7051, %7055
  %.str.26.sink4421 = phi ptr [ @.str.26, %7055 ], [ @.str.23, %7051 ]
  store i32 %7046, ptr %1317, align 4, !tbaa !5
  %7057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7058 = load i32, ptr @test_count, align 4, !tbaa !5
  %7059 = load i32, ptr %1263, align 4, !tbaa !5
  %7060 = call ptr @s2n_strerror(i32 noundef %7059, ptr noundef nonnull @.str.25) #12
  %7061 = load i32, ptr %1263, align 4, !tbaa !5
  %7062 = call ptr @s2n_strerror_debug(i32 noundef %7061, ptr noundef nonnull @.str.25) #12
  %7063 = load i32, ptr %1317, align 4, !tbaa !5
  %7064 = call ptr @strerror(i32 noundef %7063) #12
  %7065 = load i32, ptr %1317, align 4, !tbaa !5
  %7066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7057, ptr noundef nonnull %.str.26.sink4421, i32 noundef %7058, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.22, i32 noundef 835, ptr noundef %7060, ptr noundef %7062, ptr noundef %7064, i32 noundef %7065) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7067:                                             ; preds = %7040
  %7068 = load i32, ptr @test_count, align 4, !tbaa !5
  %7069 = add nsw i32 %7068, 1
  store i32 %7069, ptr @test_count, align 4, !tbaa !5
  %7070 = call i32 @s2n_tls13_server_nst_recv(ptr noundef nonnull %6838, ptr noundef nonnull %57)
  %7071 = call zeroext i1 @s2n_result_is_ok(i32 %7070)
  br i1 %7071, label %7094, label %7072

7072:                                             ; preds = %7067
  %7073 = load i32, ptr %1317, align 4, !tbaa !5
  %7074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7075 = call i32 @s2n_print_stacktrace(ptr noundef %7074) #12
  %7076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7077 = trunc nuw i8 %7076 to i1
  br i1 %7077, label %7078, label %7082

7078:                                             ; preds = %7072
  %7079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7080 = call i32 @fileno(ptr noundef %7079) #12
  %7081 = call i32 @isatty(i32 noundef %7080) #12
  %.not1983 = icmp eq i32 %7081, 0
  br i1 %.not1983, label %7082, label %7083

7082:                                             ; preds = %7078, %7072
  br label %7083

7083:                                             ; preds = %7078, %7082
  %.str.26.sink4430 = phi ptr [ @.str.26, %7082 ], [ @.str.23, %7078 ]
  store i32 %7073, ptr %1317, align 4, !tbaa !5
  %7084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7085 = load i32, ptr @test_count, align 4, !tbaa !5
  %7086 = load i32, ptr %1263, align 4, !tbaa !5
  %7087 = call ptr @s2n_strerror(i32 noundef %7086, ptr noundef nonnull @.str.25) #12
  %7088 = load i32, ptr %1263, align 4, !tbaa !5
  %7089 = call ptr @s2n_strerror_debug(i32 noundef %7088, ptr noundef nonnull @.str.25) #12
  %7090 = load i32, ptr %1317, align 4, !tbaa !5
  %7091 = call ptr @strerror(i32 noundef %7090) #12
  %7092 = load i32, ptr %1317, align 4, !tbaa !5
  %7093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7084, ptr noundef nonnull %.str.26.sink4430, i32 noundef %7085, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.22, i32 noundef 836, ptr noundef %7087, ptr noundef %7089, ptr noundef %7091, i32 noundef %7092) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7094:                                             ; preds = %7067
  %7095 = load i32, ptr @test_count, align 4, !tbaa !5
  %7096 = add nsw i32 %7095, 1
  store i32 %7096, ptr @test_count, align 4, !tbaa !5
  %7097 = load i32, ptr %6954, align 4, !tbaa !72
  %7098 = icmp eq i32 %7097, %6988
  br i1 %7098, label %7121, label %7099

7099:                                             ; preds = %7094
  %7100 = load i32, ptr %1317, align 4, !tbaa !5
  %7101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7102 = call i32 @s2n_print_stacktrace(ptr noundef %7101) #12
  %7103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7104 = trunc nuw i8 %7103 to i1
  br i1 %7104, label %7105, label %7109

7105:                                             ; preds = %7099
  %7106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7107 = call i32 @fileno(ptr noundef %7106) #12
  %7108 = call i32 @isatty(i32 noundef %7107) #12
  %.not1984 = icmp eq i32 %7108, 0
  br i1 %.not1984, label %7109, label %7110

7109:                                             ; preds = %7105, %7099
  br label %7110

7110:                                             ; preds = %7105, %7109
  %.str.26.sink4439 = phi ptr [ @.str.26, %7109 ], [ @.str.23, %7105 ]
  store i32 %7100, ptr %1317, align 4, !tbaa !5
  %7111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7112 = load i32, ptr @test_count, align 4, !tbaa !5
  %7113 = load i32, ptr %1263, align 4, !tbaa !5
  %7114 = call ptr @s2n_strerror(i32 noundef %7113, ptr noundef nonnull @.str.25) #12
  %7115 = load i32, ptr %1263, align 4, !tbaa !5
  %7116 = call ptr @s2n_strerror_debug(i32 noundef %7115, ptr noundef nonnull @.str.25) #12
  %7117 = load i32, ptr %1317, align 4, !tbaa !5
  %7118 = call ptr @strerror(i32 noundef %7117) #12
  %7119 = load i32, ptr %1317, align 4, !tbaa !5
  %7120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7111, ptr noundef nonnull %.str.26.sink4439, i32 noundef %7112, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.22, i32 noundef 837, ptr noundef %7114, ptr noundef %7116, ptr noundef %7118, i32 noundef %7119) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7121:                                             ; preds = %7094
  %7122 = add nsw i32 %7095, 2
  store i32 %7122, ptr @test_count, align 4, !tbaa !5
  %7123 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %57) #12
  %7124 = icmp eq i32 %7123, -1
  br i1 %7124, label %7125, label %6977

7125:                                             ; preds = %7121
  %7126 = load i32, ptr %1317, align 4, !tbaa !5
  %7127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7128 = call i32 @s2n_print_stacktrace(ptr noundef %7127) #12
  %7129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7130 = trunc nuw i8 %7129 to i1
  br i1 %7130, label %7131, label %7135

7131:                                             ; preds = %7125
  %7132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7133 = call i32 @fileno(ptr noundef %7132) #12
  %7134 = call i32 @isatty(i32 noundef %7133) #12
  %.not1985 = icmp eq i32 %7134, 0
  br i1 %.not1985, label %7135, label %7136

7135:                                             ; preds = %7131, %7125
  br label %7136

7136:                                             ; preds = %7131, %7135
  %.str.26.sink4448 = phi ptr [ @.str.26, %7135 ], [ @.str.23, %7131 ]
  store i32 %7126, ptr %1317, align 4, !tbaa !5
  %7137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7138 = load i32, ptr @test_count, align 4, !tbaa !5
  %7139 = load i32, ptr %1263, align 4, !tbaa !5
  %7140 = call ptr @s2n_strerror(i32 noundef %7139, ptr noundef nonnull @.str.25) #12
  %7141 = load i32, ptr %1263, align 4, !tbaa !5
  %7142 = call ptr @s2n_strerror_debug(i32 noundef %7141, ptr noundef nonnull @.str.25) #12
  %7143 = load i32, ptr %1317, align 4, !tbaa !5
  %7144 = call ptr @strerror(i32 noundef %7143) #12
  %7145 = load i32, ptr %1317, align 4, !tbaa !5
  %7146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7137, ptr noundef nonnull %.str.26.sink4448, i32 noundef %7138, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.22, i32 noundef 838, ptr noundef %7140, ptr noundef %7142, ptr noundef %7144, i32 noundef %7145) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7147:                                             ; preds = %6979
  %7148 = load i32, ptr %1317, align 4, !tbaa !5
  %7149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7150 = call i32 @s2n_print_stacktrace(ptr noundef %7149) #12
  %7151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7152 = trunc nuw i8 %7151 to i1
  br i1 %7152, label %7153, label %7157

7153:                                             ; preds = %7147
  %7154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7155 = call i32 @fileno(ptr noundef %7154) #12
  %7156 = call i32 @isatty(i32 noundef %7155) #12
  %.not1981 = icmp eq i32 %7156, 0
  br i1 %.not1981, label %7157, label %7158

7157:                                             ; preds = %7153, %7147
  br label %7158

7158:                                             ; preds = %7153, %7157
  %.str.26.sink4457 = phi ptr [ @.str.26, %7157 ], [ @.str.23, %7153 ]
  store i32 %7148, ptr %1317, align 4, !tbaa !5
  %7159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7160 = load i32, ptr @test_count, align 4, !tbaa !5
  %7161 = load i32, ptr %1263, align 4, !tbaa !5
  %7162 = call ptr @s2n_strerror(i32 noundef %7161, ptr noundef nonnull @.str.25) #12
  %7163 = load i32, ptr %1263, align 4, !tbaa !5
  %7164 = call ptr @s2n_strerror_debug(i32 noundef %7163, ptr noundef nonnull @.str.25) #12
  %7165 = load i32, ptr %1317, align 4, !tbaa !5
  %7166 = call ptr @strerror(i32 noundef %7165) #12
  %7167 = load i32, ptr %1317, align 4, !tbaa !5
  %7168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7159, ptr noundef nonnull %.str.26.sink4457, i32 noundef %7160, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.22, i32 noundef 841, ptr noundef %7162, ptr noundef %7164, ptr noundef %7166, i32 noundef %7167) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7169:                                             ; preds = %6979
  %7170 = load i32, ptr @test_count, align 4, !tbaa !5
  %7171 = add nsw i32 %7170, 1
  store i32 %7171, ptr @test_count, align 4, !tbaa !5
  %7172 = call i32 @s2n_connection_free(ptr noundef nonnull %6894) #12
  %7173 = icmp eq i32 %7172, -1
  br i1 %7173, label %7174, label %7196

7174:                                             ; preds = %7169
  %7175 = load i32, ptr %1317, align 4, !tbaa !5
  %7176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7177 = call i32 @s2n_print_stacktrace(ptr noundef %7176) #12
  %7178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7179 = trunc nuw i8 %7178 to i1
  br i1 %7179, label %7180, label %7184

7180:                                             ; preds = %7174
  %7181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7182 = call i32 @fileno(ptr noundef %7181) #12
  %7183 = call i32 @isatty(i32 noundef %7182) #12
  %.not1980 = icmp eq i32 %7183, 0
  br i1 %.not1980, label %7184, label %7185

7184:                                             ; preds = %7180, %7174
  br label %7185

7185:                                             ; preds = %7180, %7184
  %.str.26.sink4466 = phi ptr [ @.str.26, %7184 ], [ @.str.23, %7180 ]
  store i32 %7175, ptr %1317, align 4, !tbaa !5
  %7186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7187 = load i32, ptr @test_count, align 4, !tbaa !5
  %7188 = load i32, ptr %1263, align 4, !tbaa !5
  %7189 = call ptr @s2n_strerror(i32 noundef %7188, ptr noundef nonnull @.str.25) #12
  %7190 = load i32, ptr %1263, align 4, !tbaa !5
  %7191 = call ptr @s2n_strerror_debug(i32 noundef %7190, ptr noundef nonnull @.str.25) #12
  %7192 = load i32, ptr %1317, align 4, !tbaa !5
  %7193 = call ptr @strerror(i32 noundef %7192) #12
  %7194 = load i32, ptr %1317, align 4, !tbaa !5
  %7195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7186, ptr noundef nonnull %.str.26.sink4466, i32 noundef %7187, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.22, i32 noundef 842, ptr noundef %7189, ptr noundef %7191, ptr noundef %7193, i32 noundef %7194) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7196:                                             ; preds = %7169
  %7197 = load i32, ptr @test_count, align 4, !tbaa !5
  %7198 = add nsw i32 %7197, 1
  store i32 %7198, ptr @test_count, align 4, !tbaa !5
  %7199 = call i32 @s2n_stuffer_free(ptr noundef nonnull %57) #12
  %7200 = icmp eq i32 %7199, -1
  br i1 %7200, label %7201, label %7223

7201:                                             ; preds = %7196
  %7202 = load i32, ptr %1317, align 4, !tbaa !5
  %7203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7204 = call i32 @s2n_print_stacktrace(ptr noundef %7203) #12
  %7205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7206 = trunc nuw i8 %7205 to i1
  br i1 %7206, label %7207, label %7211

7207:                                             ; preds = %7201
  %7208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7209 = call i32 @fileno(ptr noundef %7208) #12
  %7210 = call i32 @isatty(i32 noundef %7209) #12
  %.not1979 = icmp eq i32 %7210, 0
  br i1 %.not1979, label %7211, label %7212

7211:                                             ; preds = %7207, %7201
  br label %7212

7212:                                             ; preds = %7207, %7211
  %.str.26.sink4475 = phi ptr [ @.str.26, %7211 ], [ @.str.23, %7207 ]
  store i32 %7202, ptr %1317, align 4, !tbaa !5
  %7213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7214 = load i32, ptr @test_count, align 4, !tbaa !5
  %7215 = load i32, ptr %1263, align 4, !tbaa !5
  %7216 = call ptr @s2n_strerror(i32 noundef %7215, ptr noundef nonnull @.str.25) #12
  %7217 = load i32, ptr %1263, align 4, !tbaa !5
  %7218 = call ptr @s2n_strerror_debug(i32 noundef %7217, ptr noundef nonnull @.str.25) #12
  %7219 = load i32, ptr %1317, align 4, !tbaa !5
  %7220 = call ptr @strerror(i32 noundef %7219) #12
  %7221 = load i32, ptr %1317, align 4, !tbaa !5
  %7222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7213, ptr noundef nonnull %.str.26.sink4475, i32 noundef %7214, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.22, i32 noundef 843, ptr noundef %7216, ptr noundef %7218, ptr noundef %7220, i32 noundef %7221) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7223:                                             ; preds = %7196
  %7224 = load i32, ptr @test_count, align 4, !tbaa !5
  %7225 = add nsw i32 %7224, 1
  store i32 %7225, ptr @test_count, align 4, !tbaa !5
  %7226 = call i32 @s2n_config_free(ptr noundef nonnull %6731) #12
  %7227 = icmp eq i32 %7226, -1
  br i1 %7227, label %7228, label %7250

7228:                                             ; preds = %7223
  %7229 = load i32, ptr %1317, align 4, !tbaa !5
  %7230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7231 = call i32 @s2n_print_stacktrace(ptr noundef %7230) #12
  %7232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7233 = trunc nuw i8 %7232 to i1
  br i1 %7233, label %7234, label %7238

7234:                                             ; preds = %7228
  %7235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7236 = call i32 @fileno(ptr noundef %7235) #12
  %7237 = call i32 @isatty(i32 noundef %7236) #12
  %.not1978 = icmp eq i32 %7237, 0
  br i1 %.not1978, label %7238, label %7239

7238:                                             ; preds = %7234, %7228
  br label %7239

7239:                                             ; preds = %7234, %7238
  %.str.26.sink4484 = phi ptr [ @.str.26, %7238 ], [ @.str.23, %7234 ]
  store i32 %7229, ptr %1317, align 4, !tbaa !5
  %7240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7241 = load i32, ptr @test_count, align 4, !tbaa !5
  %7242 = load i32, ptr %1263, align 4, !tbaa !5
  %7243 = call ptr @s2n_strerror(i32 noundef %7242, ptr noundef nonnull @.str.25) #12
  %7244 = load i32, ptr %1263, align 4, !tbaa !5
  %7245 = call ptr @s2n_strerror_debug(i32 noundef %7244, ptr noundef nonnull @.str.25) #12
  %7246 = load i32, ptr %1317, align 4, !tbaa !5
  %7247 = call ptr @strerror(i32 noundef %7246) #12
  %7248 = load i32, ptr %1317, align 4, !tbaa !5
  %7249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7240, ptr noundef nonnull %.str.26.sink4484, i32 noundef %7241, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 844, ptr noundef %7243, ptr noundef %7245, ptr noundef %7247, i32 noundef %7248) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7250:                                             ; preds = %7223
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %57) #12
  %7251 = getelementptr inbounds i8, ptr %42, i64 4
  %7252 = call ptr @s2n_config_new() #12
  %7253 = load i32, ptr @test_count, align 4, !tbaa !5
  %7254 = add nsw i32 %7253, 1
  store i32 %7254, ptr @test_count, align 4, !tbaa !5
  %7255 = icmp eq ptr %7252, null
  br i1 %7255, label %7256, label %7278

7256:                                             ; preds = %7250
  %7257 = load i32, ptr %1317, align 4, !tbaa !5
  %7258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7259 = call i32 @s2n_print_stacktrace(ptr noundef %7258) #12
  %7260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7261 = trunc nuw i8 %7260 to i1
  br i1 %7261, label %7262, label %7266

7262:                                             ; preds = %7256
  %7263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7264 = call i32 @fileno(ptr noundef %7263) #12
  %7265 = call i32 @isatty(i32 noundef %7264) #12
  %.not1977 = icmp eq i32 %7265, 0
  br i1 %.not1977, label %7266, label %7267

7266:                                             ; preds = %7262, %7256
  br label %7267

7267:                                             ; preds = %7262, %7266
  %.str.26.sink4493 = phi ptr [ @.str.26, %7266 ], [ @.str.23, %7262 ]
  store i32 %7257, ptr %1317, align 4, !tbaa !5
  %7268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7269 = load i32, ptr @test_count, align 4, !tbaa !5
  %7270 = load i32, ptr %1263, align 4, !tbaa !5
  %7271 = call ptr @s2n_strerror(i32 noundef %7270, ptr noundef nonnull @.str.25) #12
  %7272 = load i32, ptr %1263, align 4, !tbaa !5
  %7273 = call ptr @s2n_strerror_debug(i32 noundef %7272, ptr noundef nonnull @.str.25) #12
  %7274 = load i32, ptr %1317, align 4, !tbaa !5
  %7275 = call ptr @strerror(i32 noundef %7274) #12
  %7276 = load i32, ptr %1317, align 4, !tbaa !5
  %7277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7268, ptr noundef nonnull %.str.26.sink4493, i32 noundef %7269, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 854, ptr noundef %7271, ptr noundef %7273, ptr noundef %7275, i32 noundef %7276) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7278:                                             ; preds = %7250
  %7279 = add nsw i32 %7253, 2
  store i32 %7279, ptr @test_count, align 4, !tbaa !5
  %7280 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %7252, i8 noundef zeroext 1) #12
  %7281 = icmp eq i32 %7280, -1
  br i1 %7281, label %7282, label %7304

7282:                                             ; preds = %7278
  %7283 = load i32, ptr %1317, align 4, !tbaa !5
  %7284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7285 = call i32 @s2n_print_stacktrace(ptr noundef %7284) #12
  %7286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7287 = trunc nuw i8 %7286 to i1
  br i1 %7287, label %7288, label %7292

7288:                                             ; preds = %7282
  %7289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7290 = call i32 @fileno(ptr noundef %7289) #12
  %7291 = call i32 @isatty(i32 noundef %7290) #12
  %.not1976 = icmp eq i32 %7291, 0
  br i1 %.not1976, label %7292, label %7293

7292:                                             ; preds = %7288, %7282
  br label %7293

7293:                                             ; preds = %7288, %7292
  %.str.26.sink4502 = phi ptr [ @.str.26, %7292 ], [ @.str.23, %7288 ]
  store i32 %7283, ptr %1317, align 4, !tbaa !5
  %7294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7295 = load i32, ptr @test_count, align 4, !tbaa !5
  %7296 = load i32, ptr %1263, align 4, !tbaa !5
  %7297 = call ptr @s2n_strerror(i32 noundef %7296, ptr noundef nonnull @.str.25) #12
  %7298 = load i32, ptr %1263, align 4, !tbaa !5
  %7299 = call ptr @s2n_strerror_debug(i32 noundef %7298, ptr noundef nonnull @.str.25) #12
  %7300 = load i32, ptr %1317, align 4, !tbaa !5
  %7301 = call ptr @strerror(i32 noundef %7300) #12
  %7302 = load i32, ptr %1317, align 4, !tbaa !5
  %7303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7294, ptr noundef nonnull %.str.26.sink4502, i32 noundef %7295, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.22, i32 noundef 855, ptr noundef %7297, ptr noundef %7299, ptr noundef %7301, i32 noundef %7302) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7304:                                             ; preds = %7278
  %7305 = load i32, ptr @test_count, align 4, !tbaa !5
  %7306 = add nsw i32 %7305, 1
  store i32 %7306, ptr @test_count, align 4, !tbaa !5
  %7307 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef nonnull %7252, ptr noundef nonnull @s2n_test_session_ticket_cb, ptr noundef null) #12
  %7308 = icmp eq i32 %7307, -1
  br i1 %7308, label %7309, label %7331

7309:                                             ; preds = %7304
  %7310 = load i32, ptr %1317, align 4, !tbaa !5
  %7311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7312 = call i32 @s2n_print_stacktrace(ptr noundef %7311) #12
  %7313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7314 = trunc nuw i8 %7313 to i1
  br i1 %7314, label %7315, label %7319

7315:                                             ; preds = %7309
  %7316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7317 = call i32 @fileno(ptr noundef %7316) #12
  %7318 = call i32 @isatty(i32 noundef %7317) #12
  %.not1975 = icmp eq i32 %7318, 0
  br i1 %.not1975, label %7319, label %7320

7319:                                             ; preds = %7315, %7309
  br label %7320

7320:                                             ; preds = %7315, %7319
  %.str.26.sink4511 = phi ptr [ @.str.26, %7319 ], [ @.str.23, %7315 ]
  store i32 %7310, ptr %1317, align 4, !tbaa !5
  %7321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7322 = load i32, ptr @test_count, align 4, !tbaa !5
  %7323 = load i32, ptr %1263, align 4, !tbaa !5
  %7324 = call ptr @s2n_strerror(i32 noundef %7323, ptr noundef nonnull @.str.25) #12
  %7325 = load i32, ptr %1263, align 4, !tbaa !5
  %7326 = call ptr @s2n_strerror_debug(i32 noundef %7325, ptr noundef nonnull @.str.25) #12
  %7327 = load i32, ptr %1317, align 4, !tbaa !5
  %7328 = call ptr @strerror(i32 noundef %7327) #12
  %7329 = load i32, ptr %1317, align 4, !tbaa !5
  %7330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7321, ptr noundef nonnull %.str.26.sink4511, i32 noundef %7322, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.22, i32 noundef 856, ptr noundef %7324, ptr noundef %7326, ptr noundef %7328, i32 noundef %7329) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7331:                                             ; preds = %7304
  %7332 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %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 = icmp eq ptr %7332, null
  br i1 %7335, label %7336, label %7358

7336:                                             ; preds = %7331
  %7337 = load i32, ptr %1317, align 4, !tbaa !5
  %7338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7339 = call i32 @s2n_print_stacktrace(ptr noundef %7338) #12
  %7340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7341 = trunc nuw i8 %7340 to i1
  br i1 %7341, label %7342, label %7346

7342:                                             ; preds = %7336
  %7343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7344 = call i32 @fileno(ptr noundef %7343) #12
  %7345 = call i32 @isatty(i32 noundef %7344) #12
  %.not1974 = icmp eq i32 %7345, 0
  br i1 %.not1974, label %7346, label %7347

7346:                                             ; preds = %7342, %7336
  br label %7347

7347:                                             ; preds = %7342, %7346
  %.str.26.sink4520 = phi ptr [ @.str.26, %7346 ], [ @.str.23, %7342 ]
  store i32 %7337, ptr %1317, align 4, !tbaa !5
  %7348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7349 = load i32, ptr @test_count, align 4, !tbaa !5
  %7350 = load i32, ptr %1263, align 4, !tbaa !5
  %7351 = call ptr @s2n_strerror(i32 noundef %7350, ptr noundef nonnull @.str.25) #12
  %7352 = load i32, ptr %1263, align 4, !tbaa !5
  %7353 = call ptr @s2n_strerror_debug(i32 noundef %7352, ptr noundef nonnull @.str.25) #12
  %7354 = load i32, ptr %1317, align 4, !tbaa !5
  %7355 = call ptr @strerror(i32 noundef %7354) #12
  %7356 = load i32, ptr %1317, align 4, !tbaa !5
  %7357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7348, ptr noundef nonnull %.str.26.sink4520, i32 noundef %7349, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 866, ptr noundef %7351, ptr noundef %7353, ptr noundef %7355, i32 noundef %7356) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7358:                                             ; preds = %7331
  %7359 = add nsw i32 %7333, 2
  store i32 %7359, ptr @test_count, align 4, !tbaa !5
  %7360 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7332, ptr noundef nonnull %7252) #12
  %7361 = icmp eq i32 %7360, -1
  br i1 %7361, label %7362, label %7384

7362:                                             ; preds = %7358
  %7363 = load i32, ptr %1317, align 4, !tbaa !5
  %7364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7365 = call i32 @s2n_print_stacktrace(ptr noundef %7364) #12
  %7366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7367 = trunc nuw i8 %7366 to i1
  br i1 %7367, label %7368, label %7372

7368:                                             ; preds = %7362
  %7369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7370 = call i32 @fileno(ptr noundef %7369) #12
  %7371 = call i32 @isatty(i32 noundef %7370) #12
  %.not1973 = icmp eq i32 %7371, 0
  br i1 %.not1973, label %7372, label %7373

7372:                                             ; preds = %7368, %7362
  br label %7373

7373:                                             ; preds = %7368, %7372
  %.str.26.sink4529 = phi ptr [ @.str.26, %7372 ], [ @.str.23, %7368 ]
  store i32 %7363, ptr %1317, align 4, !tbaa !5
  %7374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7375 = load i32, ptr @test_count, align 4, !tbaa !5
  %7376 = load i32, ptr %1263, align 4, !tbaa !5
  %7377 = call ptr @s2n_strerror(i32 noundef %7376, ptr noundef nonnull @.str.25) #12
  %7378 = load i32, ptr %1263, align 4, !tbaa !5
  %7379 = call ptr @s2n_strerror_debug(i32 noundef %7378, ptr noundef nonnull @.str.25) #12
  %7380 = load i32, ptr %1317, align 4, !tbaa !5
  %7381 = call ptr @strerror(i32 noundef %7380) #12
  %7382 = load i32, ptr %1317, align 4, !tbaa !5
  %7383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7374, ptr noundef nonnull %.str.26.sink4529, i32 noundef %7375, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 867, ptr noundef %7377, ptr noundef %7379, ptr noundef %7381, i32 noundef %7382) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7384:                                             ; preds = %7358
  %7385 = getelementptr inbounds i8, ptr %7332, i64 220
  store i8 34, ptr %7385, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %58) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %58, i8 0, i64 40, i1 false)
  %7386 = load i32, ptr @test_count, align 4, !tbaa !5
  %7387 = add nsw i32 %7386, 1
  store i32 %7387, ptr @test_count, align 4, !tbaa !5
  %7388 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %58, i32 noundef 18) #12
  %7389 = icmp eq i32 %7388, -1
  br i1 %7389, label %7390, label %7412

7390:                                             ; preds = %7384
  %7391 = load i32, ptr %1317, align 4, !tbaa !5
  %7392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7393 = call i32 @s2n_print_stacktrace(ptr noundef %7392) #12
  %7394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7395 = trunc nuw i8 %7394 to i1
  br i1 %7395, label %7396, label %7400

7396:                                             ; preds = %7390
  %7397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7398 = call i32 @fileno(ptr noundef %7397) #12
  %7399 = call i32 @isatty(i32 noundef %7398) #12
  %.not1972 = icmp eq i32 %7399, 0
  br i1 %.not1972, label %7400, label %7401

7400:                                             ; preds = %7396, %7390
  br label %7401

7401:                                             ; preds = %7396, %7400
  %.str.26.sink4538 = phi ptr [ @.str.26, %7400 ], [ @.str.23, %7396 ]
  store i32 %7391, ptr %1317, align 4, !tbaa !5
  %7402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7403 = load i32, ptr @test_count, align 4, !tbaa !5
  %7404 = load i32, ptr %1263, align 4, !tbaa !5
  %7405 = call ptr @s2n_strerror(i32 noundef %7404, ptr noundef nonnull @.str.25) #12
  %7406 = load i32, ptr %1263, align 4, !tbaa !5
  %7407 = call ptr @s2n_strerror_debug(i32 noundef %7406, ptr noundef nonnull @.str.25) #12
  %7408 = load i32, ptr %1317, align 4, !tbaa !5
  %7409 = call ptr @strerror(i32 noundef %7408) #12
  %7410 = load i32, ptr %1317, align 4, !tbaa !5
  %7411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7402, ptr noundef nonnull %.str.26.sink4538, i32 noundef %7403, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.22, i32 noundef 871, ptr noundef %7405, ptr noundef %7407, ptr noundef %7409, i32 noundef %7410) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7412:                                             ; preds = %7384
  %7413 = load i32, ptr @test_count, align 4, !tbaa !5
  %7414 = add nsw i32 %7413, 1
  store i32 %7414, ptr @test_count, align 4, !tbaa !5
  %7415 = call i32 @s2n_stuffer_write_uint32(ptr noundef nonnull %58, i32 noundef 0) #12
  %7416 = icmp eq i32 %7415, -1
  br i1 %7416, label %7417, label %7439

7417:                                             ; preds = %7412
  %7418 = load i32, ptr %1317, align 4, !tbaa !5
  %7419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7420 = call i32 @s2n_print_stacktrace(ptr noundef %7419) #12
  %7421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7422 = trunc nuw i8 %7421 to i1
  br i1 %7422, label %7423, label %7427

7423:                                             ; preds = %7417
  %7424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7425 = call i32 @fileno(ptr noundef %7424) #12
  %7426 = call i32 @isatty(i32 noundef %7425) #12
  %.not1971 = icmp eq i32 %7426, 0
  br i1 %.not1971, label %7427, label %7428

7427:                                             ; preds = %7423, %7417
  br label %7428

7428:                                             ; preds = %7423, %7427
  %.str.26.sink4547 = phi ptr [ @.str.26, %7427 ], [ @.str.23, %7423 ]
  store i32 %7418, ptr %1317, align 4, !tbaa !5
  %7429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7430 = load i32, ptr @test_count, align 4, !tbaa !5
  %7431 = load i32, ptr %1263, align 4, !tbaa !5
  %7432 = call ptr @s2n_strerror(i32 noundef %7431, ptr noundef nonnull @.str.25) #12
  %7433 = load i32, ptr %1263, align 4, !tbaa !5
  %7434 = call ptr @s2n_strerror_debug(i32 noundef %7433, ptr noundef nonnull @.str.25) #12
  %7435 = load i32, ptr %1317, align 4, !tbaa !5
  %7436 = call ptr @strerror(i32 noundef %7435) #12
  %7437 = load i32, ptr %1317, align 4, !tbaa !5
  %7438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7429, ptr noundef nonnull %.str.26.sink4547, i32 noundef %7430, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.22, i32 noundef 872, ptr noundef %7432, ptr noundef %7434, ptr noundef %7436, i32 noundef %7437) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7439:                                             ; preds = %7412
  %7440 = load i32, ptr @test_count, align 4, !tbaa !5
  %7441 = add nsw i32 %7440, 1
  store i32 %7441, ptr @test_count, align 4, !tbaa !5
  %7442 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %58, ptr noundef nonnull %7251, i32 noundef 14) #12
  %7443 = icmp eq i32 %7442, -1
  br i1 %7443, label %7444, label %7466

7444:                                             ; preds = %7439
  %7445 = load i32, ptr %1317, align 4, !tbaa !5
  %7446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7447 = call i32 @s2n_print_stacktrace(ptr noundef %7446) #12
  %7448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7449 = trunc nuw i8 %7448 to i1
  br i1 %7449, label %7450, label %7454

7450:                                             ; preds = %7444
  %7451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7452 = call i32 @fileno(ptr noundef %7451) #12
  %7453 = call i32 @isatty(i32 noundef %7452) #12
  %.not1970 = icmp eq i32 %7453, 0
  br i1 %.not1970, label %7454, label %7455

7454:                                             ; preds = %7450, %7444
  br label %7455

7455:                                             ; preds = %7450, %7454
  %.str.26.sink4556 = phi ptr [ @.str.26, %7454 ], [ @.str.23, %7450 ]
  store i32 %7445, ptr %1317, align 4, !tbaa !5
  %7456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7457 = load i32, ptr @test_count, align 4, !tbaa !5
  %7458 = load i32, ptr %1263, align 4, !tbaa !5
  %7459 = call ptr @s2n_strerror(i32 noundef %7458, ptr noundef nonnull @.str.25) #12
  %7460 = load i32, ptr %1263, align 4, !tbaa !5
  %7461 = call ptr @s2n_strerror_debug(i32 noundef %7460, ptr noundef nonnull @.str.25) #12
  %7462 = load i32, ptr %1317, align 4, !tbaa !5
  %7463 = call ptr @strerror(i32 noundef %7462) #12
  %7464 = load i32, ptr %1317, align 4, !tbaa !5
  %7465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7456, ptr noundef nonnull %.str.26.sink4556, i32 noundef %7457, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.22, i32 noundef 873, ptr noundef %7459, ptr noundef %7461, ptr noundef %7463, i32 noundef %7464) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7466:                                             ; preds = %7439
  %7467 = load i32, ptr @test_count, align 4, !tbaa !5
  %7468 = add nsw i32 %7467, 1
  store i32 %7468, ptr @test_count, align 4, !tbaa !5
  %7469 = call i32 @s2n_tls13_server_nst_recv(ptr noundef nonnull %7332, ptr noundef nonnull %58)
  %7470 = call zeroext i1 @s2n_result_is_ok(i32 %7469)
  br i1 %7470, label %7493, label %7471

7471:                                             ; preds = %7466
  %7472 = load i32, ptr %1317, align 4, !tbaa !5
  %7473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7474 = call i32 @s2n_print_stacktrace(ptr noundef %7473) #12
  %7475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7476 = trunc nuw i8 %7475 to i1
  br i1 %7476, label %7477, label %7481

7477:                                             ; preds = %7471
  %7478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7479 = call i32 @fileno(ptr noundef %7478) #12
  %7480 = call i32 @isatty(i32 noundef %7479) #12
  %.not1694 = icmp eq i32 %7480, 0
  br i1 %.not1694, label %7481, label %7482

7481:                                             ; preds = %7477, %7471
  br label %7482

7482:                                             ; preds = %7477, %7481
  %.str.26.sink4565 = phi ptr [ @.str.26, %7481 ], [ @.str.23, %7477 ]
  store i32 %7472, ptr %1317, align 4, !tbaa !5
  %7483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7484 = load i32, ptr @test_count, align 4, !tbaa !5
  %7485 = load i32, ptr %1263, align 4, !tbaa !5
  %7486 = call ptr @s2n_strerror(i32 noundef %7485, ptr noundef nonnull @.str.25) #12
  %7487 = load i32, ptr %1263, align 4, !tbaa !5
  %7488 = call ptr @s2n_strerror_debug(i32 noundef %7487, ptr noundef nonnull @.str.25) #12
  %7489 = load i32, ptr %1317, align 4, !tbaa !5
  %7490 = call ptr @strerror(i32 noundef %7489) #12
  %7491 = load i32, ptr %1317, align 4, !tbaa !5
  %7492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7483, ptr noundef nonnull %.str.26.sink4565, i32 noundef %7484, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.22, i32 noundef 875, ptr noundef %7486, ptr noundef %7488, ptr noundef %7490, i32 noundef %7491) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7493:                                             ; preds = %7466
  %7494 = load i32, ptr @test_count, align 4, !tbaa !5
  %7495 = add nsw i32 %7494, 1
  store i32 %7495, ptr @test_count, align 4, !tbaa !5
  %7496 = getelementptr inbounds i8, ptr %58, i64 28
  %7497 = load i32, ptr %7496, align 4, !tbaa !51
  %7498 = getelementptr inbounds i8, ptr %58, i64 24
  %7499 = load i32, ptr %7498, align 8, !tbaa !52
  %7500 = sub i32 %7497, %7499
  %7501 = icmp eq i32 %7500, 14
  br i1 %7501, label %7524, label %7502

7502:                                             ; preds = %7493
  %7503 = load i32, ptr %1317, align 4, !tbaa !5
  %7504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7505 = call i32 @s2n_print_stacktrace(ptr noundef %7504) #12
  %7506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7507 = trunc nuw i8 %7506 to i1
  br i1 %7507, label %7508, label %7512

7508:                                             ; preds = %7502
  %7509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7510 = call i32 @fileno(ptr noundef %7509) #12
  %7511 = call i32 @isatty(i32 noundef %7510) #12
  %.not1695 = icmp eq i32 %7511, 0
  br i1 %.not1695, label %7512, label %7513

7512:                                             ; preds = %7508, %7502
  br label %7513

7513:                                             ; preds = %7508, %7512
  %.str.26.sink4574 = phi ptr [ @.str.26, %7512 ], [ @.str.23, %7508 ]
  store i32 %7503, ptr %1317, align 4, !tbaa !5
  %7514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7515 = load i32, ptr @test_count, align 4, !tbaa !5
  %7516 = load i32, ptr %1263, align 4, !tbaa !5
  %7517 = call ptr @s2n_strerror(i32 noundef %7516, ptr noundef nonnull @.str.25) #12
  %7518 = load i32, ptr %1263, align 4, !tbaa !5
  %7519 = call ptr @s2n_strerror_debug(i32 noundef %7518, ptr noundef nonnull @.str.25) #12
  %7520 = load i32, ptr %1317, align 4, !tbaa !5
  %7521 = call ptr @strerror(i32 noundef %7520) #12
  %7522 = load i32, ptr %1317, align 4, !tbaa !5
  %7523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7514, ptr noundef nonnull %.str.26.sink4574, i32 noundef %7515, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.22, i32 noundef 877, ptr noundef %7517, ptr noundef %7519, ptr noundef %7521, i32 noundef %7522) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7524:                                             ; preds = %7493
  %7525 = add nsw i32 %7494, 2
  store i32 %7525, ptr @test_count, align 4, !tbaa !5
  %7526 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %7332) #12
  %7527 = icmp eq i32 %7526, 0
  br i1 %7527, label %7550, label %7528

7528:                                             ; preds = %7524
  %7529 = load i32, ptr %1317, align 4, !tbaa !5
  %7530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7531 = call i32 @s2n_print_stacktrace(ptr noundef %7530) #12
  %7532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7533 = trunc nuw i8 %7532 to i1
  br i1 %7533, label %7534, label %7538

7534:                                             ; preds = %7528
  %7535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7536 = call i32 @fileno(ptr noundef %7535) #12
  %7537 = call i32 @isatty(i32 noundef %7536) #12
  %.not1696 = icmp eq i32 %7537, 0
  br i1 %.not1696, label %7538, label %7539

7538:                                             ; preds = %7534, %7528
  br label %7539

7539:                                             ; preds = %7534, %7538
  %.str.26.sink4583 = phi ptr [ @.str.26, %7538 ], [ @.str.23, %7534 ]
  store i32 %7529, ptr %1317, align 4, !tbaa !5
  %7540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7541 = load i32, ptr @test_count, align 4, !tbaa !5
  %7542 = load i32, ptr %1263, align 4, !tbaa !5
  %7543 = call ptr @s2n_strerror(i32 noundef %7542, ptr noundef nonnull @.str.25) #12
  %7544 = load i32, ptr %1263, align 4, !tbaa !5
  %7545 = call ptr @s2n_strerror_debug(i32 noundef %7544, ptr noundef nonnull @.str.25) #12
  %7546 = load i32, ptr %1317, align 4, !tbaa !5
  %7547 = call ptr @strerror(i32 noundef %7546) #12
  %7548 = load i32, ptr %1317, align 4, !tbaa !5
  %7549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7540, ptr noundef nonnull %.str.26.sink4583, i32 noundef %7541, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.22, i32 noundef 879, ptr noundef %7543, ptr noundef %7545, ptr noundef %7547, i32 noundef %7548) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7550:                                             ; preds = %7524
  %7551 = load i32, ptr @test_count, align 4, !tbaa !5
  %7552 = add nsw i32 %7551, 1
  store i32 %7552, ptr @test_count, align 4, !tbaa !5
  %7553 = call i32 @s2n_connection_free(ptr noundef nonnull %7332) #12
  %7554 = icmp eq i32 %7553, -1
  br i1 %7554, label %7555, label %7577

7555:                                             ; preds = %7550
  %7556 = load i32, ptr %1317, align 4, !tbaa !5
  %7557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7558 = call i32 @s2n_print_stacktrace(ptr noundef %7557) #12
  %7559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7560 = trunc nuw i8 %7559 to i1
  br i1 %7560, label %7561, label %7565

7561:                                             ; preds = %7555
  %7562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7563 = call i32 @fileno(ptr noundef %7562) #12
  %7564 = call i32 @isatty(i32 noundef %7563) #12
  %.not1969 = icmp eq i32 %7564, 0
  br i1 %.not1969, label %7565, label %7566

7565:                                             ; preds = %7561, %7555
  br label %7566

7566:                                             ; preds = %7561, %7565
  %.str.26.sink4592 = phi ptr [ @.str.26, %7565 ], [ @.str.23, %7561 ]
  store i32 %7556, ptr %1317, align 4, !tbaa !5
  %7567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7568 = load i32, ptr @test_count, align 4, !tbaa !5
  %7569 = load i32, ptr %1263, align 4, !tbaa !5
  %7570 = call ptr @s2n_strerror(i32 noundef %7569, ptr noundef nonnull @.str.25) #12
  %7571 = load i32, ptr %1263, align 4, !tbaa !5
  %7572 = call ptr @s2n_strerror_debug(i32 noundef %7571, ptr noundef nonnull @.str.25) #12
  %7573 = load i32, ptr %1317, align 4, !tbaa !5
  %7574 = call ptr @strerror(i32 noundef %7573) #12
  %7575 = load i32, ptr %1317, align 4, !tbaa !5
  %7576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7567, ptr noundef nonnull %.str.26.sink4592, i32 noundef %7568, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 881, ptr noundef %7570, ptr noundef %7572, ptr noundef %7574, i32 noundef %7575) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7577:                                             ; preds = %7550
  %7578 = call i32 @s2n_stuffer_free(ptr noundef nonnull %58) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %58) #12
  %7579 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %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 = icmp eq ptr %7579, null
  br i1 %7582, label %7583, label %7605

7583:                                             ; preds = %7577
  %7584 = load i32, ptr %1317, align 4, !tbaa !5
  %7585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7586 = call i32 @s2n_print_stacktrace(ptr noundef %7585) #12
  %7587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7588 = trunc nuw i8 %7587 to i1
  br i1 %7588, label %7589, label %7593

7589:                                             ; preds = %7583
  %7590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7591 = call i32 @fileno(ptr noundef %7590) #12
  %7592 = call i32 @isatty(i32 noundef %7591) #12
  %.not1968 = icmp eq i32 %7592, 0
  br i1 %.not1968, label %7593, label %7594

7593:                                             ; preds = %7589, %7583
  br label %7594

7594:                                             ; preds = %7589, %7593
  %.str.26.sink4601 = phi ptr [ @.str.26, %7593 ], [ @.str.23, %7589 ]
  store i32 %7584, ptr %1317, align 4, !tbaa !5
  %7595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7596 = load i32, ptr @test_count, align 4, !tbaa !5
  %7597 = load i32, ptr %1263, align 4, !tbaa !5
  %7598 = call ptr @s2n_strerror(i32 noundef %7597, ptr noundef nonnull @.str.25) #12
  %7599 = load i32, ptr %1263, align 4, !tbaa !5
  %7600 = call ptr @s2n_strerror_debug(i32 noundef %7599, ptr noundef nonnull @.str.25) #12
  %7601 = load i32, ptr %1317, align 4, !tbaa !5
  %7602 = call ptr @strerror(i32 noundef %7601) #12
  %7603 = load i32, ptr %1317, align 4, !tbaa !5
  %7604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7595, ptr noundef nonnull %.str.26.sink4601, i32 noundef %7596, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 892, ptr noundef %7598, ptr noundef %7600, ptr noundef %7602, i32 noundef %7603) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7605:                                             ; preds = %7577
  %7606 = add nsw i32 %7580, 2
  store i32 %7606, ptr @test_count, align 4, !tbaa !5
  %7607 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7579, ptr noundef nonnull %7252) #12
  %7608 = icmp eq i32 %7607, -1
  br i1 %7608, label %7609, label %7631

7609:                                             ; preds = %7605
  %7610 = load i32, ptr %1317, align 4, !tbaa !5
  %7611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7612 = call i32 @s2n_print_stacktrace(ptr noundef %7611) #12
  %7613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7614 = trunc nuw i8 %7613 to i1
  br i1 %7614, label %7615, label %7619

7615:                                             ; preds = %7609
  %7616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7617 = call i32 @fileno(ptr noundef %7616) #12
  %7618 = call i32 @isatty(i32 noundef %7617) #12
  %.not1967 = icmp eq i32 %7618, 0
  br i1 %.not1967, label %7619, label %7620

7619:                                             ; preds = %7615, %7609
  br label %7620

7620:                                             ; preds = %7615, %7619
  %.str.26.sink4610 = phi ptr [ @.str.26, %7619 ], [ @.str.23, %7615 ]
  store i32 %7610, ptr %1317, align 4, !tbaa !5
  %7621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7622 = load i32, ptr @test_count, align 4, !tbaa !5
  %7623 = load i32, ptr %1263, align 4, !tbaa !5
  %7624 = call ptr @s2n_strerror(i32 noundef %7623, ptr noundef nonnull @.str.25) #12
  %7625 = load i32, ptr %1263, align 4, !tbaa !5
  %7626 = call ptr @s2n_strerror_debug(i32 noundef %7625, ptr noundef nonnull @.str.25) #12
  %7627 = load i32, ptr %1317, align 4, !tbaa !5
  %7628 = call ptr @strerror(i32 noundef %7627) #12
  %7629 = load i32, ptr %1317, align 4, !tbaa !5
  %7630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7621, ptr noundef nonnull %.str.26.sink4610, i32 noundef %7622, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 893, ptr noundef %7624, ptr noundef %7626, ptr noundef %7628, i32 noundef %7629) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7631:                                             ; preds = %7605
  %7632 = getelementptr inbounds i8, ptr %7579, i64 220
  store i8 34, ptr %7632, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %59) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %59, i8 0, i64 40, i1 false)
  %7633 = load i32, ptr @test_count, align 4, !tbaa !5
  %7634 = add nsw i32 %7633, 1
  store i32 %7634, ptr @test_count, align 4, !tbaa !5
  %7635 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %59, i32 noundef 18) #12
  %7636 = icmp eq i32 %7635, -1
  br i1 %7636, label %7637, label %7659

7637:                                             ; preds = %7631
  %7638 = load i32, ptr %1317, align 4, !tbaa !5
  %7639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7640 = call i32 @s2n_print_stacktrace(ptr noundef %7639) #12
  %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) #12
  %7646 = call i32 @isatty(i32 noundef %7645) #12
  %.not1966 = icmp eq i32 %7646, 0
  br i1 %.not1966, label %7647, label %7648

7647:                                             ; preds = %7643, %7637
  br label %7648

7648:                                             ; preds = %7643, %7647
  %.str.26.sink4619 = phi ptr [ @.str.26, %7647 ], [ @.str.23, %7643 ]
  store i32 %7638, ptr %1317, 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 %1263, align 4, !tbaa !5
  %7652 = call ptr @s2n_strerror(i32 noundef %7651, ptr noundef nonnull @.str.25) #12
  %7653 = load i32, ptr %1263, align 4, !tbaa !5
  %7654 = call ptr @s2n_strerror_debug(i32 noundef %7653, ptr noundef nonnull @.str.25) #12
  %7655 = load i32, ptr %1317, align 4, !tbaa !5
  %7656 = call ptr @strerror(i32 noundef %7655) #12
  %7657 = load i32, ptr %1317, align 4, !tbaa !5
  %7658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7649, ptr noundef nonnull %.str.26.sink4619, i32 noundef %7650, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.22, i32 noundef 897, ptr noundef %7652, ptr noundef %7654, ptr noundef %7656, i32 noundef %7657) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7659:                                             ; preds = %7631
  %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 = call i32 @s2n_stuffer_write_uint32(ptr noundef nonnull %59, i32 noundef -1) #12
  %7663 = icmp eq i32 %7662, -1
  br i1 %7663, label %7664, label %7686

7664:                                             ; preds = %7659
  %7665 = load i32, ptr %1317, align 4, !tbaa !5
  %7666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7667 = call i32 @s2n_print_stacktrace(ptr noundef %7666) #12
  %7668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7669 = trunc nuw i8 %7668 to i1
  br i1 %7669, label %7670, label %7674

7670:                                             ; preds = %7664
  %7671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7672 = call i32 @fileno(ptr noundef %7671) #12
  %7673 = call i32 @isatty(i32 noundef %7672) #12
  %.not1965 = icmp eq i32 %7673, 0
  br i1 %.not1965, label %7674, label %7675

7674:                                             ; preds = %7670, %7664
  br label %7675

7675:                                             ; preds = %7670, %7674
  %.str.26.sink4628 = phi ptr [ @.str.26, %7674 ], [ @.str.23, %7670 ]
  store i32 %7665, ptr %1317, align 4, !tbaa !5
  %7676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7677 = load i32, ptr @test_count, align 4, !tbaa !5
  %7678 = load i32, ptr %1263, align 4, !tbaa !5
  %7679 = call ptr @s2n_strerror(i32 noundef %7678, ptr noundef nonnull @.str.25) #12
  %7680 = load i32, ptr %1263, align 4, !tbaa !5
  %7681 = call ptr @s2n_strerror_debug(i32 noundef %7680, ptr noundef nonnull @.str.25) #12
  %7682 = load i32, ptr %1317, align 4, !tbaa !5
  %7683 = call ptr @strerror(i32 noundef %7682) #12
  %7684 = load i32, ptr %1317, align 4, !tbaa !5
  %7685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7676, ptr noundef nonnull %.str.26.sink4628, i32 noundef %7677, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.22, i32 noundef 898, ptr noundef %7679, ptr noundef %7681, ptr noundef %7683, i32 noundef %7684) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7686:                                             ; preds = %7659
  %7687 = load i32, ptr @test_count, align 4, !tbaa !5
  %7688 = add nsw i32 %7687, 1
  store i32 %7688, ptr @test_count, align 4, !tbaa !5
  %7689 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %59, ptr noundef nonnull %7251, i32 noundef 14) #12
  %7690 = icmp eq i32 %7689, -1
  br i1 %7690, label %7691, label %7713

7691:                                             ; preds = %7686
  %7692 = load i32, ptr %1317, align 4, !tbaa !5
  %7693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7694 = call i32 @s2n_print_stacktrace(ptr noundef %7693) #12
  %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) #12
  %7700 = call i32 @isatty(i32 noundef %7699) #12
  %.not1964 = icmp eq i32 %7700, 0
  br i1 %.not1964, label %7701, label %7702

7701:                                             ; preds = %7697, %7691
  br label %7702

7702:                                             ; preds = %7697, %7701
  %.str.26.sink4637 = phi ptr [ @.str.26, %7701 ], [ @.str.23, %7697 ]
  store i32 %7692, ptr %1317, 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 %1263, align 4, !tbaa !5
  %7706 = call ptr @s2n_strerror(i32 noundef %7705, ptr noundef nonnull @.str.25) #12
  %7707 = load i32, ptr %1263, align 4, !tbaa !5
  %7708 = call ptr @s2n_strerror_debug(i32 noundef %7707, ptr noundef nonnull @.str.25) #12
  %7709 = load i32, ptr %1317, align 4, !tbaa !5
  %7710 = call ptr @strerror(i32 noundef %7709) #12
  %7711 = load i32, ptr %1317, align 4, !tbaa !5
  %7712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7703, ptr noundef nonnull %.str.26.sink4637, i32 noundef %7704, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.22, i32 noundef 899, ptr noundef %7706, ptr noundef %7708, ptr noundef %7710, i32 noundef %7711) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7713:                                             ; preds = %7686
  %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_tls13_server_nst_recv(ptr noundef nonnull %7579, ptr noundef nonnull %59)
  %7717 = call zeroext i1 @s2n_result_is_error(i32 %7716)
  br i1 %7717, label %7740, label %7718

7718:                                             ; preds = %7713
  %7719 = load i32, ptr %1317, align 4, !tbaa !5
  %7720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7721 = call i32 @s2n_print_stacktrace(ptr noundef %7720) #12
  %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) #12
  %7727 = call i32 @isatty(i32 noundef %7726) #12
  %.not1697 = icmp eq i32 %7727, 0
  br i1 %.not1697, label %7728, label %7729

7728:                                             ; preds = %7724, %7718
  br label %7729

7729:                                             ; preds = %7724, %7728
  %.str.26.sink4646 = phi ptr [ @.str.26, %7728 ], [ @.str.23, %7724 ]
  store i32 %7719, ptr %1317, 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 %1263, align 4, !tbaa !5
  %7733 = call ptr @s2n_strerror(i32 noundef %7732, ptr noundef nonnull @.str.25) #12
  %7734 = load i32, ptr %1263, align 4, !tbaa !5
  %7735 = call ptr @s2n_strerror_debug(i32 noundef %7734, ptr noundef nonnull @.str.25) #12
  %7736 = load i32, ptr %1317, align 4, !tbaa !5
  %7737 = call ptr @strerror(i32 noundef %7736) #12
  %7738 = load i32, ptr %1317, align 4, !tbaa !5
  %7739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7730, ptr noundef nonnull %.str.26.sink4646, i32 noundef %7731, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.22, i32 noundef 901, ptr noundef %7733, ptr noundef %7735, ptr noundef %7737, i32 noundef %7738) #14
  call void @exit(i32 noundef 1) #15
  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 = load i32, ptr %1263, align 4, !tbaa !5
  %7744 = icmp eq i32 %7743, 335544322
  br i1 %7744, label %7767, label %7745

7745:                                             ; preds = %7740
  %7746 = load i32, ptr %1317, align 4, !tbaa !5
  %7747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7748 = call i32 @s2n_print_stacktrace(ptr noundef %7747) #12
  %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) #12
  %7754 = call i32 @isatty(i32 noundef %7753) #12
  %.not1698 = icmp eq i32 %7754, 0
  br i1 %.not1698, label %7755, label %7756

7755:                                             ; preds = %7751, %7745
  br label %7756

7756:                                             ; preds = %7751, %7755
  %.str.26.sink4655 = phi ptr [ @.str.26, %7755 ], [ @.str.23, %7751 ]
  store i32 %7746, ptr %1317, 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 %1263, align 4, !tbaa !5
  %7760 = call ptr @s2n_strerror(i32 noundef %7759, ptr noundef nonnull @.str.25) #12
  %7761 = load i32, ptr %1263, align 4, !tbaa !5
  %7762 = call ptr @s2n_strerror_debug(i32 noundef %7761, ptr noundef nonnull @.str.25) #12
  %7763 = load i32, ptr %1317, align 4, !tbaa !5
  %7764 = call ptr @strerror(i32 noundef %7763) #12
  %7765 = load i32, ptr %1317, align 4, !tbaa !5
  %7766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7757, ptr noundef nonnull %.str.26.sink4655, i32 noundef %7758, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.22, i32 noundef 901, ptr noundef %7760, ptr noundef %7762, ptr noundef %7764, i32 noundef %7765) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7767:                                             ; preds = %7740
  %7768 = add nsw i32 %7741, 2
  store i32 %7768, ptr @test_count, align 4, !tbaa !5
  %7769 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.25) #12
  %7770 = icmp eq ptr %7769, null
  br i1 %7770, label %7771, label %7793

7771:                                             ; preds = %7767
  %7772 = load i32, ptr %1317, align 4, !tbaa !5
  %7773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7774 = call i32 @s2n_print_stacktrace(ptr noundef %7773) #12
  %7775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7776 = trunc nuw i8 %7775 to i1
  br i1 %7776, label %7777, label %7781

7777:                                             ; preds = %7771
  %7778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7779 = call i32 @fileno(ptr noundef %7778) #12
  %7780 = call i32 @isatty(i32 noundef %7779) #12
  %.not1963 = icmp eq i32 %7780, 0
  br i1 %.not1963, label %7781, label %7782

7781:                                             ; preds = %7777, %7771
  br label %7782

7782:                                             ; preds = %7777, %7781
  %.str.26.sink4664 = phi ptr [ @.str.26, %7781 ], [ @.str.23, %7777 ]
  store i32 %7772, ptr %1317, align 4, !tbaa !5
  %7783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7784 = load i32, ptr @test_count, align 4, !tbaa !5
  %7785 = load i32, ptr %1263, align 4, !tbaa !5
  %7786 = call ptr @s2n_strerror(i32 noundef %7785, ptr noundef nonnull @.str.25) #12
  %7787 = load i32, ptr %1263, align 4, !tbaa !5
  %7788 = call ptr @s2n_strerror_debug(i32 noundef %7787, ptr noundef nonnull @.str.25) #12
  %7789 = load i32, ptr %1317, align 4, !tbaa !5
  %7790 = call ptr @strerror(i32 noundef %7789) #12
  %7791 = load i32, ptr %1317, align 4, !tbaa !5
  %7792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7783, ptr noundef nonnull %.str.26.sink4664, i32 noundef %7784, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.22, i32 noundef 901, ptr noundef %7786, ptr noundef %7788, ptr noundef %7790, i32 noundef %7791) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7793:                                             ; preds = %7767
  store i32 0, ptr %1263, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1317, align 4, !tbaa !5
  %7794 = load i32, ptr @test_count, align 4, !tbaa !5
  %7795 = add nsw i32 %7794, 1
  store i32 %7795, ptr @test_count, align 4, !tbaa !5
  %7796 = getelementptr inbounds i8, ptr %59, i64 28
  %7797 = load i32, ptr %7796, align 4, !tbaa !51
  %7798 = getelementptr inbounds i8, ptr %59, i64 24
  %7799 = load i32, ptr %7798, align 8, !tbaa !52
  %7800 = sub i32 %7797, %7799
  %7801 = icmp eq i32 %7800, 14
  br i1 %7801, label %7824, label %7802

7802:                                             ; preds = %7793
  %7803 = load i32, ptr %1317, align 4, !tbaa !5
  %7804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7805 = call i32 @s2n_print_stacktrace(ptr noundef %7804) #12
  %7806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7807 = trunc nuw i8 %7806 to i1
  br i1 %7807, label %7808, label %7812

7808:                                             ; preds = %7802
  %7809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7810 = call i32 @fileno(ptr noundef %7809) #12
  %7811 = call i32 @isatty(i32 noundef %7810) #12
  %.not1699 = icmp eq i32 %7811, 0
  br i1 %.not1699, label %7812, label %7813

7812:                                             ; preds = %7808, %7802
  br label %7813

7813:                                             ; preds = %7808, %7812
  %.str.26.sink4673 = phi ptr [ @.str.26, %7812 ], [ @.str.23, %7808 ]
  store i32 %7803, ptr %1317, align 4, !tbaa !5
  %7814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7815 = load i32, ptr @test_count, align 4, !tbaa !5
  %7816 = load i32, ptr %1263, align 4, !tbaa !5
  %7817 = call ptr @s2n_strerror(i32 noundef %7816, ptr noundef nonnull @.str.25) #12
  %7818 = load i32, ptr %1263, align 4, !tbaa !5
  %7819 = call ptr @s2n_strerror_debug(i32 noundef %7818, ptr noundef nonnull @.str.25) #12
  %7820 = load i32, ptr %1317, align 4, !tbaa !5
  %7821 = call ptr @strerror(i32 noundef %7820) #12
  %7822 = load i32, ptr %1317, align 4, !tbaa !5
  %7823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7814, ptr noundef nonnull %.str.26.sink4673, i32 noundef %7815, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.22, i32 noundef 903, ptr noundef %7817, ptr noundef %7819, ptr noundef %7821, i32 noundef %7822) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7824:                                             ; preds = %7793
  %7825 = add nsw i32 %7794, 2
  store i32 %7825, ptr @test_count, align 4, !tbaa !5
  %7826 = call i32 @s2n_connection_get_session_length(ptr noundef nonnull %7579) #12
  %7827 = icmp eq i32 %7826, 0
  br i1 %7827, label %7850, label %7828

7828:                                             ; preds = %7824
  %7829 = load i32, ptr %1317, align 4, !tbaa !5
  %7830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7831 = call i32 @s2n_print_stacktrace(ptr noundef %7830) #12
  %7832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7833 = trunc nuw i8 %7832 to i1
  br i1 %7833, label %7834, label %7838

7834:                                             ; preds = %7828
  %7835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7836 = call i32 @fileno(ptr noundef %7835) #12
  %7837 = call i32 @isatty(i32 noundef %7836) #12
  %.not1700 = icmp eq i32 %7837, 0
  br i1 %.not1700, label %7838, label %7839

7838:                                             ; preds = %7834, %7828
  br label %7839

7839:                                             ; preds = %7834, %7838
  %.str.26.sink4682 = phi ptr [ @.str.26, %7838 ], [ @.str.23, %7834 ]
  store i32 %7829, ptr %1317, align 4, !tbaa !5
  %7840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7841 = load i32, ptr @test_count, align 4, !tbaa !5
  %7842 = load i32, ptr %1263, align 4, !tbaa !5
  %7843 = call ptr @s2n_strerror(i32 noundef %7842, ptr noundef nonnull @.str.25) #12
  %7844 = load i32, ptr %1263, align 4, !tbaa !5
  %7845 = call ptr @s2n_strerror_debug(i32 noundef %7844, ptr noundef nonnull @.str.25) #12
  %7846 = load i32, ptr %1317, align 4, !tbaa !5
  %7847 = call ptr @strerror(i32 noundef %7846) #12
  %7848 = load i32, ptr %1317, align 4, !tbaa !5
  %7849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7840, ptr noundef nonnull %.str.26.sink4682, i32 noundef %7841, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.22, i32 noundef 905, ptr noundef %7843, ptr noundef %7845, ptr noundef %7847, i32 noundef %7848) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7850:                                             ; preds = %7824
  %7851 = load i32, ptr @test_count, align 4, !tbaa !5
  %7852 = add nsw i32 %7851, 1
  store i32 %7852, ptr @test_count, align 4, !tbaa !5
  %7853 = call i32 @s2n_connection_free(ptr noundef nonnull %7579) #12
  %7854 = icmp eq i32 %7853, -1
  br i1 %7854, label %7855, label %7877

7855:                                             ; preds = %7850
  %7856 = load i32, ptr %1317, align 4, !tbaa !5
  %7857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7858 = call i32 @s2n_print_stacktrace(ptr noundef %7857) #12
  %7859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7860 = trunc nuw i8 %7859 to i1
  br i1 %7860, label %7861, label %7865

7861:                                             ; preds = %7855
  %7862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7863 = call i32 @fileno(ptr noundef %7862) #12
  %7864 = call i32 @isatty(i32 noundef %7863) #12
  %.not1962 = icmp eq i32 %7864, 0
  br i1 %.not1962, label %7865, label %7866

7865:                                             ; preds = %7861, %7855
  br label %7866

7866:                                             ; preds = %7861, %7865
  %.str.26.sink4691 = phi ptr [ @.str.26, %7865 ], [ @.str.23, %7861 ]
  store i32 %7856, ptr %1317, align 4, !tbaa !5
  %7867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7868 = load i32, ptr @test_count, align 4, !tbaa !5
  %7869 = load i32, ptr %1263, align 4, !tbaa !5
  %7870 = call ptr @s2n_strerror(i32 noundef %7869, ptr noundef nonnull @.str.25) #12
  %7871 = load i32, ptr %1263, align 4, !tbaa !5
  %7872 = call ptr @s2n_strerror_debug(i32 noundef %7871, ptr noundef nonnull @.str.25) #12
  %7873 = load i32, ptr %1317, align 4, !tbaa !5
  %7874 = call ptr @strerror(i32 noundef %7873) #12
  %7875 = load i32, ptr %1317, align 4, !tbaa !5
  %7876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7867, ptr noundef nonnull %.str.26.sink4691, i32 noundef %7868, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 907, ptr noundef %7870, ptr noundef %7872, ptr noundef %7874, i32 noundef %7875) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7877:                                             ; preds = %7850
  %7878 = call i32 @s2n_stuffer_free(ptr noundef nonnull %59) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %59) #12
  %7879 = load i32, ptr @test_count, align 4, !tbaa !5
  %7880 = add nsw i32 %7879, 1
  store i32 %7880, ptr @test_count, align 4, !tbaa !5
  %7881 = call i32 @s2n_config_free(ptr noundef nonnull %7252) #12
  %7882 = icmp eq i32 %7881, -1
  br i1 %7882, label %7883, label %7905

7883:                                             ; preds = %7877
  %7884 = load i32, ptr %1317, align 4, !tbaa !5
  %7885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7886 = call i32 @s2n_print_stacktrace(ptr noundef %7885) #12
  %7887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7888 = trunc nuw i8 %7887 to i1
  br i1 %7888, label %7889, label %7893

7889:                                             ; preds = %7883
  %7890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7891 = call i32 @fileno(ptr noundef %7890) #12
  %7892 = call i32 @isatty(i32 noundef %7891) #12
  %.not1961 = icmp eq i32 %7892, 0
  br i1 %.not1961, label %7893, label %7894

7893:                                             ; preds = %7889, %7883
  br label %7894

7894:                                             ; preds = %7889, %7893
  %.str.26.sink4700 = phi ptr [ @.str.26, %7893 ], [ @.str.23, %7889 ]
  store i32 %7884, ptr %1317, align 4, !tbaa !5
  %7895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7896 = load i32, ptr @test_count, align 4, !tbaa !5
  %7897 = load i32, ptr %1263, align 4, !tbaa !5
  %7898 = call ptr @s2n_strerror(i32 noundef %7897, ptr noundef nonnull @.str.25) #12
  %7899 = load i32, ptr %1263, align 4, !tbaa !5
  %7900 = call ptr @s2n_strerror_debug(i32 noundef %7899, ptr noundef nonnull @.str.25) #12
  %7901 = load i32, ptr %1317, align 4, !tbaa !5
  %7902 = call ptr @strerror(i32 noundef %7901) #12
  %7903 = load i32, ptr %1317, align 4, !tbaa !5
  %7904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7895, ptr noundef nonnull %.str.26.sink4700, i32 noundef %7896, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 910, ptr noundef %7898, ptr noundef %7900, ptr noundef %7902, i32 noundef %7903) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7905:                                             ; preds = %7877
  call void @llvm.lifetime.end.p0(i64 18, ptr nonnull %42) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #12
  %7906 = call ptr @s2n_config_new() #12
  store ptr %7906, ptr %60, align 8, !tbaa !9
  %7907 = load i32, ptr @test_count, align 4, !tbaa !5
  %7908 = add nsw i32 %7907, 1
  store i32 %7908, ptr @test_count, align 4, !tbaa !5
  %7909 = icmp eq ptr %7906, null
  br i1 %7909, label %7910, label %7932

7910:                                             ; preds = %7905
  %7911 = load i32, ptr %1317, align 4, !tbaa !5
  %7912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7913 = call i32 @s2n_print_stacktrace(ptr noundef %7912) #12
  %7914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7915 = trunc nuw i8 %7914 to i1
  br i1 %7915, label %7916, label %7920

7916:                                             ; preds = %7910
  %7917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7918 = call i32 @fileno(ptr noundef %7917) #12
  %7919 = call i32 @isatty(i32 noundef %7918) #12
  %.not1960 = icmp eq i32 %7919, 0
  br i1 %.not1960, label %7920, label %7921

7920:                                             ; preds = %7916, %7910
  br label %7921

7921:                                             ; preds = %7916, %7920
  %.str.26.sink4709 = phi ptr [ @.str.26, %7920 ], [ @.str.23, %7916 ]
  store i32 %7911, ptr %1317, align 4, !tbaa !5
  %7922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7923 = load i32, ptr @test_count, align 4, !tbaa !5
  %7924 = load i32, ptr %1263, align 4, !tbaa !5
  %7925 = call ptr @s2n_strerror(i32 noundef %7924, ptr noundef nonnull @.str.25) #12
  %7926 = load i32, ptr %1263, align 4, !tbaa !5
  %7927 = call ptr @s2n_strerror_debug(i32 noundef %7926, ptr noundef nonnull @.str.25) #12
  %7928 = load i32, ptr %1317, align 4, !tbaa !5
  %7929 = call ptr @strerror(i32 noundef %7928) #12
  %7930 = load i32, ptr %1317, align 4, !tbaa !5
  %7931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7922, ptr noundef nonnull %.str.26.sink4709, i32 noundef %7923, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 919, ptr noundef %7925, ptr noundef %7927, ptr noundef %7929, i32 noundef %7930) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7932:                                             ; preds = %7905
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #12
  %7933 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %7933, ptr %61, align 8, !tbaa !9
  %7934 = load i32, ptr @test_count, align 4, !tbaa !5
  %7935 = add nsw i32 %7934, 1
  store i32 %7935, ptr @test_count, align 4, !tbaa !5
  %7936 = icmp eq ptr %7933, null
  br i1 %7936, label %7937, label %7959

7937:                                             ; preds = %7932
  %7938 = load i32, ptr %1317, align 4, !tbaa !5
  %7939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7940 = call i32 @s2n_print_stacktrace(ptr noundef %7939) #12
  %7941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7942 = trunc nuw i8 %7941 to i1
  br i1 %7942, label %7943, label %7947

7943:                                             ; preds = %7937
  %7944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7945 = call i32 @fileno(ptr noundef %7944) #12
  %7946 = call i32 @isatty(i32 noundef %7945) #12
  %.not1959 = icmp eq i32 %7946, 0
  br i1 %.not1959, label %7947, label %7948

7947:                                             ; preds = %7943, %7937
  br label %7948

7948:                                             ; preds = %7943, %7947
  %.str.26.sink4718 = phi ptr [ @.str.26, %7947 ], [ @.str.23, %7943 ]
  store i32 %7938, ptr %1317, align 4, !tbaa !5
  %7949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7950 = load i32, ptr @test_count, align 4, !tbaa !5
  %7951 = load i32, ptr %1263, align 4, !tbaa !5
  %7952 = call ptr @s2n_strerror(i32 noundef %7951, ptr noundef nonnull @.str.25) #12
  %7953 = load i32, ptr %1263, align 4, !tbaa !5
  %7954 = call ptr @s2n_strerror_debug(i32 noundef %7953, ptr noundef nonnull @.str.25) #12
  %7955 = load i32, ptr %1317, align 4, !tbaa !5
  %7956 = call ptr @strerror(i32 noundef %7955) #12
  %7957 = load i32, ptr %1317, align 4, !tbaa !5
  %7958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7949, ptr noundef nonnull %.str.26.sink4718, i32 noundef %7950, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 922, ptr noundef %7952, ptr noundef %7954, ptr noundef %7956, i32 noundef %7957) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7959:                                             ; preds = %7932
  %7960 = add nsw i32 %7934, 2
  store i32 %7960, ptr @test_count, align 4, !tbaa !5
  %7961 = load ptr, ptr %60, align 8, !tbaa !9
  %7962 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %7961) #12
  %7963 = call zeroext i1 @s2n_result_is_ok(i32 %7962)
  br i1 %7963, label %7986, label %7964

7964:                                             ; preds = %7959
  %7965 = load i32, ptr %1317, align 4, !tbaa !5
  %7966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7967 = call i32 @s2n_print_stacktrace(ptr noundef %7966) #12
  %7968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7969 = trunc nuw i8 %7968 to i1
  br i1 %7969, label %7970, label %7974

7970:                                             ; preds = %7964
  %7971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7972 = call i32 @fileno(ptr noundef %7971) #12
  %7973 = call i32 @isatty(i32 noundef %7972) #12
  %.not1701 = icmp eq i32 %7973, 0
  br i1 %.not1701, label %7974, label %7975

7974:                                             ; preds = %7970, %7964
  br label %7975

7975:                                             ; preds = %7970, %7974
  %.str.26.sink4727 = phi ptr [ @.str.26, %7974 ], [ @.str.23, %7970 ]
  store i32 %7965, ptr %1317, align 4, !tbaa !5
  %7976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7977 = load i32, ptr @test_count, align 4, !tbaa !5
  %7978 = load i32, ptr %1263, align 4, !tbaa !5
  %7979 = call ptr @s2n_strerror(i32 noundef %7978, ptr noundef nonnull @.str.25) #12
  %7980 = load i32, ptr %1263, align 4, !tbaa !5
  %7981 = call ptr @s2n_strerror_debug(i32 noundef %7980, ptr noundef nonnull @.str.25) #12
  %7982 = load i32, ptr %1317, align 4, !tbaa !5
  %7983 = call ptr @strerror(i32 noundef %7982) #12
  %7984 = load i32, ptr %1317, align 4, !tbaa !5
  %7985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7976, ptr noundef nonnull %.str.26.sink4727, i32 noundef %7977, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 923, ptr noundef %7979, ptr noundef %7981, ptr noundef %7983, i32 noundef %7984) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7986:                                             ; preds = %7959
  %7987 = load i32, ptr @test_count, align 4, !tbaa !5
  %7988 = add nsw i32 %7987, 1
  store i32 %7988, ptr @test_count, align 4, !tbaa !5
  %7989 = load ptr, ptr %61, align 8, !tbaa !9
  %7990 = load ptr, ptr %60, align 8, !tbaa !9
  %7991 = call i32 @s2n_connection_set_config(ptr noundef %7989, ptr noundef %7990) #12
  %7992 = icmp eq i32 %7991, -1
  br i1 %7992, label %7993, label %8015

7993:                                             ; preds = %7986
  %7994 = load i32, ptr %1317, align 4, !tbaa !5
  %7995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7996 = call i32 @s2n_print_stacktrace(ptr noundef %7995) #12
  %7997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7998 = trunc nuw i8 %7997 to i1
  br i1 %7998, label %7999, label %8003

7999:                                             ; preds = %7993
  %8000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8001 = call i32 @fileno(ptr noundef %8000) #12
  %8002 = call i32 @isatty(i32 noundef %8001) #12
  %.not1958 = icmp eq i32 %8002, 0
  br i1 %.not1958, label %8003, label %8004

8003:                                             ; preds = %7999, %7993
  br label %8004

8004:                                             ; preds = %7999, %8003
  %.str.26.sink4736 = phi ptr [ @.str.26, %8003 ], [ @.str.23, %7999 ]
  store i32 %7994, ptr %1317, align 4, !tbaa !5
  %8005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8006 = load i32, ptr @test_count, align 4, !tbaa !5
  %8007 = load i32, ptr %1263, align 4, !tbaa !5
  %8008 = call ptr @s2n_strerror(i32 noundef %8007, ptr noundef nonnull @.str.25) #12
  %8009 = load i32, ptr %1263, align 4, !tbaa !5
  %8010 = call ptr @s2n_strerror_debug(i32 noundef %8009, ptr noundef nonnull @.str.25) #12
  %8011 = load i32, ptr %1317, align 4, !tbaa !5
  %8012 = call ptr @strerror(i32 noundef %8011) #12
  %8013 = load i32, ptr %1317, align 4, !tbaa !5
  %8014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8005, ptr noundef nonnull %.str.26.sink4736, i32 noundef %8006, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 924, ptr noundef %8008, ptr noundef %8010, ptr noundef %8012, i32 noundef %8013) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8015:                                             ; preds = %7986
  %8016 = load ptr, ptr %61, align 8, !tbaa !9
  %8017 = getelementptr inbounds i8, ptr %8016, i64 3780
  store i32 2, ptr %8017, align 4, !tbaa !75
  %8018 = load i32, ptr @test_count, align 4, !tbaa !5
  %8019 = add nsw i32 %8018, 1
  store i32 %8019, ptr @test_count, align 4, !tbaa !5
  %8020 = call i32 @s2n_server_nst_send(ptr noundef %8016)
  %8021 = icmp eq i32 %8020, -1
  br i1 %8021, label %8022, label %8044

8022:                                             ; preds = %8015
  %8023 = load i32, ptr %1317, align 4, !tbaa !5
  %8024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8025 = call i32 @s2n_print_stacktrace(ptr noundef %8024) #12
  %8026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8027 = trunc nuw i8 %8026 to i1
  br i1 %8027, label %8028, label %8032

8028:                                             ; preds = %8022
  %8029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8030 = call i32 @fileno(ptr noundef %8029) #12
  %8031 = call i32 @isatty(i32 noundef %8030) #12
  %.not1957 = icmp eq i32 %8031, 0
  br i1 %.not1957, label %8032, label %8033

8032:                                             ; preds = %8028, %8022
  br label %8033

8033:                                             ; preds = %8028, %8032
  %.str.26.sink4745 = phi ptr [ @.str.26, %8032 ], [ @.str.23, %8028 ]
  store i32 %8023, ptr %1317, align 4, !tbaa !5
  %8034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8035 = load i32, ptr @test_count, align 4, !tbaa !5
  %8036 = load i32, ptr %1263, align 4, !tbaa !5
  %8037 = call ptr @s2n_strerror(i32 noundef %8036, ptr noundef nonnull @.str.25) #12
  %8038 = load i32, ptr %1263, align 4, !tbaa !5
  %8039 = call ptr @s2n_strerror_debug(i32 noundef %8038, ptr noundef nonnull @.str.25) #12
  %8040 = load i32, ptr %1317, align 4, !tbaa !5
  %8041 = call ptr @strerror(i32 noundef %8040) #12
  %8042 = load i32, ptr %1317, align 4, !tbaa !5
  %8043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8034, ptr noundef nonnull %.str.26.sink4745, i32 noundef %8035, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.22, i32 noundef 928, ptr noundef %8037, ptr noundef %8039, ptr noundef %8041, i32 noundef %8042) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8044:                                             ; preds = %8015
  %8045 = load i32, ptr @test_count, align 4, !tbaa !5
  %8046 = add nsw i32 %8045, 1
  store i32 %8046, ptr @test_count, align 4, !tbaa !5
  %8047 = load ptr, ptr %61, align 8, !tbaa !9
  %8048 = call i32 @s2n_assert_tickets_sent(ptr noundef %8047, i16 noundef zeroext 1)
  %8049 = call zeroext i1 @s2n_result_is_ok(i32 %8048)
  br i1 %8049, label %8072, label %8050

8050:                                             ; preds = %8044
  %8051 = load i32, ptr %1317, align 4, !tbaa !5
  %8052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8053 = call i32 @s2n_print_stacktrace(ptr noundef %8052) #12
  %8054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8055 = trunc nuw i8 %8054 to i1
  br i1 %8055, label %8056, label %8060

8056:                                             ; preds = %8050
  %8057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8058 = call i32 @fileno(ptr noundef %8057) #12
  %8059 = call i32 @isatty(i32 noundef %8058) #12
  %.not1702 = icmp eq i32 %8059, 0
  br i1 %.not1702, label %8060, label %8061

8060:                                             ; preds = %8056, %8050
  br label %8061

8061:                                             ; preds = %8056, %8060
  %.str.26.sink4754 = phi ptr [ @.str.26, %8060 ], [ @.str.23, %8056 ]
  store i32 %8051, ptr %1317, align 4, !tbaa !5
  %8062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8063 = load i32, ptr @test_count, align 4, !tbaa !5
  %8064 = load i32, ptr %1263, align 4, !tbaa !5
  %8065 = call ptr @s2n_strerror(i32 noundef %8064, ptr noundef nonnull @.str.25) #12
  %8066 = load i32, ptr %1263, align 4, !tbaa !5
  %8067 = call ptr @s2n_strerror_debug(i32 noundef %8066, ptr noundef nonnull @.str.25) #12
  %8068 = load i32, ptr %1317, align 4, !tbaa !5
  %8069 = call ptr @strerror(i32 noundef %8068) #12
  %8070 = load i32, ptr %1317, align 4, !tbaa !5
  %8071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8062, ptr noundef nonnull %.str.26.sink4754, i32 noundef %8063, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.22, i32 noundef 929, ptr noundef %8065, ptr noundef %8067, ptr noundef %8069, i32 noundef %8070) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8072:                                             ; preds = %8044
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %62) #12
  store i32 0, ptr %62, align 4, !tbaa !5
  %8073 = load i32, ptr @test_count, align 4, !tbaa !5
  %8074 = add nsw i32 %8073, 1
  store i32 %8074, ptr @test_count, align 4, !tbaa !5
  %8075 = load ptr, ptr %61, align 8, !tbaa !9
  %8076 = getelementptr inbounds i8, ptr %8075, i64 2016
  %8077 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %8076, ptr noundef nonnull %62) #12
  %8078 = icmp eq i32 %8077, -1
  br i1 %8078, label %8079, label %8101

8079:                                             ; preds = %8072
  %8080 = load i32, ptr %1317, align 4, !tbaa !5
  %8081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8082 = call i32 @s2n_print_stacktrace(ptr noundef %8081) #12
  %8083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8084 = trunc nuw i8 %8083 to i1
  br i1 %8084, label %8085, label %8089

8085:                                             ; preds = %8079
  %8086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8087 = call i32 @fileno(ptr noundef %8086) #12
  %8088 = call i32 @isatty(i32 noundef %8087) #12
  %.not1956 = icmp eq i32 %8088, 0
  br i1 %.not1956, label %8089, label %8090

8089:                                             ; preds = %8085, %8079
  br label %8090

8090:                                             ; preds = %8085, %8089
  %.str.26.sink4763 = phi ptr [ @.str.26, %8089 ], [ @.str.23, %8085 ]
  store i32 %8080, ptr %1317, align 4, !tbaa !5
  %8091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8092 = load i32, ptr @test_count, align 4, !tbaa !5
  %8093 = load i32, ptr %1263, align 4, !tbaa !5
  %8094 = call ptr @s2n_strerror(i32 noundef %8093, ptr noundef nonnull @.str.25) #12
  %8095 = load i32, ptr %1263, align 4, !tbaa !5
  %8096 = call ptr @s2n_strerror_debug(i32 noundef %8095, ptr noundef nonnull @.str.25) #12
  %8097 = load i32, ptr %1317, align 4, !tbaa !5
  %8098 = call ptr @strerror(i32 noundef %8097) #12
  %8099 = load i32, ptr %1317, align 4, !tbaa !5
  %8100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8091, ptr noundef nonnull %.str.26.sink4763, i32 noundef %8092, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.22, i32 noundef 932, ptr noundef %8094, ptr noundef %8096, ptr noundef %8098, i32 noundef %8099) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8101:                                             ; preds = %8072
  %8102 = load i32, ptr @test_count, align 4, !tbaa !5
  %8103 = add nsw i32 %8102, 1
  store i32 %8103, ptr @test_count, align 4, !tbaa !5
  %8104 = load i32, ptr %62, align 4, !tbaa !5
  %.not1703 = icmp eq i32 %8104, 0
  br i1 %.not1703, label %8105, label %8127

8105:                                             ; preds = %8101
  %8106 = load i32, ptr %1317, align 4, !tbaa !5
  %8107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8108 = call i32 @s2n_print_stacktrace(ptr noundef %8107) #12
  %8109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8110 = trunc nuw i8 %8109 to i1
  br i1 %8110, label %8111, label %8115

8111:                                             ; preds = %8105
  %8112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8113 = call i32 @fileno(ptr noundef %8112) #12
  %8114 = call i32 @isatty(i32 noundef %8113) #12
  %.not1704 = icmp eq i32 %8114, 0
  br i1 %.not1704, label %8115, label %8116

8115:                                             ; preds = %8111, %8105
  br label %8116

8116:                                             ; preds = %8111, %8115
  %.str.26.sink4772 = phi ptr [ @.str.26, %8115 ], [ @.str.23, %8111 ]
  store i32 %8106, ptr %1317, align 4, !tbaa !5
  %8117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8118 = load i32, ptr @test_count, align 4, !tbaa !5
  %8119 = load i32, ptr %1263, align 4, !tbaa !5
  %8120 = call ptr @s2n_strerror(i32 noundef %8119, ptr noundef nonnull @.str.25) #12
  %8121 = load i32, ptr %1263, align 4, !tbaa !5
  %8122 = call ptr @s2n_strerror_debug(i32 noundef %8121, ptr noundef nonnull @.str.25) #12
  %8123 = load i32, ptr %1317, align 4, !tbaa !5
  %8124 = call ptr @strerror(i32 noundef %8123) #12
  %8125 = load i32, ptr %1317, align 4, !tbaa !5
  %8126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8117, ptr noundef nonnull %.str.26.sink4772, i32 noundef %8118, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.22, i32 noundef 933, ptr noundef %8120, ptr noundef %8122, ptr noundef %8124, i32 noundef %8125) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8127:                                             ; preds = %8101
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %63) #12
  store i16 0, ptr %63, align 2, !tbaa !54
  %8128 = add nsw i32 %8102, 2
  store i32 %8128, ptr @test_count, align 4, !tbaa !5
  %8129 = load ptr, ptr %61, align 8, !tbaa !9
  %8130 = getelementptr inbounds i8, ptr %8129, i64 2016
  %8131 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %8130, ptr noundef nonnull %63) #12
  %8132 = icmp eq i32 %8131, -1
  br i1 %8132, label %8133, label %8155

8133:                                             ; preds = %8127
  %8134 = load i32, ptr %1317, align 4, !tbaa !5
  %8135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8136 = call i32 @s2n_print_stacktrace(ptr noundef %8135) #12
  %8137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8138 = trunc nuw i8 %8137 to i1
  br i1 %8138, label %8139, label %8143

8139:                                             ; preds = %8133
  %8140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8141 = call i32 @fileno(ptr noundef %8140) #12
  %8142 = call i32 @isatty(i32 noundef %8141) #12
  %.not1955 = icmp eq i32 %8142, 0
  br i1 %.not1955, label %8143, label %8144

8143:                                             ; preds = %8139, %8133
  br label %8144

8144:                                             ; preds = %8139, %8143
  %.str.26.sink4781 = phi ptr [ @.str.26, %8143 ], [ @.str.23, %8139 ]
  store i32 %8134, ptr %1317, align 4, !tbaa !5
  %8145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8146 = load i32, ptr @test_count, align 4, !tbaa !5
  %8147 = load i32, ptr %1263, align 4, !tbaa !5
  %8148 = call ptr @s2n_strerror(i32 noundef %8147, ptr noundef nonnull @.str.25) #12
  %8149 = load i32, ptr %1263, align 4, !tbaa !5
  %8150 = call ptr @s2n_strerror_debug(i32 noundef %8149, ptr noundef nonnull @.str.25) #12
  %8151 = load i32, ptr %1317, align 4, !tbaa !5
  %8152 = call ptr @strerror(i32 noundef %8151) #12
  %8153 = load i32, ptr %1317, align 4, !tbaa !5
  %8154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8145, ptr noundef nonnull %.str.26.sink4781, i32 noundef %8146, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.22, i32 noundef 936, ptr noundef %8148, ptr noundef %8150, ptr noundef %8152, i32 noundef %8153) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8155:                                             ; preds = %8127
  %8156 = load i32, ptr @test_count, align 4, !tbaa !5
  %8157 = add nsw i32 %8156, 1
  store i32 %8157, ptr @test_count, align 4, !tbaa !5
  %8158 = load i16, ptr %63, align 2, !tbaa !54
  %.not1705 = icmp eq i16 %8158, 0
  br i1 %.not1705, label %8159, label %8181

8159:                                             ; preds = %8155
  %8160 = load i32, ptr %1317, align 4, !tbaa !5
  %8161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8162 = call i32 @s2n_print_stacktrace(ptr noundef %8161) #12
  %8163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8164 = trunc nuw i8 %8163 to i1
  br i1 %8164, label %8165, label %8169

8165:                                             ; preds = %8159
  %8166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8167 = call i32 @fileno(ptr noundef %8166) #12
  %8168 = call i32 @isatty(i32 noundef %8167) #12
  %.not1706 = icmp eq i32 %8168, 0
  br i1 %.not1706, label %8169, label %8170

8169:                                             ; preds = %8165, %8159
  br label %8170

8170:                                             ; preds = %8165, %8169
  %.str.26.sink4790 = phi ptr [ @.str.26, %8169 ], [ @.str.23, %8165 ]
  store i32 %8160, ptr %1317, align 4, !tbaa !5
  %8171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8172 = load i32, ptr @test_count, align 4, !tbaa !5
  %8173 = load i32, ptr %1263, align 4, !tbaa !5
  %8174 = call ptr @s2n_strerror(i32 noundef %8173, ptr noundef nonnull @.str.25) #12
  %8175 = load i32, ptr %1263, align 4, !tbaa !5
  %8176 = call ptr @s2n_strerror_debug(i32 noundef %8175, ptr noundef nonnull @.str.25) #12
  %8177 = load i32, ptr %1317, align 4, !tbaa !5
  %8178 = call ptr @strerror(i32 noundef %8177) #12
  %8179 = load i32, ptr %1317, align 4, !tbaa !5
  %8180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8171, ptr noundef nonnull %.str.26.sink4790, i32 noundef %8172, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.22, i32 noundef 937, ptr noundef %8174, ptr noundef %8176, ptr noundef %8178, i32 noundef %8179) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8181:                                             ; preds = %8155
  %8182 = add nsw i32 %8156, 2
  store i32 %8182, ptr @test_count, align 4, !tbaa !5
  %8183 = load ptr, ptr %61, align 8, !tbaa !9
  %8184 = getelementptr inbounds i8, ptr %8183, i64 2044
  %8185 = load i32, ptr %8184, align 4, !tbaa !76
  %8186 = getelementptr inbounds i8, ptr %8183, i64 2040
  %8187 = load i32, ptr %8186, align 8, !tbaa !77
  %8188 = sub i32 %8185, %8187
  %8189 = icmp eq i32 %8188, 138
  br i1 %8189, label %8212, label %8190

8190:                                             ; preds = %8181
  %8191 = load i32, ptr %1317, align 4, !tbaa !5
  %8192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8193 = call i32 @s2n_print_stacktrace(ptr noundef %8192) #12
  %8194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8195 = trunc nuw i8 %8194 to i1
  br i1 %8195, label %8196, label %8200

8196:                                             ; preds = %8190
  %8197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8198 = call i32 @fileno(ptr noundef %8197) #12
  %8199 = call i32 @isatty(i32 noundef %8198) #12
  %.not1707 = icmp eq i32 %8199, 0
  br i1 %.not1707, label %8200, label %8201

8200:                                             ; preds = %8196, %8190
  br label %8201

8201:                                             ; preds = %8196, %8200
  %.str.26.sink4799 = phi ptr [ @.str.26, %8200 ], [ @.str.23, %8196 ]
  store i32 %8191, ptr %1317, align 4, !tbaa !5
  %8202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8203 = load i32, ptr @test_count, align 4, !tbaa !5
  %8204 = load i32, ptr %1263, align 4, !tbaa !5
  %8205 = call ptr @s2n_strerror(i32 noundef %8204, ptr noundef nonnull @.str.25) #12
  %8206 = load i32, ptr %1263, align 4, !tbaa !5
  %8207 = call ptr @s2n_strerror_debug(i32 noundef %8206, ptr noundef nonnull @.str.25) #12
  %8208 = load i32, ptr %1317, align 4, !tbaa !5
  %8209 = call ptr @strerror(i32 noundef %8208) #12
  %8210 = load i32, ptr %1317, align 4, !tbaa !5
  %8211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8202, ptr noundef nonnull %.str.26.sink4799, i32 noundef %8203, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.22, i32 noundef 940, ptr noundef %8205, ptr noundef %8207, ptr noundef %8209, i32 noundef %8210) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8212:                                             ; preds = %8181
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %63) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #12
  %8213 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %61) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #12
  %8214 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %60) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #12
  %8215 = call ptr @s2n_config_new() #12
  store ptr %8215, ptr %64, align 8, !tbaa !9
  %8216 = load i32, ptr @test_count, align 4, !tbaa !5
  %8217 = add nsw i32 %8216, 1
  store i32 %8217, ptr @test_count, align 4, !tbaa !5
  %8218 = icmp eq ptr %8215, null
  br i1 %8218, label %8219, label %8241

8219:                                             ; preds = %8212
  %8220 = load i32, ptr %1317, align 4, !tbaa !5
  %8221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8222 = call i32 @s2n_print_stacktrace(ptr noundef %8221) #12
  %8223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8224 = trunc nuw i8 %8223 to i1
  br i1 %8224, label %8225, label %8229

8225:                                             ; preds = %8219
  %8226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8227 = call i32 @fileno(ptr noundef %8226) #12
  %8228 = call i32 @isatty(i32 noundef %8227) #12
  %.not1954 = icmp eq i32 %8228, 0
  br i1 %.not1954, label %8229, label %8230

8229:                                             ; preds = %8225, %8219
  br label %8230

8230:                                             ; preds = %8225, %8229
  %.str.26.sink4808 = phi ptr [ @.str.26, %8229 ], [ @.str.23, %8225 ]
  store i32 %8220, ptr %1317, align 4, !tbaa !5
  %8231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8232 = load i32, ptr @test_count, align 4, !tbaa !5
  %8233 = load i32, ptr %1263, align 4, !tbaa !5
  %8234 = call ptr @s2n_strerror(i32 noundef %8233, ptr noundef nonnull @.str.25) #12
  %8235 = load i32, ptr %1263, align 4, !tbaa !5
  %8236 = call ptr @s2n_strerror_debug(i32 noundef %8235, ptr noundef nonnull @.str.25) #12
  %8237 = load i32, ptr %1317, align 4, !tbaa !5
  %8238 = call ptr @strerror(i32 noundef %8237) #12
  %8239 = load i32, ptr %1317, align 4, !tbaa !5
  %8240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8231, ptr noundef nonnull %.str.26.sink4808, i32 noundef %8232, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 954, ptr noundef %8234, ptr noundef %8236, ptr noundef %8238, i32 noundef %8239) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8241:                                             ; preds = %8212
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #12
  %8242 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %8242, ptr %65, align 8, !tbaa !9
  %8243 = load i32, ptr @test_count, align 4, !tbaa !5
  %8244 = add nsw i32 %8243, 1
  store i32 %8244, ptr @test_count, align 4, !tbaa !5
  %8245 = icmp eq ptr %8242, null
  br i1 %8245, label %8246, label %8268

8246:                                             ; preds = %8241
  %8247 = load i32, ptr %1317, align 4, !tbaa !5
  %8248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8249 = call i32 @s2n_print_stacktrace(ptr noundef %8248) #12
  %8250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8251 = trunc nuw i8 %8250 to i1
  br i1 %8251, label %8252, label %8256

8252:                                             ; preds = %8246
  %8253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8254 = call i32 @fileno(ptr noundef %8253) #12
  %8255 = call i32 @isatty(i32 noundef %8254) #12
  %.not1953 = icmp eq i32 %8255, 0
  br i1 %.not1953, label %8256, label %8257

8256:                                             ; preds = %8252, %8246
  br label %8257

8257:                                             ; preds = %8252, %8256
  %.str.26.sink4817 = phi ptr [ @.str.26, %8256 ], [ @.str.23, %8252 ]
  store i32 %8247, ptr %1317, align 4, !tbaa !5
  %8258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8259 = load i32, ptr @test_count, align 4, !tbaa !5
  %8260 = load i32, ptr %1263, align 4, !tbaa !5
  %8261 = call ptr @s2n_strerror(i32 noundef %8260, ptr noundef nonnull @.str.25) #12
  %8262 = load i32, ptr %1263, align 4, !tbaa !5
  %8263 = call ptr @s2n_strerror_debug(i32 noundef %8262, ptr noundef nonnull @.str.25) #12
  %8264 = load i32, ptr %1317, align 4, !tbaa !5
  %8265 = call ptr @strerror(i32 noundef %8264) #12
  %8266 = load i32, ptr %1317, align 4, !tbaa !5
  %8267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8258, ptr noundef nonnull %.str.26.sink4817, i32 noundef %8259, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 957, ptr noundef %8261, ptr noundef %8263, ptr noundef %8265, i32 noundef %8266) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8268:                                             ; preds = %8241
  %8269 = add nsw i32 %8243, 2
  store i32 %8269, ptr @test_count, align 4, !tbaa !5
  %8270 = load ptr, ptr %64, align 8, !tbaa !9
  %8271 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8242, ptr noundef %8270) #12
  %8272 = icmp eq i32 %8271, -1
  br i1 %8272, label %8273, label %8295

8273:                                             ; preds = %8268
  %8274 = load i32, ptr %1317, align 4, !tbaa !5
  %8275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8276 = call i32 @s2n_print_stacktrace(ptr noundef %8275) #12
  %8277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8278 = trunc nuw i8 %8277 to i1
  br i1 %8278, label %8279, label %8283

8279:                                             ; preds = %8273
  %8280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8281 = call i32 @fileno(ptr noundef %8280) #12
  %8282 = call i32 @isatty(i32 noundef %8281) #12
  %.not1952 = icmp eq i32 %8282, 0
  br i1 %.not1952, label %8283, label %8284

8283:                                             ; preds = %8279, %8273
  br label %8284

8284:                                             ; preds = %8279, %8283
  %.str.26.sink4826 = phi ptr [ @.str.26, %8283 ], [ @.str.23, %8279 ]
  store i32 %8274, ptr %1317, align 4, !tbaa !5
  %8285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8286 = load i32, ptr @test_count, align 4, !tbaa !5
  %8287 = load i32, ptr %1263, align 4, !tbaa !5
  %8288 = call ptr @s2n_strerror(i32 noundef %8287, ptr noundef nonnull @.str.25) #12
  %8289 = load i32, ptr %1263, align 4, !tbaa !5
  %8290 = call ptr @s2n_strerror_debug(i32 noundef %8289, ptr noundef nonnull @.str.25) #12
  %8291 = load i32, ptr %1317, align 4, !tbaa !5
  %8292 = call ptr @strerror(i32 noundef %8291) #12
  %8293 = load i32, ptr %1317, align 4, !tbaa !5
  %8294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8285, ptr noundef nonnull %.str.26.sink4826, i32 noundef %8286, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 958, ptr noundef %8288, ptr noundef %8290, ptr noundef %8292, i32 noundef %8293) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8295:                                             ; preds = %8268
  %8296 = load ptr, ptr %65, align 8, !tbaa !9
  %8297 = getelementptr inbounds i8, ptr %8296, i64 3780
  store i32 2, ptr %8297, align 4, !tbaa !75
  %8298 = load i32, ptr @test_count, align 4, !tbaa !5
  %8299 = add nsw i32 %8298, 1
  store i32 %8299, ptr @test_count, align 4, !tbaa !5
  %8300 = call i32 @s2n_server_nst_send(ptr noundef %8296)
  %8301 = icmp eq i32 %8300, -1
  br i1 %8301, label %8302, label %8324

8302:                                             ; preds = %8295
  %8303 = load i32, ptr %1317, align 4, !tbaa !5
  %8304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8305 = call i32 @s2n_print_stacktrace(ptr noundef %8304) #12
  %8306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8307 = trunc nuw i8 %8306 to i1
  br i1 %8307, label %8308, label %8312

8308:                                             ; preds = %8302
  %8309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8310 = call i32 @fileno(ptr noundef %8309) #12
  %8311 = call i32 @isatty(i32 noundef %8310) #12
  %.not1951 = icmp eq i32 %8311, 0
  br i1 %.not1951, label %8312, label %8313

8312:                                             ; preds = %8308, %8302
  br label %8313

8313:                                             ; preds = %8308, %8312
  %.str.26.sink4835 = phi ptr [ @.str.26, %8312 ], [ @.str.23, %8308 ]
  store i32 %8303, ptr %1317, align 4, !tbaa !5
  %8314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8315 = load i32, ptr @test_count, align 4, !tbaa !5
  %8316 = load i32, ptr %1263, align 4, !tbaa !5
  %8317 = call ptr @s2n_strerror(i32 noundef %8316, ptr noundef nonnull @.str.25) #12
  %8318 = load i32, ptr %1263, align 4, !tbaa !5
  %8319 = call ptr @s2n_strerror_debug(i32 noundef %8318, ptr noundef nonnull @.str.25) #12
  %8320 = load i32, ptr %1317, align 4, !tbaa !5
  %8321 = call ptr @strerror(i32 noundef %8320) #12
  %8322 = load i32, ptr %1317, align 4, !tbaa !5
  %8323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8314, ptr noundef nonnull %.str.26.sink4835, i32 noundef %8315, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.22, i32 noundef 962, ptr noundef %8317, ptr noundef %8319, ptr noundef %8321, i32 noundef %8322) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8324:                                             ; preds = %8295
  %8325 = load i32, ptr @test_count, align 4, !tbaa !5
  %8326 = add nsw i32 %8325, 1
  store i32 %8326, ptr @test_count, align 4, !tbaa !5
  %8327 = load ptr, ptr %65, align 8, !tbaa !9
  %8328 = call i32 @s2n_assert_tickets_sent(ptr noundef %8327, i16 noundef zeroext 0)
  %8329 = call zeroext i1 @s2n_result_is_ok(i32 %8328)
  br i1 %8329, label %8352, label %8330

8330:                                             ; preds = %8324
  %8331 = load i32, ptr %1317, align 4, !tbaa !5
  %8332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8333 = call i32 @s2n_print_stacktrace(ptr noundef %8332) #12
  %8334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8335 = trunc nuw i8 %8334 to i1
  br i1 %8335, label %8336, label %8340

8336:                                             ; preds = %8330
  %8337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8338 = call i32 @fileno(ptr noundef %8337) #12
  %8339 = call i32 @isatty(i32 noundef %8338) #12
  %.not1708 = icmp eq i32 %8339, 0
  br i1 %.not1708, label %8340, label %8341

8340:                                             ; preds = %8336, %8330
  br label %8341

8341:                                             ; preds = %8336, %8340
  %.str.26.sink4844 = phi ptr [ @.str.26, %8340 ], [ @.str.23, %8336 ]
  store i32 %8331, ptr %1317, align 4, !tbaa !5
  %8342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8343 = load i32, ptr @test_count, align 4, !tbaa !5
  %8344 = load i32, ptr %1263, align 4, !tbaa !5
  %8345 = call ptr @s2n_strerror(i32 noundef %8344, ptr noundef nonnull @.str.25) #12
  %8346 = load i32, ptr %1263, align 4, !tbaa !5
  %8347 = call ptr @s2n_strerror_debug(i32 noundef %8346, ptr noundef nonnull @.str.25) #12
  %8348 = load i32, ptr %1317, align 4, !tbaa !5
  %8349 = call ptr @strerror(i32 noundef %8348) #12
  %8350 = load i32, ptr %1317, align 4, !tbaa !5
  %8351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8342, ptr noundef nonnull %.str.26.sink4844, i32 noundef %8343, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.22, i32 noundef 963, ptr noundef %8345, ptr noundef %8347, ptr noundef %8349, i32 noundef %8350) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8352:                                             ; preds = %8324
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %66) #12
  store i32 0, ptr %66, align 4, !tbaa !5
  %8353 = load i32, ptr @test_count, align 4, !tbaa !5
  %8354 = add nsw i32 %8353, 1
  store i32 %8354, ptr @test_count, align 4, !tbaa !5
  %8355 = load ptr, ptr %65, align 8, !tbaa !9
  %8356 = getelementptr inbounds i8, ptr %8355, i64 2016
  %8357 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %8356, ptr noundef nonnull %66) #12
  %8358 = icmp eq i32 %8357, -1
  br i1 %8358, label %8359, label %8381

8359:                                             ; preds = %8352
  %8360 = load i32, ptr %1317, align 4, !tbaa !5
  %8361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8362 = call i32 @s2n_print_stacktrace(ptr noundef %8361) #12
  %8363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8364 = trunc nuw i8 %8363 to i1
  br i1 %8364, label %8365, label %8369

8365:                                             ; preds = %8359
  %8366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8367 = call i32 @fileno(ptr noundef %8366) #12
  %8368 = call i32 @isatty(i32 noundef %8367) #12
  %.not1950 = icmp eq i32 %8368, 0
  br i1 %.not1950, label %8369, label %8370

8369:                                             ; preds = %8365, %8359
  br label %8370

8370:                                             ; preds = %8365, %8369
  %.str.26.sink4853 = phi ptr [ @.str.26, %8369 ], [ @.str.23, %8365 ]
  store i32 %8360, ptr %1317, align 4, !tbaa !5
  %8371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8372 = load i32, ptr @test_count, align 4, !tbaa !5
  %8373 = load i32, ptr %1263, align 4, !tbaa !5
  %8374 = call ptr @s2n_strerror(i32 noundef %8373, ptr noundef nonnull @.str.25) #12
  %8375 = load i32, ptr %1263, align 4, !tbaa !5
  %8376 = call ptr @s2n_strerror_debug(i32 noundef %8375, ptr noundef nonnull @.str.25) #12
  %8377 = load i32, ptr %1317, align 4, !tbaa !5
  %8378 = call ptr @strerror(i32 noundef %8377) #12
  %8379 = load i32, ptr %1317, align 4, !tbaa !5
  %8380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8371, ptr noundef nonnull %.str.26.sink4853, i32 noundef %8372, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.22, i32 noundef 966, ptr noundef %8374, ptr noundef %8376, ptr noundef %8378, i32 noundef %8379) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8381:                                             ; preds = %8352
  %8382 = load i32, ptr @test_count, align 4, !tbaa !5
  %8383 = add nsw i32 %8382, 1
  store i32 %8383, ptr @test_count, align 4, !tbaa !5
  %8384 = load i32, ptr %66, align 4, !tbaa !5
  %8385 = icmp eq i32 %8384, 0
  br i1 %8385, label %8408, label %8386

8386:                                             ; preds = %8381
  %8387 = load i32, ptr %1317, align 4, !tbaa !5
  %8388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8389 = call i32 @s2n_print_stacktrace(ptr noundef %8388) #12
  %8390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8391 = trunc nuw i8 %8390 to i1
  br i1 %8391, label %8392, label %8396

8392:                                             ; preds = %8386
  %8393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8394 = call i32 @fileno(ptr noundef %8393) #12
  %8395 = call i32 @isatty(i32 noundef %8394) #12
  %.not1709 = icmp eq i32 %8395, 0
  br i1 %.not1709, label %8396, label %8397

8396:                                             ; preds = %8392, %8386
  br label %8397

8397:                                             ; preds = %8392, %8396
  %.str.26.sink4862 = phi ptr [ @.str.26, %8396 ], [ @.str.23, %8392 ]
  store i32 %8387, ptr %1317, align 4, !tbaa !5
  %8398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8399 = load i32, ptr @test_count, align 4, !tbaa !5
  %8400 = load i32, ptr %1263, align 4, !tbaa !5
  %8401 = call ptr @s2n_strerror(i32 noundef %8400, ptr noundef nonnull @.str.25) #12
  %8402 = load i32, ptr %1263, align 4, !tbaa !5
  %8403 = call ptr @s2n_strerror_debug(i32 noundef %8402, ptr noundef nonnull @.str.25) #12
  %8404 = load i32, ptr %1317, align 4, !tbaa !5
  %8405 = call ptr @strerror(i32 noundef %8404) #12
  %8406 = load i32, ptr %1317, align 4, !tbaa !5
  %8407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8398, ptr noundef nonnull %.str.26.sink4862, i32 noundef %8399, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.22, i32 noundef 967, ptr noundef %8401, ptr noundef %8403, ptr noundef %8405, i32 noundef %8406) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8408:                                             ; preds = %8381
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %67) #12
  store i16 0, ptr %67, align 2, !tbaa !54
  %8409 = add nsw i32 %8382, 2
  store i32 %8409, ptr @test_count, align 4, !tbaa !5
  %8410 = load ptr, ptr %65, align 8, !tbaa !9
  %8411 = getelementptr inbounds i8, ptr %8410, i64 2016
  %8412 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %8411, ptr noundef nonnull %67) #12
  %8413 = icmp eq i32 %8412, -1
  br i1 %8413, label %8414, label %8436

8414:                                             ; preds = %8408
  %8415 = load i32, ptr %1317, align 4, !tbaa !5
  %8416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8417 = call i32 @s2n_print_stacktrace(ptr noundef %8416) #12
  %8418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8419 = trunc nuw i8 %8418 to i1
  br i1 %8419, label %8420, label %8424

8420:                                             ; preds = %8414
  %8421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8422 = call i32 @fileno(ptr noundef %8421) #12
  %8423 = call i32 @isatty(i32 noundef %8422) #12
  %.not1949 = icmp eq i32 %8423, 0
  br i1 %.not1949, label %8424, label %8425

8424:                                             ; preds = %8420, %8414
  br label %8425

8425:                                             ; preds = %8420, %8424
  %.str.26.sink4871 = phi ptr [ @.str.26, %8424 ], [ @.str.23, %8420 ]
  store i32 %8415, ptr %1317, align 4, !tbaa !5
  %8426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8427 = load i32, ptr @test_count, align 4, !tbaa !5
  %8428 = load i32, ptr %1263, align 4, !tbaa !5
  %8429 = call ptr @s2n_strerror(i32 noundef %8428, ptr noundef nonnull @.str.25) #12
  %8430 = load i32, ptr %1263, align 4, !tbaa !5
  %8431 = call ptr @s2n_strerror_debug(i32 noundef %8430, ptr noundef nonnull @.str.25) #12
  %8432 = load i32, ptr %1317, align 4, !tbaa !5
  %8433 = call ptr @strerror(i32 noundef %8432) #12
  %8434 = load i32, ptr %1317, align 4, !tbaa !5
  %8435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8426, ptr noundef nonnull %.str.26.sink4871, i32 noundef %8427, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.22, i32 noundef 970, ptr noundef %8429, ptr noundef %8431, ptr noundef %8433, i32 noundef %8434) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8436:                                             ; preds = %8408
  %8437 = load i32, ptr @test_count, align 4, !tbaa !5
  %8438 = add nsw i32 %8437, 1
  store i32 %8438, ptr @test_count, align 4, !tbaa !5
  %8439 = load i16, ptr %67, align 2, !tbaa !54
  %8440 = icmp eq i16 %8439, 0
  br i1 %8440, label %8463, label %8441

8441:                                             ; preds = %8436
  %8442 = load i32, ptr %1317, align 4, !tbaa !5
  %8443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8444 = call i32 @s2n_print_stacktrace(ptr noundef %8443) #12
  %8445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8446 = trunc nuw i8 %8445 to i1
  br i1 %8446, label %8447, label %8451

8447:                                             ; preds = %8441
  %8448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8449 = call i32 @fileno(ptr noundef %8448) #12
  %8450 = call i32 @isatty(i32 noundef %8449) #12
  %.not1710 = icmp eq i32 %8450, 0
  br i1 %.not1710, label %8451, label %8452

8451:                                             ; preds = %8447, %8441
  br label %8452

8452:                                             ; preds = %8447, %8451
  %.str.26.sink4880 = phi ptr [ @.str.26, %8451 ], [ @.str.23, %8447 ]
  store i32 %8442, ptr %1317, align 4, !tbaa !5
  %8453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8454 = load i32, ptr @test_count, align 4, !tbaa !5
  %8455 = load i32, ptr %1263, align 4, !tbaa !5
  %8456 = call ptr @s2n_strerror(i32 noundef %8455, ptr noundef nonnull @.str.25) #12
  %8457 = load i32, ptr %1263, align 4, !tbaa !5
  %8458 = call ptr @s2n_strerror_debug(i32 noundef %8457, ptr noundef nonnull @.str.25) #12
  %8459 = load i32, ptr %1317, align 4, !tbaa !5
  %8460 = call ptr @strerror(i32 noundef %8459) #12
  %8461 = load i32, ptr %1317, align 4, !tbaa !5
  %8462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8453, ptr noundef nonnull %.str.26.sink4880, i32 noundef %8454, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.22, i32 noundef 971, ptr noundef %8456, ptr noundef %8458, ptr noundef %8460, i32 noundef %8461) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8463:                                             ; preds = %8436
  %8464 = add nsw i32 %8437, 2
  store i32 %8464, ptr @test_count, align 4, !tbaa !5
  %8465 = load ptr, ptr %65, align 8, !tbaa !9
  %8466 = getelementptr inbounds i8, ptr %8465, i64 2044
  %8467 = load i32, ptr %8466, align 4, !tbaa !76
  %8468 = getelementptr inbounds i8, ptr %8465, i64 2040
  %8469 = load i32, ptr %8468, align 8, !tbaa !77
  %8470 = icmp eq i32 %8467, %8469
  br i1 %8470, label %8493, label %8471

8471:                                             ; preds = %8463
  %8472 = load i32, ptr %1317, align 4, !tbaa !5
  %8473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8474 = call i32 @s2n_print_stacktrace(ptr noundef %8473) #12
  %8475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8476 = trunc nuw i8 %8475 to i1
  br i1 %8476, label %8477, label %8481

8477:                                             ; preds = %8471
  %8478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8479 = call i32 @fileno(ptr noundef %8478) #12
  %8480 = call i32 @isatty(i32 noundef %8479) #12
  %.not1711 = icmp eq i32 %8480, 0
  br i1 %.not1711, label %8481, label %8482

8481:                                             ; preds = %8477, %8471
  br label %8482

8482:                                             ; preds = %8477, %8481
  %.str.26.sink4889 = phi ptr [ @.str.26, %8481 ], [ @.str.23, %8477 ]
  store i32 %8472, ptr %1317, align 4, !tbaa !5
  %8483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8484 = load i32, ptr @test_count, align 4, !tbaa !5
  %8485 = load i32, ptr %1263, align 4, !tbaa !5
  %8486 = call ptr @s2n_strerror(i32 noundef %8485, ptr noundef nonnull @.str.25) #12
  %8487 = load i32, ptr %1263, align 4, !tbaa !5
  %8488 = call ptr @s2n_strerror_debug(i32 noundef %8487, ptr noundef nonnull @.str.25) #12
  %8489 = load i32, ptr %1317, align 4, !tbaa !5
  %8490 = call ptr @strerror(i32 noundef %8489) #12
  %8491 = load i32, ptr %1317, align 4, !tbaa !5
  %8492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8483, ptr noundef nonnull %.str.26.sink4889, i32 noundef %8484, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.22, i32 noundef 972, ptr noundef %8486, ptr noundef %8488, ptr noundef %8490, i32 noundef %8491) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8493:                                             ; preds = %8463
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %67) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #12
  %8494 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %65) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #12
  %8495 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %64) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #12
  %8496 = call ptr @s2n_config_new() #12
  store ptr %8496, ptr %68, align 8, !tbaa !9
  %8497 = load i32, ptr @test_count, align 4, !tbaa !5
  %8498 = add nsw i32 %8497, 1
  store i32 %8498, ptr @test_count, align 4, !tbaa !5
  %8499 = icmp eq ptr %8496, null
  br i1 %8499, label %8500, label %8522

8500:                                             ; preds = %8493
  %8501 = load i32, ptr %1317, align 4, !tbaa !5
  %8502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8503 = call i32 @s2n_print_stacktrace(ptr noundef %8502) #12
  %8504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8505 = trunc nuw i8 %8504 to i1
  br i1 %8505, label %8506, label %8510

8506:                                             ; preds = %8500
  %8507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8508 = call i32 @fileno(ptr noundef %8507) #12
  %8509 = call i32 @isatty(i32 noundef %8508) #12
  %.not1948 = icmp eq i32 %8509, 0
  br i1 %.not1948, label %8510, label %8511

8510:                                             ; preds = %8506, %8500
  br label %8511

8511:                                             ; preds = %8506, %8510
  %.str.26.sink4898 = phi ptr [ @.str.26, %8510 ], [ @.str.23, %8506 ]
  store i32 %8501, ptr %1317, align 4, !tbaa !5
  %8512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8513 = load i32, ptr @test_count, align 4, !tbaa !5
  %8514 = load i32, ptr %1263, align 4, !tbaa !5
  %8515 = call ptr @s2n_strerror(i32 noundef %8514, ptr noundef nonnull @.str.25) #12
  %8516 = load i32, ptr %1263, align 4, !tbaa !5
  %8517 = call ptr @s2n_strerror_debug(i32 noundef %8516, ptr noundef nonnull @.str.25) #12
  %8518 = load i32, ptr %1317, align 4, !tbaa !5
  %8519 = call ptr @strerror(i32 noundef %8518) #12
  %8520 = load i32, ptr %1317, align 4, !tbaa !5
  %8521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8512, ptr noundef nonnull %.str.26.sink4898, i32 noundef %8513, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 978, ptr noundef %8515, ptr noundef %8517, ptr noundef %8519, i32 noundef %8520) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8522:                                             ; preds = %8493
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #12
  %8523 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %8523, ptr %69, align 8, !tbaa !9
  %8524 = load i32, ptr @test_count, align 4, !tbaa !5
  %8525 = add nsw i32 %8524, 1
  store i32 %8525, ptr @test_count, align 4, !tbaa !5
  %8526 = icmp eq ptr %8523, null
  br i1 %8526, label %8527, label %8549

8527:                                             ; preds = %8522
  %8528 = load i32, ptr %1317, align 4, !tbaa !5
  %8529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8530 = call i32 @s2n_print_stacktrace(ptr noundef %8529) #12
  %8531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8532 = trunc nuw i8 %8531 to i1
  br i1 %8532, label %8533, label %8537

8533:                                             ; preds = %8527
  %8534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8535 = call i32 @fileno(ptr noundef %8534) #12
  %8536 = call i32 @isatty(i32 noundef %8535) #12
  %.not1947 = icmp eq i32 %8536, 0
  br i1 %.not1947, label %8537, label %8538

8537:                                             ; preds = %8533, %8527
  br label %8538

8538:                                             ; preds = %8533, %8537
  %.str.26.sink4907 = phi ptr [ @.str.26, %8537 ], [ @.str.23, %8533 ]
  store i32 %8528, ptr %1317, align 4, !tbaa !5
  %8539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8540 = load i32, ptr @test_count, align 4, !tbaa !5
  %8541 = load i32, ptr %1263, align 4, !tbaa !5
  %8542 = call ptr @s2n_strerror(i32 noundef %8541, ptr noundef nonnull @.str.25) #12
  %8543 = load i32, ptr %1263, align 4, !tbaa !5
  %8544 = call ptr @s2n_strerror_debug(i32 noundef %8543, ptr noundef nonnull @.str.25) #12
  %8545 = load i32, ptr %1317, align 4, !tbaa !5
  %8546 = call ptr @strerror(i32 noundef %8545) #12
  %8547 = load i32, ptr %1317, align 4, !tbaa !5
  %8548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8539, ptr noundef nonnull %.str.26.sink4907, i32 noundef %8540, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 981, ptr noundef %8542, ptr noundef %8544, ptr noundef %8546, i32 noundef %8547) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8549:                                             ; preds = %8522
  %8550 = add nsw i32 %8524, 2
  store i32 %8550, ptr @test_count, align 4, !tbaa !5
  %8551 = load ptr, ptr %68, align 8, !tbaa !9
  %8552 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8523, ptr noundef %8551) #12
  %8553 = icmp eq i32 %8552, -1
  br i1 %8553, label %8554, label %8576

8554:                                             ; preds = %8549
  %8555 = load i32, ptr %1317, align 4, !tbaa !5
  %8556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8557 = call i32 @s2n_print_stacktrace(ptr noundef %8556) #12
  %8558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8559 = trunc nuw i8 %8558 to i1
  br i1 %8559, label %8560, label %8564

8560:                                             ; preds = %8554
  %8561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8562 = call i32 @fileno(ptr noundef %8561) #12
  %8563 = call i32 @isatty(i32 noundef %8562) #12
  %.not1946 = icmp eq i32 %8563, 0
  br i1 %.not1946, label %8564, label %8565

8564:                                             ; preds = %8560, %8554
  br label %8565

8565:                                             ; preds = %8560, %8564
  %.str.26.sink4916 = phi ptr [ @.str.26, %8564 ], [ @.str.23, %8560 ]
  store i32 %8555, ptr %1317, align 4, !tbaa !5
  %8566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8567 = load i32, ptr @test_count, align 4, !tbaa !5
  %8568 = load i32, ptr %1263, align 4, !tbaa !5
  %8569 = call ptr @s2n_strerror(i32 noundef %8568, ptr noundef nonnull @.str.25) #12
  %8570 = load i32, ptr %1263, align 4, !tbaa !5
  %8571 = call ptr @s2n_strerror_debug(i32 noundef %8570, ptr noundef nonnull @.str.25) #12
  %8572 = load i32, ptr %1317, align 4, !tbaa !5
  %8573 = call ptr @strerror(i32 noundef %8572) #12
  %8574 = load i32, ptr %1317, align 4, !tbaa !5
  %8575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8566, ptr noundef nonnull %.str.26.sink4916, i32 noundef %8567, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 982, ptr noundef %8569, ptr noundef %8571, ptr noundef %8573, i32 noundef %8574) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8576:                                             ; preds = %8549
  %8577 = load ptr, ptr %69, align 8, !tbaa !9
  %8578 = getelementptr inbounds i8, ptr %8577, i64 3780
  store i32 2, ptr %8578, align 4, !tbaa !75
  %8579 = getelementptr inbounds i8, ptr %8577, i64 8
  %8580 = load ptr, ptr %8579, align 8, !tbaa !78
  %8581 = getelementptr inbounds i8, ptr %8580, i64 160
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %8581, i8 0, i64 16, i1 false)
  %8582 = load i32, ptr @test_count, align 4, !tbaa !5
  %8583 = add nsw i32 %8582, 1
  store i32 %8583, ptr @test_count, align 4, !tbaa !5
  %8584 = call i32 @s2n_server_nst_send(ptr noundef %8577)
  %8585 = icmp eq i32 %8584, -1
  br i1 %8585, label %8586, label %8608

8586:                                             ; preds = %8576
  %8587 = load i32, ptr %1317, align 4, !tbaa !5
  %8588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8589 = call i32 @s2n_print_stacktrace(ptr noundef %8588) #12
  %8590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8591 = trunc nuw i8 %8590 to i1
  br i1 %8591, label %8592, label %8596

8592:                                             ; preds = %8586
  %8593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8594 = call i32 @fileno(ptr noundef %8593) #12
  %8595 = call i32 @isatty(i32 noundef %8594) #12
  %.not1945 = icmp eq i32 %8595, 0
  br i1 %.not1945, label %8596, label %8597

8596:                                             ; preds = %8592, %8586
  br label %8597

8597:                                             ; preds = %8592, %8596
  %.str.26.sink4925 = phi ptr [ @.str.26, %8596 ], [ @.str.23, %8592 ]
  store i32 %8587, ptr %1317, align 4, !tbaa !5
  %8598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8599 = load i32, ptr @test_count, align 4, !tbaa !5
  %8600 = load i32, ptr %1263, align 4, !tbaa !5
  %8601 = call ptr @s2n_strerror(i32 noundef %8600, ptr noundef nonnull @.str.25) #12
  %8602 = load i32, ptr %1263, align 4, !tbaa !5
  %8603 = call ptr @s2n_strerror_debug(i32 noundef %8602, ptr noundef nonnull @.str.25) #12
  %8604 = load i32, ptr %1317, align 4, !tbaa !5
  %8605 = call ptr @strerror(i32 noundef %8604) #12
  %8606 = load i32, ptr %1317, align 4, !tbaa !5
  %8607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8598, ptr noundef nonnull %.str.26.sink4925, i32 noundef %8599, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.22, i32 noundef 990, ptr noundef %8601, ptr noundef %8603, ptr noundef %8605, i32 noundef %8606) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8608:                                             ; preds = %8576
  %8609 = load i32, ptr @test_count, align 4, !tbaa !5
  %8610 = add nsw i32 %8609, 1
  store i32 %8610, ptr @test_count, align 4, !tbaa !5
  %8611 = load ptr, ptr %69, align 8, !tbaa !9
  %8612 = call i32 @s2n_assert_tickets_sent(ptr noundef %8611, i16 noundef zeroext 0)
  %8613 = call zeroext i1 @s2n_result_is_ok(i32 %8612)
  br i1 %8613, label %8636, label %8614

8614:                                             ; preds = %8608
  %8615 = load i32, ptr %1317, align 4, !tbaa !5
  %8616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8617 = call i32 @s2n_print_stacktrace(ptr noundef %8616) #12
  %8618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8619 = trunc nuw i8 %8618 to i1
  br i1 %8619, label %8620, label %8624

8620:                                             ; preds = %8614
  %8621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8622 = call i32 @fileno(ptr noundef %8621) #12
  %8623 = call i32 @isatty(i32 noundef %8622) #12
  %.not1712 = icmp eq i32 %8623, 0
  br i1 %.not1712, label %8624, label %8625

8624:                                             ; preds = %8620, %8614
  br label %8625

8625:                                             ; preds = %8620, %8624
  %.str.26.sink4934 = phi ptr [ @.str.26, %8624 ], [ @.str.23, %8620 ]
  store i32 %8615, ptr %1317, align 4, !tbaa !5
  %8626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8627 = load i32, ptr @test_count, align 4, !tbaa !5
  %8628 = load i32, ptr %1263, align 4, !tbaa !5
  %8629 = call ptr @s2n_strerror(i32 noundef %8628, ptr noundef nonnull @.str.25) #12
  %8630 = load i32, ptr %1263, align 4, !tbaa !5
  %8631 = call ptr @s2n_strerror_debug(i32 noundef %8630, ptr noundef nonnull @.str.25) #12
  %8632 = load i32, ptr %1317, align 4, !tbaa !5
  %8633 = call ptr @strerror(i32 noundef %8632) #12
  %8634 = load i32, ptr %1317, align 4, !tbaa !5
  %8635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8626, ptr noundef nonnull %.str.26.sink4934, i32 noundef %8627, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.22, i32 noundef 991, ptr noundef %8629, ptr noundef %8631, ptr noundef %8633, i32 noundef %8634) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8636:                                             ; preds = %8608
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %70) #12
  store i32 0, ptr %70, align 4, !tbaa !5
  %8637 = load i32, ptr @test_count, align 4, !tbaa !5
  %8638 = add nsw i32 %8637, 1
  store i32 %8638, ptr @test_count, align 4, !tbaa !5
  %8639 = load ptr, ptr %69, align 8, !tbaa !9
  %8640 = getelementptr inbounds i8, ptr %8639, i64 2016
  %8641 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %8640, ptr noundef nonnull %70) #12
  %8642 = icmp eq i32 %8641, -1
  br i1 %8642, label %8643, label %8665

8643:                                             ; preds = %8636
  %8644 = load i32, ptr %1317, align 4, !tbaa !5
  %8645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8646 = call i32 @s2n_print_stacktrace(ptr noundef %8645) #12
  %8647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8648 = trunc nuw i8 %8647 to i1
  br i1 %8648, label %8649, label %8653

8649:                                             ; preds = %8643
  %8650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8651 = call i32 @fileno(ptr noundef %8650) #12
  %8652 = call i32 @isatty(i32 noundef %8651) #12
  %.not1944 = icmp eq i32 %8652, 0
  br i1 %.not1944, label %8653, label %8654

8653:                                             ; preds = %8649, %8643
  br label %8654

8654:                                             ; preds = %8649, %8653
  %.str.26.sink4943 = phi ptr [ @.str.26, %8653 ], [ @.str.23, %8649 ]
  store i32 %8644, ptr %1317, align 4, !tbaa !5
  %8655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8656 = load i32, ptr @test_count, align 4, !tbaa !5
  %8657 = load i32, ptr %1263, align 4, !tbaa !5
  %8658 = call ptr @s2n_strerror(i32 noundef %8657, ptr noundef nonnull @.str.25) #12
  %8659 = load i32, ptr %1263, align 4, !tbaa !5
  %8660 = call ptr @s2n_strerror_debug(i32 noundef %8659, ptr noundef nonnull @.str.25) #12
  %8661 = load i32, ptr %1317, align 4, !tbaa !5
  %8662 = call ptr @strerror(i32 noundef %8661) #12
  %8663 = load i32, ptr %1317, align 4, !tbaa !5
  %8664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8655, ptr noundef nonnull %.str.26.sink4943, i32 noundef %8656, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.22, i32 noundef 994, ptr noundef %8658, ptr noundef %8660, ptr noundef %8662, i32 noundef %8663) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8665:                                             ; preds = %8636
  %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 i32, ptr %70, align 4, !tbaa !5
  %8669 = icmp eq i32 %8668, 0
  br i1 %8669, label %8692, label %8670

8670:                                             ; preds = %8665
  %8671 = load i32, ptr %1317, align 4, !tbaa !5
  %8672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8673 = call i32 @s2n_print_stacktrace(ptr noundef %8672) #12
  %8674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8675 = trunc nuw i8 %8674 to i1
  br i1 %8675, label %8676, label %8680

8676:                                             ; preds = %8670
  %8677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8678 = call i32 @fileno(ptr noundef %8677) #12
  %8679 = call i32 @isatty(i32 noundef %8678) #12
  %.not1713 = icmp eq i32 %8679, 0
  br i1 %.not1713, label %8680, label %8681

8680:                                             ; preds = %8676, %8670
  br label %8681

8681:                                             ; preds = %8676, %8680
  %.str.26.sink4952 = phi ptr [ @.str.26, %8680 ], [ @.str.23, %8676 ]
  store i32 %8671, ptr %1317, align 4, !tbaa !5
  %8682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8683 = load i32, ptr @test_count, align 4, !tbaa !5
  %8684 = load i32, ptr %1263, align 4, !tbaa !5
  %8685 = call ptr @s2n_strerror(i32 noundef %8684, ptr noundef nonnull @.str.25) #12
  %8686 = load i32, ptr %1263, align 4, !tbaa !5
  %8687 = call ptr @s2n_strerror_debug(i32 noundef %8686, ptr noundef nonnull @.str.25) #12
  %8688 = load i32, ptr %1317, align 4, !tbaa !5
  %8689 = call ptr @strerror(i32 noundef %8688) #12
  %8690 = load i32, ptr %1317, align 4, !tbaa !5
  %8691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8682, ptr noundef nonnull %.str.26.sink4952, i32 noundef %8683, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.22, i32 noundef 995, ptr noundef %8685, ptr noundef %8687, ptr noundef %8689, i32 noundef %8690) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8692:                                             ; preds = %8665
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %71) #12
  store i16 0, ptr %71, align 2, !tbaa !54
  %8693 = add nsw i32 %8666, 2
  store i32 %8693, ptr @test_count, align 4, !tbaa !5
  %8694 = load ptr, ptr %69, align 8, !tbaa !9
  %8695 = getelementptr inbounds i8, ptr %8694, i64 2016
  %8696 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %8695, ptr noundef nonnull %71) #12
  %8697 = icmp eq i32 %8696, -1
  br i1 %8697, label %8698, label %8720

8698:                                             ; preds = %8692
  %8699 = load i32, ptr %1317, align 4, !tbaa !5
  %8700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8701 = call i32 @s2n_print_stacktrace(ptr noundef %8700) #12
  %8702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8703 = trunc nuw i8 %8702 to i1
  br i1 %8703, label %8704, label %8708

8704:                                             ; preds = %8698
  %8705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8706 = call i32 @fileno(ptr noundef %8705) #12
  %8707 = call i32 @isatty(i32 noundef %8706) #12
  %.not1943 = icmp eq i32 %8707, 0
  br i1 %.not1943, label %8708, label %8709

8708:                                             ; preds = %8704, %8698
  br label %8709

8709:                                             ; preds = %8704, %8708
  %.str.26.sink4961 = phi ptr [ @.str.26, %8708 ], [ @.str.23, %8704 ]
  store i32 %8699, ptr %1317, align 4, !tbaa !5
  %8710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8711 = load i32, ptr @test_count, align 4, !tbaa !5
  %8712 = load i32, ptr %1263, align 4, !tbaa !5
  %8713 = call ptr @s2n_strerror(i32 noundef %8712, ptr noundef nonnull @.str.25) #12
  %8714 = load i32, ptr %1263, align 4, !tbaa !5
  %8715 = call ptr @s2n_strerror_debug(i32 noundef %8714, ptr noundef nonnull @.str.25) #12
  %8716 = load i32, ptr %1317, align 4, !tbaa !5
  %8717 = call ptr @strerror(i32 noundef %8716) #12
  %8718 = load i32, ptr %1317, align 4, !tbaa !5
  %8719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8710, ptr noundef nonnull %.str.26.sink4961, i32 noundef %8711, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.22, i32 noundef 998, ptr noundef %8713, ptr noundef %8715, ptr noundef %8717, i32 noundef %8718) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8720:                                             ; preds = %8692
  %8721 = load i32, ptr @test_count, align 4, !tbaa !5
  %8722 = add nsw i32 %8721, 1
  store i32 %8722, ptr @test_count, align 4, !tbaa !5
  %8723 = load i16, ptr %71, align 2, !tbaa !54
  %8724 = icmp eq i16 %8723, 0
  br i1 %8724, label %8747, label %8725

8725:                                             ; preds = %8720
  %8726 = load i32, ptr %1317, align 4, !tbaa !5
  %8727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8728 = call i32 @s2n_print_stacktrace(ptr noundef %8727) #12
  %8729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8730 = trunc nuw i8 %8729 to i1
  br i1 %8730, label %8731, label %8735

8731:                                             ; preds = %8725
  %8732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8733 = call i32 @fileno(ptr noundef %8732) #12
  %8734 = call i32 @isatty(i32 noundef %8733) #12
  %.not1714 = icmp eq i32 %8734, 0
  br i1 %.not1714, label %8735, label %8736

8735:                                             ; preds = %8731, %8725
  br label %8736

8736:                                             ; preds = %8731, %8735
  %.str.26.sink4970 = phi ptr [ @.str.26, %8735 ], [ @.str.23, %8731 ]
  store i32 %8726, ptr %1317, align 4, !tbaa !5
  %8737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8738 = load i32, ptr @test_count, align 4, !tbaa !5
  %8739 = load i32, ptr %1263, align 4, !tbaa !5
  %8740 = call ptr @s2n_strerror(i32 noundef %8739, ptr noundef nonnull @.str.25) #12
  %8741 = load i32, ptr %1263, align 4, !tbaa !5
  %8742 = call ptr @s2n_strerror_debug(i32 noundef %8741, ptr noundef nonnull @.str.25) #12
  %8743 = load i32, ptr %1317, align 4, !tbaa !5
  %8744 = call ptr @strerror(i32 noundef %8743) #12
  %8745 = load i32, ptr %1317, align 4, !tbaa !5
  %8746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8737, ptr noundef nonnull %.str.26.sink4970, i32 noundef %8738, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.22, i32 noundef 999, ptr noundef %8740, ptr noundef %8742, ptr noundef %8744, i32 noundef %8745) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8747:                                             ; preds = %8720
  %8748 = add nsw i32 %8721, 2
  store i32 %8748, ptr @test_count, align 4, !tbaa !5
  %8749 = load ptr, ptr %69, align 8, !tbaa !9
  %8750 = getelementptr inbounds i8, ptr %8749, i64 2044
  %8751 = load i32, ptr %8750, align 4, !tbaa !76
  %8752 = getelementptr inbounds i8, ptr %8749, i64 2040
  %8753 = load i32, ptr %8752, align 8, !tbaa !77
  %8754 = icmp eq i32 %8751, %8753
  br i1 %8754, label %8777, label %8755

8755:                                             ; preds = %8747
  %8756 = load i32, ptr %1317, align 4, !tbaa !5
  %8757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8758 = call i32 @s2n_print_stacktrace(ptr noundef %8757) #12
  %8759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8760 = trunc nuw i8 %8759 to i1
  br i1 %8760, label %8761, label %8765

8761:                                             ; preds = %8755
  %8762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8763 = call i32 @fileno(ptr noundef %8762) #12
  %8764 = call i32 @isatty(i32 noundef %8763) #12
  %.not1715 = icmp eq i32 %8764, 0
  br i1 %.not1715, label %8765, label %8766

8765:                                             ; preds = %8761, %8755
  br label %8766

8766:                                             ; preds = %8761, %8765
  %.str.26.sink4979 = phi ptr [ @.str.26, %8765 ], [ @.str.23, %8761 ]
  store i32 %8756, ptr %1317, align 4, !tbaa !5
  %8767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8768 = load i32, ptr @test_count, align 4, !tbaa !5
  %8769 = load i32, ptr %1263, align 4, !tbaa !5
  %8770 = call ptr @s2n_strerror(i32 noundef %8769, ptr noundef nonnull @.str.25) #12
  %8771 = load i32, ptr %1263, align 4, !tbaa !5
  %8772 = call ptr @s2n_strerror_debug(i32 noundef %8771, ptr noundef nonnull @.str.25) #12
  %8773 = load i32, ptr %1317, align 4, !tbaa !5
  %8774 = call ptr @strerror(i32 noundef %8773) #12
  %8775 = load i32, ptr %1317, align 4, !tbaa !5
  %8776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8767, ptr noundef nonnull %.str.26.sink4979, i32 noundef %8768, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.22, i32 noundef 1000, ptr noundef %8770, ptr noundef %8772, ptr noundef %8774, i32 noundef %8775) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8777:                                             ; preds = %8747
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %71) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #12
  %8778 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %69) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #12
  %8779 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %68) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #12
  %8780 = load i32, ptr @test_count, align 4, !tbaa !5
  %8781 = add nsw i32 %8780, 1
  store i32 %8781, ptr @test_count, align 4, !tbaa !5
  %8782 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %8783 = icmp eq ptr %8782, null
  br i1 %8783, label %8784, label %8806

8784:                                             ; preds = %8777
  %8785 = load i32, ptr %1317, align 4, !tbaa !5
  %8786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8787 = call i32 @s2n_print_stacktrace(ptr noundef %8786) #12
  %8788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8789 = trunc nuw i8 %8788 to i1
  br i1 %8789, label %8790, label %8794

8790:                                             ; preds = %8784
  %8791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8792 = call i32 @fileno(ptr noundef %8791) #12
  %8793 = call i32 @isatty(i32 noundef %8792) #12
  %.not1942 = icmp eq i32 %8793, 0
  br i1 %.not1942, label %8794, label %8795

8794:                                             ; preds = %8790, %8784
  br label %8795

8795:                                             ; preds = %8790, %8794
  %.str.26.sink4988 = phi ptr [ @.str.26, %8794 ], [ @.str.23, %8790 ]
  store i32 %8785, ptr %1317, align 4, !tbaa !5
  %8796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8797 = load i32, ptr @test_count, align 4, !tbaa !5
  %8798 = load i32, ptr %1263, align 4, !tbaa !5
  %8799 = call ptr @s2n_strerror(i32 noundef %8798, ptr noundef nonnull @.str.25) #12
  %8800 = load i32, ptr %1263, align 4, !tbaa !5
  %8801 = call ptr @s2n_strerror_debug(i32 noundef %8800, ptr noundef nonnull @.str.25) #12
  %8802 = load i32, ptr %1317, align 4, !tbaa !5
  %8803 = call ptr @strerror(i32 noundef %8802) #12
  %8804 = load i32, ptr %1317, align 4, !tbaa !5
  %8805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8796, ptr noundef nonnull %.str.26.sink4988, i32 noundef %8797, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.22, i32 noundef 1009, ptr noundef %8799, ptr noundef %8801, ptr noundef %8803, i32 noundef %8804) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8806:                                             ; preds = %8777
  %8807 = getelementptr inbounds i8, ptr %8782, i64 220
  store i8 34, ptr %8807, align 4, !tbaa !17
  %8808 = getelementptr inbounds i8, ptr %8782, i64 4084
  store i16 1, ptr %8808, align 4, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %72) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %72, i8 0, i64 40, i1 false)
  %8809 = load i32, ptr @test_count, align 4, !tbaa !5
  %8810 = add nsw i32 %8809, 1
  store i32 %8810, ptr @test_count, align 4, !tbaa !5
  %8811 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %72, i32 noundef 0) #12
  %8812 = icmp eq i32 %8811, -1
  br i1 %8812, label %8813, label %8835

8813:                                             ; preds = %8806
  %8814 = load i32, ptr %1317, align 4, !tbaa !5
  %8815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8816 = call i32 @s2n_print_stacktrace(ptr noundef %8815) #12
  %8817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8818 = trunc nuw i8 %8817 to i1
  br i1 %8818, label %8819, label %8823

8819:                                             ; preds = %8813
  %8820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8821 = call i32 @fileno(ptr noundef %8820) #12
  %8822 = call i32 @isatty(i32 noundef %8821) #12
  %.not1941 = icmp eq i32 %8822, 0
  br i1 %.not1941, label %8823, label %8824

8823:                                             ; preds = %8819, %8813
  br label %8824

8824:                                             ; preds = %8819, %8823
  %.str.26.sink4997 = phi ptr [ @.str.26, %8823 ], [ @.str.23, %8819 ]
  store i32 %8814, ptr %1317, align 4, !tbaa !5
  %8825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8826 = load i32, ptr @test_count, align 4, !tbaa !5
  %8827 = load i32, ptr %1263, align 4, !tbaa !5
  %8828 = call ptr @s2n_strerror(i32 noundef %8827, ptr noundef nonnull @.str.25) #12
  %8829 = load i32, ptr %1263, align 4, !tbaa !5
  %8830 = call ptr @s2n_strerror_debug(i32 noundef %8829, ptr noundef nonnull @.str.25) #12
  %8831 = load i32, ptr %1317, align 4, !tbaa !5
  %8832 = call ptr @strerror(i32 noundef %8831) #12
  %8833 = load i32, ptr %1317, align 4, !tbaa !5
  %8834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8825, ptr noundef nonnull %.str.26.sink4997, i32 noundef %8826, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 1015, ptr noundef %8828, ptr noundef %8830, ptr noundef %8832, i32 noundef %8833) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8835:                                             ; preds = %8806
  %8836 = load i32, ptr @test_count, align 4, !tbaa !5
  %8837 = add nsw i32 %8836, 1
  store i32 %8837, ptr @test_count, align 4, !tbaa !5
  %8838 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %72, ptr noundef nonnull %72, ptr noundef nonnull %8782) #12
  %8839 = icmp eq i32 %8838, -1
  br i1 %8839, label %8840, label %8862

8840:                                             ; preds = %8835
  %8841 = load i32, ptr %1317, align 4, !tbaa !5
  %8842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8843 = call i32 @s2n_print_stacktrace(ptr noundef %8842) #12
  %8844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8845 = trunc nuw i8 %8844 to i1
  br i1 %8845, label %8846, label %8850

8846:                                             ; preds = %8840
  %8847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8848 = call i32 @fileno(ptr noundef %8847) #12
  %8849 = call i32 @isatty(i32 noundef %8848) #12
  %.not1940 = icmp eq i32 %8849, 0
  br i1 %.not1940, label %8850, label %8851

8850:                                             ; preds = %8846, %8840
  br label %8851

8851:                                             ; preds = %8846, %8850
  %.str.26.sink5006 = phi ptr [ @.str.26, %8850 ], [ @.str.23, %8846 ]
  store i32 %8841, ptr %1317, align 4, !tbaa !5
  %8852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8853 = load i32, ptr @test_count, align 4, !tbaa !5
  %8854 = load i32, ptr %1263, align 4, !tbaa !5
  %8855 = call ptr @s2n_strerror(i32 noundef %8854, ptr noundef nonnull @.str.25) #12
  %8856 = load i32, ptr %1263, align 4, !tbaa !5
  %8857 = call ptr @s2n_strerror_debug(i32 noundef %8856, ptr noundef nonnull @.str.25) #12
  %8858 = load i32, ptr %1317, align 4, !tbaa !5
  %8859 = call ptr @strerror(i32 noundef %8858) #12
  %8860 = load i32, ptr %1317, align 4, !tbaa !5
  %8861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8852, ptr noundef nonnull %.str.26.sink5006, i32 noundef %8853, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.22, i32 noundef 1016, ptr noundef %8855, ptr noundef %8857, ptr noundef %8859, i32 noundef %8860) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8862:                                             ; preds = %8835
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %73) #12
  store i32 0, ptr %73, align 4, !tbaa !5
  %8863 = load i32, ptr @test_count, align 4, !tbaa !5
  %8864 = add nsw i32 %8863, 1
  store i32 %8864, ptr @test_count, align 4, !tbaa !5
  %8865 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %8782, ptr noundef nonnull %73)
  %8866 = call zeroext i1 @s2n_result_is_ok(i32 %8865)
  br i1 %8866, label %8889, label %8867

8867:                                             ; preds = %8862
  %8868 = load i32, ptr %1317, align 4, !tbaa !5
  %8869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8870 = call i32 @s2n_print_stacktrace(ptr noundef %8869) #12
  %8871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8872 = trunc nuw i8 %8871 to i1
  br i1 %8872, label %8873, label %8877

8873:                                             ; preds = %8867
  %8874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8875 = call i32 @fileno(ptr noundef %8874) #12
  %8876 = call i32 @isatty(i32 noundef %8875) #12
  %.not1716 = icmp eq i32 %8876, 0
  br i1 %.not1716, label %8877, label %8878

8877:                                             ; preds = %8873, %8867
  br label %8878

8878:                                             ; preds = %8873, %8877
  %.str.26.sink5015 = phi ptr [ @.str.26, %8877 ], [ @.str.23, %8873 ]
  store i32 %8868, ptr %1317, align 4, !tbaa !5
  %8879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8880 = load i32, ptr @test_count, align 4, !tbaa !5
  %8881 = load i32, ptr %1263, align 4, !tbaa !5
  %8882 = call ptr @s2n_strerror(i32 noundef %8881, ptr noundef nonnull @.str.25) #12
  %8883 = load i32, ptr %1263, align 4, !tbaa !5
  %8884 = call ptr @s2n_strerror_debug(i32 noundef %8883, ptr noundef nonnull @.str.25) #12
  %8885 = load i32, ptr %1317, align 4, !tbaa !5
  %8886 = call ptr @strerror(i32 noundef %8885) #12
  %8887 = load i32, ptr %1317, align 4, !tbaa !5
  %8888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8879, ptr noundef nonnull %.str.26.sink5015, i32 noundef %8880, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1019, ptr noundef %8882, ptr noundef %8884, ptr noundef %8886, i32 noundef %8887) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8889:                                             ; preds = %8862
  %8890 = load i32, ptr @test_count, align 4, !tbaa !5
  %8891 = add nsw i32 %8890, 1
  store i32 %8891, ptr @test_count, align 4, !tbaa !5
  %8892 = getelementptr inbounds i8, ptr %72, i64 28
  %8893 = load i32, ptr %8892, align 4, !tbaa !51
  %8894 = getelementptr inbounds i8, ptr %72, i64 24
  %8895 = load i32, ptr %8894, align 8, !tbaa !52
  %8896 = icmp eq i32 %8893, %8895
  br i1 %8896, label %8919, label %8897

8897:                                             ; preds = %8889
  %8898 = load i32, ptr %1317, align 4, !tbaa !5
  %8899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8900 = call i32 @s2n_print_stacktrace(ptr noundef %8899) #12
  %8901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8902 = trunc nuw i8 %8901 to i1
  br i1 %8902, label %8903, label %8907

8903:                                             ; preds = %8897
  %8904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8905 = call i32 @fileno(ptr noundef %8904) #12
  %8906 = call i32 @isatty(i32 noundef %8905) #12
  %.not1717 = icmp eq i32 %8906, 0
  br i1 %.not1717, label %8907, label %8908

8907:                                             ; preds = %8903, %8897
  br label %8908

8908:                                             ; preds = %8903, %8907
  %.str.26.sink5024 = phi ptr [ @.str.26, %8907 ], [ @.str.23, %8903 ]
  store i32 %8898, ptr %1317, align 4, !tbaa !5
  %8909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8910 = load i32, ptr @test_count, align 4, !tbaa !5
  %8911 = load i32, ptr %1263, align 4, !tbaa !5
  %8912 = call ptr @s2n_strerror(i32 noundef %8911, ptr noundef nonnull @.str.25) #12
  %8913 = load i32, ptr %1263, align 4, !tbaa !5
  %8914 = call ptr @s2n_strerror_debug(i32 noundef %8913, ptr noundef nonnull @.str.25) #12
  %8915 = load i32, ptr %1317, align 4, !tbaa !5
  %8916 = call ptr @strerror(i32 noundef %8915) #12
  %8917 = load i32, ptr %1317, align 4, !tbaa !5
  %8918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8909, ptr noundef nonnull %.str.26.sink5024, i32 noundef %8910, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.22, i32 noundef 1021, ptr noundef %8912, ptr noundef %8914, ptr noundef %8916, i32 noundef %8917) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8919:                                             ; preds = %8889
  %8920 = add nsw i32 %8890, 2
  store i32 %8920, ptr @test_count, align 4, !tbaa !5
  %8921 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %8782, i16 noundef zeroext 0)
  %8922 = call zeroext i1 @s2n_result_is_error(i32 %8921)
  br i1 %8922, label %8945, label %8923

8923:                                             ; preds = %8919
  %8924 = load i32, ptr %1317, align 4, !tbaa !5
  %8925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8926 = call i32 @s2n_print_stacktrace(ptr noundef %8925) #12
  %8927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8928 = trunc nuw i8 %8927 to i1
  br i1 %8928, label %8929, label %8933

8929:                                             ; preds = %8923
  %8930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8931 = call i32 @fileno(ptr noundef %8930) #12
  %8932 = call i32 @isatty(i32 noundef %8931) #12
  %.not1718 = icmp eq i32 %8932, 0
  br i1 %.not1718, label %8933, label %8934

8933:                                             ; preds = %8929, %8923
  br label %8934

8934:                                             ; preds = %8929, %8933
  %.str.26.sink5033 = phi ptr [ @.str.26, %8933 ], [ @.str.23, %8929 ]
  store i32 %8924, ptr %1317, align 4, !tbaa !5
  %8935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8936 = load i32, ptr @test_count, align 4, !tbaa !5
  %8937 = load i32, ptr %1263, align 4, !tbaa !5
  %8938 = call ptr @s2n_strerror(i32 noundef %8937, ptr noundef nonnull @.str.25) #12
  %8939 = load i32, ptr %1263, align 4, !tbaa !5
  %8940 = call ptr @s2n_strerror_debug(i32 noundef %8939, ptr noundef nonnull @.str.25) #12
  %8941 = load i32, ptr %1317, align 4, !tbaa !5
  %8942 = call ptr @strerror(i32 noundef %8941) #12
  %8943 = load i32, ptr %1317, align 4, !tbaa !5
  %8944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8935, ptr noundef nonnull %.str.26.sink5033, i32 noundef %8936, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.22, i32 noundef 1022, ptr noundef %8938, ptr noundef %8940, ptr noundef %8942, i32 noundef %8943) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8945:                                             ; preds = %8919
  %8946 = load i32, ptr @test_count, align 4, !tbaa !5
  %8947 = add nsw i32 %8946, 1
  store i32 %8947, ptr @test_count, align 4, !tbaa !5
  %8948 = load i32, ptr %1263, align 4, !tbaa !5
  %8949 = icmp eq i32 %8948, 469762050
  br i1 %8949, label %8972, label %8950

8950:                                             ; preds = %8945
  %8951 = load i32, ptr %1317, align 4, !tbaa !5
  %8952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8953 = call i32 @s2n_print_stacktrace(ptr noundef %8952) #12
  %8954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8955 = trunc nuw i8 %8954 to i1
  br i1 %8955, label %8956, label %8960

8956:                                             ; preds = %8950
  %8957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8958 = call i32 @fileno(ptr noundef %8957) #12
  %8959 = call i32 @isatty(i32 noundef %8958) #12
  %.not1719 = icmp eq i32 %8959, 0
  br i1 %.not1719, label %8960, label %8961

8960:                                             ; preds = %8956, %8950
  br label %8961

8961:                                             ; preds = %8956, %8960
  %.str.26.sink5042 = phi ptr [ @.str.26, %8960 ], [ @.str.23, %8956 ]
  store i32 %8951, ptr %1317, align 4, !tbaa !5
  %8962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8963 = load i32, ptr @test_count, align 4, !tbaa !5
  %8964 = load i32, ptr %1263, align 4, !tbaa !5
  %8965 = call ptr @s2n_strerror(i32 noundef %8964, ptr noundef nonnull @.str.25) #12
  %8966 = load i32, ptr %1263, align 4, !tbaa !5
  %8967 = call ptr @s2n_strerror_debug(i32 noundef %8966, ptr noundef nonnull @.str.25) #12
  %8968 = load i32, ptr %1317, align 4, !tbaa !5
  %8969 = call ptr @strerror(i32 noundef %8968) #12
  %8970 = load i32, ptr %1317, align 4, !tbaa !5
  %8971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8962, ptr noundef nonnull %.str.26.sink5042, i32 noundef %8963, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.22, i32 noundef 1022, ptr noundef %8965, ptr noundef %8967, ptr noundef %8969, i32 noundef %8970) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8972:                                             ; preds = %8945
  %8973 = add nsw i32 %8946, 2
  store i32 %8973, ptr @test_count, align 4, !tbaa !5
  %8974 = call ptr @s2n_strerror_debug(i32 noundef 469762050, ptr noundef nonnull @.str.25) #12
  %8975 = icmp eq ptr %8974, null
  br i1 %8975, label %8976, label %8998

8976:                                             ; preds = %8972
  %8977 = load i32, ptr %1317, align 4, !tbaa !5
  %8978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8979 = call i32 @s2n_print_stacktrace(ptr noundef %8978) #12
  %8980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8981 = trunc nuw i8 %8980 to i1
  br i1 %8981, label %8982, label %8986

8982:                                             ; preds = %8976
  %8983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8984 = call i32 @fileno(ptr noundef %8983) #12
  %8985 = call i32 @isatty(i32 noundef %8984) #12
  %.not1939 = icmp eq i32 %8985, 0
  br i1 %.not1939, label %8986, label %8987

8986:                                             ; preds = %8982, %8976
  br label %8987

8987:                                             ; preds = %8982, %8986
  %.str.26.sink5051 = phi ptr [ @.str.26, %8986 ], [ @.str.23, %8982 ]
  store i32 %8977, ptr %1317, align 4, !tbaa !5
  %8988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8989 = load i32, ptr @test_count, align 4, !tbaa !5
  %8990 = load i32, ptr %1263, align 4, !tbaa !5
  %8991 = call ptr @s2n_strerror(i32 noundef %8990, ptr noundef nonnull @.str.25) #12
  %8992 = load i32, ptr %1263, align 4, !tbaa !5
  %8993 = call ptr @s2n_strerror_debug(i32 noundef %8992, ptr noundef nonnull @.str.25) #12
  %8994 = load i32, ptr %1317, align 4, !tbaa !5
  %8995 = call ptr @strerror(i32 noundef %8994) #12
  %8996 = load i32, ptr %1317, align 4, !tbaa !5
  %8997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8988, ptr noundef nonnull %.str.26.sink5051, i32 noundef %8989, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.22, i32 noundef 1022, ptr noundef %8991, ptr noundef %8993, ptr noundef %8995, i32 noundef %8996) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8998:                                             ; preds = %8972
  store i32 0, ptr %1263, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1317, align 4, !tbaa !5
  %8999 = load i32, ptr @test_count, align 4, !tbaa !5
  %9000 = add nsw i32 %8999, 1
  store i32 %9000, ptr @test_count, align 4, !tbaa !5
  %9001 = call i32 @s2n_stuffer_free(ptr noundef nonnull %72) #12
  %9002 = icmp eq i32 %9001, -1
  br i1 %9002, label %9003, label %9025

9003:                                             ; preds = %8998
  %9004 = load i32, ptr %1317, align 4, !tbaa !5
  %9005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9006 = call i32 @s2n_print_stacktrace(ptr noundef %9005) #12
  %9007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9008 = trunc nuw i8 %9007 to i1
  br i1 %9008, label %9009, label %9013

9009:                                             ; preds = %9003
  %9010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9011 = call i32 @fileno(ptr noundef %9010) #12
  %9012 = call i32 @isatty(i32 noundef %9011) #12
  %.not1938 = icmp eq i32 %9012, 0
  br i1 %.not1938, label %9013, label %9014

9013:                                             ; preds = %9009, %9003
  br label %9014

9014:                                             ; preds = %9009, %9013
  %.str.26.sink5060 = phi ptr [ @.str.26, %9013 ], [ @.str.23, %9009 ]
  store i32 %9004, ptr %1317, align 4, !tbaa !5
  %9015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9016 = load i32, ptr @test_count, align 4, !tbaa !5
  %9017 = load i32, ptr %1263, align 4, !tbaa !5
  %9018 = call ptr @s2n_strerror(i32 noundef %9017, ptr noundef nonnull @.str.25) #12
  %9019 = load i32, ptr %1263, align 4, !tbaa !5
  %9020 = call ptr @s2n_strerror_debug(i32 noundef %9019, ptr noundef nonnull @.str.25) #12
  %9021 = load i32, ptr %1317, align 4, !tbaa !5
  %9022 = call ptr @strerror(i32 noundef %9021) #12
  %9023 = load i32, ptr %1317, align 4, !tbaa !5
  %9024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9015, ptr noundef nonnull %.str.26.sink5060, i32 noundef %9016, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.22, i32 noundef 1024, ptr noundef %9018, ptr noundef %9020, ptr noundef %9022, i32 noundef %9023) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9025:                                             ; preds = %8998
  %9026 = load i32, ptr @test_count, align 4, !tbaa !5
  %9027 = add nsw i32 %9026, 1
  store i32 %9027, ptr @test_count, align 4, !tbaa !5
  %9028 = call i32 @s2n_connection_free(ptr noundef nonnull %8782) #12
  %9029 = icmp eq i32 %9028, -1
  br i1 %9029, label %9030, label %9052

9030:                                             ; preds = %9025
  %9031 = load i32, ptr %1317, align 4, !tbaa !5
  %9032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9033 = call i32 @s2n_print_stacktrace(ptr noundef %9032) #12
  %9034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9035 = trunc nuw i8 %9034 to i1
  br i1 %9035, label %9036, label %9040

9036:                                             ; preds = %9030
  %9037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9038 = call i32 @fileno(ptr noundef %9037) #12
  %9039 = call i32 @isatty(i32 noundef %9038) #12
  %.not1937 = icmp eq i32 %9039, 0
  br i1 %.not1937, label %9040, label %9041

9040:                                             ; preds = %9036, %9030
  br label %9041

9041:                                             ; preds = %9036, %9040
  %.str.26.sink5069 = phi ptr [ @.str.26, %9040 ], [ @.str.23, %9036 ]
  store i32 %9031, ptr %1317, align 4, !tbaa !5
  %9042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9043 = load i32, ptr @test_count, align 4, !tbaa !5
  %9044 = load i32, ptr %1263, align 4, !tbaa !5
  %9045 = call ptr @s2n_strerror(i32 noundef %9044, ptr noundef nonnull @.str.25) #12
  %9046 = load i32, ptr %1263, align 4, !tbaa !5
  %9047 = call ptr @s2n_strerror_debug(i32 noundef %9046, ptr noundef nonnull @.str.25) #12
  %9048 = load i32, ptr %1317, align 4, !tbaa !5
  %9049 = call ptr @strerror(i32 noundef %9048) #12
  %9050 = load i32, ptr %1317, align 4, !tbaa !5
  %9051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9042, ptr noundef nonnull %.str.26.sink5069, i32 noundef %9043, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 1025, ptr noundef %9045, ptr noundef %9047, ptr noundef %9049, i32 noundef %9050) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9052:                                             ; preds = %9025
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %72) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #12
  %9053 = call ptr @s2n_config_new() #12
  store ptr %9053, ptr %74, align 8, !tbaa !9
  %9054 = load i32, ptr @test_count, align 4, !tbaa !5
  %9055 = add nsw i32 %9054, 1
  store i32 %9055, ptr @test_count, align 4, !tbaa !5
  %9056 = icmp eq ptr %9053, null
  br i1 %9056, label %9057, label %9079

9057:                                             ; preds = %9052
  %9058 = load i32, ptr %1317, align 4, !tbaa !5
  %9059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9060 = call i32 @s2n_print_stacktrace(ptr noundef %9059) #12
  %9061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9062 = trunc nuw i8 %9061 to i1
  br i1 %9062, label %9063, label %9067

9063:                                             ; preds = %9057
  %9064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9065 = call i32 @fileno(ptr noundef %9064) #12
  %9066 = call i32 @isatty(i32 noundef %9065) #12
  %.not1936 = icmp eq i32 %9066, 0
  br i1 %.not1936, label %9067, label %9068

9067:                                             ; preds = %9063, %9057
  br label %9068

9068:                                             ; preds = %9063, %9067
  %.str.26.sink5078 = phi ptr [ @.str.26, %9067 ], [ @.str.23, %9063 ]
  store i32 %9058, ptr %1317, align 4, !tbaa !5
  %9069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9070 = load i32, ptr @test_count, align 4, !tbaa !5
  %9071 = load i32, ptr %1263, align 4, !tbaa !5
  %9072 = call ptr @s2n_strerror(i32 noundef %9071, ptr noundef nonnull @.str.25) #12
  %9073 = load i32, ptr %1263, align 4, !tbaa !5
  %9074 = call ptr @s2n_strerror_debug(i32 noundef %9073, ptr noundef nonnull @.str.25) #12
  %9075 = load i32, ptr %1317, align 4, !tbaa !5
  %9076 = call ptr @strerror(i32 noundef %9075) #12
  %9077 = load i32, ptr %1317, align 4, !tbaa !5
  %9078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9069, ptr noundef nonnull %.str.26.sink5078, i32 noundef %9070, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 1032, ptr noundef %9072, ptr noundef %9074, ptr noundef %9076, i32 noundef %9077) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9079:                                             ; preds = %9052
  %9080 = add nsw i32 %9054, 2
  store i32 %9080, ptr @test_count, align 4, !tbaa !5
  %9081 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %9053) #12
  %9082 = call zeroext i1 @s2n_result_is_ok(i32 %9081)
  br i1 %9082, label %9105, label %9083

9083:                                             ; preds = %9079
  %9084 = load i32, ptr %1317, align 4, !tbaa !5
  %9085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9086 = call i32 @s2n_print_stacktrace(ptr noundef %9085) #12
  %9087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9088 = trunc nuw i8 %9087 to i1
  br i1 %9088, label %9089, label %9093

9089:                                             ; preds = %9083
  %9090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9091 = call i32 @fileno(ptr noundef %9090) #12
  %9092 = call i32 @isatty(i32 noundef %9091) #12
  %.not1720 = icmp eq i32 %9092, 0
  br i1 %.not1720, label %9093, label %9094

9093:                                             ; preds = %9089, %9083
  br label %9094

9094:                                             ; preds = %9089, %9093
  %.str.26.sink5087 = phi ptr [ @.str.26, %9093 ], [ @.str.23, %9089 ]
  store i32 %9084, ptr %1317, align 4, !tbaa !5
  %9095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9096 = load i32, ptr @test_count, align 4, !tbaa !5
  %9097 = load i32, ptr %1263, align 4, !tbaa !5
  %9098 = call ptr @s2n_strerror(i32 noundef %9097, ptr noundef nonnull @.str.25) #12
  %9099 = load i32, ptr %1263, align 4, !tbaa !5
  %9100 = call ptr @s2n_strerror_debug(i32 noundef %9099, ptr noundef nonnull @.str.25) #12
  %9101 = load i32, ptr %1317, align 4, !tbaa !5
  %9102 = call ptr @strerror(i32 noundef %9101) #12
  %9103 = load i32, ptr %1317, align 4, !tbaa !5
  %9104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9095, ptr noundef nonnull %.str.26.sink5087, i32 noundef %9096, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 1033, ptr noundef %9098, ptr noundef %9100, ptr noundef %9102, i32 noundef %9103) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9105:                                             ; preds = %9079
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #12
  %9106 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %9106, ptr %75, align 8, !tbaa !9
  %9107 = load i32, ptr @test_count, align 4, !tbaa !5
  %9108 = add nsw i32 %9107, 1
  store i32 %9108, ptr @test_count, align 4, !tbaa !5
  %9109 = icmp eq ptr %9106, null
  br i1 %9109, label %9110, label %9132

9110:                                             ; preds = %9105
  %9111 = load i32, ptr %1317, align 4, !tbaa !5
  %9112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9113 = call i32 @s2n_print_stacktrace(ptr noundef %9112) #12
  %9114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9115 = trunc nuw i8 %9114 to i1
  br i1 %9115, label %9116, label %9120

9116:                                             ; preds = %9110
  %9117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9118 = call i32 @fileno(ptr noundef %9117) #12
  %9119 = call i32 @isatty(i32 noundef %9118) #12
  %.not1935 = icmp eq i32 %9119, 0
  br i1 %.not1935, label %9120, label %9121

9120:                                             ; preds = %9116, %9110
  br label %9121

9121:                                             ; preds = %9116, %9120
  %.str.26.sink5096 = phi ptr [ @.str.26, %9120 ], [ @.str.23, %9116 ]
  store i32 %9111, ptr %1317, align 4, !tbaa !5
  %9122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9123 = load i32, ptr @test_count, align 4, !tbaa !5
  %9124 = load i32, ptr %1263, align 4, !tbaa !5
  %9125 = call ptr @s2n_strerror(i32 noundef %9124, ptr noundef nonnull @.str.25) #12
  %9126 = load i32, ptr %1263, align 4, !tbaa !5
  %9127 = call ptr @s2n_strerror_debug(i32 noundef %9126, ptr noundef nonnull @.str.25) #12
  %9128 = load i32, ptr %1317, align 4, !tbaa !5
  %9129 = call ptr @strerror(i32 noundef %9128) #12
  %9130 = load i32, ptr %1317, align 4, !tbaa !5
  %9131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9122, ptr noundef nonnull %.str.26.sink5096, i32 noundef %9123, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 1037, ptr noundef %9125, ptr noundef %9127, ptr noundef %9129, i32 noundef %9130) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9132:                                             ; preds = %9105
  %9133 = add nsw i32 %9107, 2
  store i32 %9133, ptr @test_count, align 4, !tbaa !5
  %9134 = load ptr, ptr %74, align 8, !tbaa !9
  %9135 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9106, ptr noundef %9134) #12
  %9136 = icmp eq i32 %9135, -1
  br i1 %9136, label %9137, label %9159

9137:                                             ; preds = %9132
  %9138 = load i32, ptr %1317, align 4, !tbaa !5
  %9139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9140 = call i32 @s2n_print_stacktrace(ptr noundef %9139) #12
  %9141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9142 = trunc nuw i8 %9141 to i1
  br i1 %9142, label %9143, label %9147

9143:                                             ; preds = %9137
  %9144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9145 = call i32 @fileno(ptr noundef %9144) #12
  %9146 = call i32 @isatty(i32 noundef %9145) #12
  %.not1934 = icmp eq i32 %9146, 0
  br i1 %.not1934, label %9147, label %9148

9147:                                             ; preds = %9143, %9137
  br label %9148

9148:                                             ; preds = %9143, %9147
  %.str.26.sink5105 = phi ptr [ @.str.26, %9147 ], [ @.str.23, %9143 ]
  store i32 %9138, ptr %1317, align 4, !tbaa !5
  %9149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9150 = load i32, ptr @test_count, align 4, !tbaa !5
  %9151 = load i32, ptr %1263, align 4, !tbaa !5
  %9152 = call ptr @s2n_strerror(i32 noundef %9151, ptr noundef nonnull @.str.25) #12
  %9153 = load i32, ptr %1263, align 4, !tbaa !5
  %9154 = call ptr @s2n_strerror_debug(i32 noundef %9153, ptr noundef nonnull @.str.25) #12
  %9155 = load i32, ptr %1317, align 4, !tbaa !5
  %9156 = call ptr @strerror(i32 noundef %9155) #12
  %9157 = load i32, ptr %1317, align 4, !tbaa !5
  %9158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9149, ptr noundef nonnull %.str.26.sink5105, i32 noundef %9150, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 1038, ptr noundef %9152, ptr noundef %9154, ptr noundef %9156, i32 noundef %9157) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9159:                                             ; preds = %9132
  %9160 = load ptr, ptr %75, align 8, !tbaa !9
  %9161 = getelementptr inbounds i8, ptr %9160, i64 232
  %9162 = load ptr, ptr %9161, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %9162, align 8, !tbaa !44
  %9163 = load ptr, ptr %75, align 8, !tbaa !9
  %9164 = getelementptr inbounds i8, ptr %9163, i64 4084
  store i16 1, ptr %9164, align 4, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %76) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %76, i8 0, i64 40, i1 false)
  %9165 = load i32, ptr @test_count, align 4, !tbaa !5
  %9166 = add nsw i32 %9165, 1
  store i32 %9166, ptr @test_count, align 4, !tbaa !5
  %9167 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %76, i32 noundef 0) #12
  %9168 = icmp eq i32 %9167, -1
  br i1 %9168, label %9169, label %9191

9169:                                             ; preds = %9159
  %9170 = load i32, ptr %1317, align 4, !tbaa !5
  %9171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9172 = call i32 @s2n_print_stacktrace(ptr noundef %9171) #12
  %9173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9174 = trunc nuw i8 %9173 to i1
  br i1 %9174, label %9175, label %9179

9175:                                             ; preds = %9169
  %9176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9177 = call i32 @fileno(ptr noundef %9176) #12
  %9178 = call i32 @isatty(i32 noundef %9177) #12
  %.not1933 = icmp eq i32 %9178, 0
  br i1 %.not1933, label %9179, label %9180

9179:                                             ; preds = %9175, %9169
  br label %9180

9180:                                             ; preds = %9175, %9179
  %.str.26.sink5114 = phi ptr [ @.str.26, %9179 ], [ @.str.23, %9175 ]
  store i32 %9170, ptr %1317, align 4, !tbaa !5
  %9181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9182 = load i32, ptr @test_count, align 4, !tbaa !5
  %9183 = load i32, ptr %1263, align 4, !tbaa !5
  %9184 = call ptr @s2n_strerror(i32 noundef %9183, ptr noundef nonnull @.str.25) #12
  %9185 = load i32, ptr %1263, align 4, !tbaa !5
  %9186 = call ptr @s2n_strerror_debug(i32 noundef %9185, ptr noundef nonnull @.str.25) #12
  %9187 = load i32, ptr %1317, align 4, !tbaa !5
  %9188 = call ptr @strerror(i32 noundef %9187) #12
  %9189 = load i32, ptr %1317, align 4, !tbaa !5
  %9190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9181, ptr noundef nonnull %.str.26.sink5114, i32 noundef %9182, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 1043, ptr noundef %9184, ptr noundef %9186, ptr noundef %9188, i32 noundef %9189) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9191:                                             ; preds = %9159
  %9192 = load i32, ptr @test_count, align 4, !tbaa !5
  %9193 = add nsw i32 %9192, 1
  store i32 %9193, ptr @test_count, align 4, !tbaa !5
  %9194 = load ptr, ptr %75, align 8, !tbaa !9
  %9195 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %76, ptr noundef nonnull %76, ptr noundef %9194) #12
  %9196 = icmp eq i32 %9195, -1
  br i1 %9196, label %9197, label %9219

9197:                                             ; preds = %9191
  %9198 = load i32, ptr %1317, align 4, !tbaa !5
  %9199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9200 = call i32 @s2n_print_stacktrace(ptr noundef %9199) #12
  %9201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9202 = trunc nuw i8 %9201 to i1
  br i1 %9202, label %9203, label %9207

9203:                                             ; preds = %9197
  %9204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9205 = call i32 @fileno(ptr noundef %9204) #12
  %9206 = call i32 @isatty(i32 noundef %9205) #12
  %.not1932 = icmp eq i32 %9206, 0
  br i1 %.not1932, label %9207, label %9208

9207:                                             ; preds = %9203, %9197
  br label %9208

9208:                                             ; preds = %9203, %9207
  %.str.26.sink5123 = phi ptr [ @.str.26, %9207 ], [ @.str.23, %9203 ]
  store i32 %9198, ptr %1317, align 4, !tbaa !5
  %9209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9210 = load i32, ptr @test_count, align 4, !tbaa !5
  %9211 = load i32, ptr %1263, align 4, !tbaa !5
  %9212 = call ptr @s2n_strerror(i32 noundef %9211, ptr noundef nonnull @.str.25) #12
  %9213 = load i32, ptr %1263, align 4, !tbaa !5
  %9214 = call ptr @s2n_strerror_debug(i32 noundef %9213, ptr noundef nonnull @.str.25) #12
  %9215 = load i32, ptr %1317, align 4, !tbaa !5
  %9216 = call ptr @strerror(i32 noundef %9215) #12
  %9217 = load i32, ptr %1317, align 4, !tbaa !5
  %9218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9209, ptr noundef nonnull %.str.26.sink5123, i32 noundef %9210, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.22, i32 noundef 1044, ptr noundef %9212, ptr noundef %9214, ptr noundef %9216, i32 noundef %9217) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9219:                                             ; preds = %9191
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %77) #12
  store i32 0, ptr %77, align 4, !tbaa !5
  %9220 = load ptr, ptr %75, align 8, !tbaa !9
  %9221 = getelementptr inbounds i8, ptr %9220, i64 220
  store i8 33, ptr %9221, align 4, !tbaa !17
  %9222 = load i32, ptr @test_count, align 4, !tbaa !5
  %9223 = add nsw i32 %9222, 1
  store i32 %9223, ptr @test_count, align 4, !tbaa !5
  %9224 = call i32 @s2n_tls13_server_nst_send(ptr noundef %9220, ptr noundef nonnull %77)
  %9225 = call zeroext i1 @s2n_result_is_error(i32 %9224)
  br i1 %9225, label %9248, label %9226

9226:                                             ; preds = %9219
  %9227 = load i32, ptr %1317, align 4, !tbaa !5
  %9228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9229 = call i32 @s2n_print_stacktrace(ptr noundef %9228) #12
  %9230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9231 = trunc nuw i8 %9230 to i1
  br i1 %9231, label %9232, label %9236

9232:                                             ; preds = %9226
  %9233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9234 = call i32 @fileno(ptr noundef %9233) #12
  %9235 = call i32 @isatty(i32 noundef %9234) #12
  %.not1721 = icmp eq i32 %9235, 0
  br i1 %.not1721, label %9236, label %9237

9236:                                             ; preds = %9232, %9226
  br label %9237

9237:                                             ; preds = %9232, %9236
  %.str.26.sink5132 = phi ptr [ @.str.26, %9236 ], [ @.str.23, %9232 ]
  store i32 %9227, ptr %1317, align 4, !tbaa !5
  %9238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9239 = load i32, ptr @test_count, align 4, !tbaa !5
  %9240 = load i32, ptr %1263, align 4, !tbaa !5
  %9241 = call ptr @s2n_strerror(i32 noundef %9240, ptr noundef nonnull @.str.25) #12
  %9242 = load i32, ptr %1263, align 4, !tbaa !5
  %9243 = call ptr @s2n_strerror_debug(i32 noundef %9242, ptr noundef nonnull @.str.25) #12
  %9244 = load i32, ptr %1317, align 4, !tbaa !5
  %9245 = call ptr @strerror(i32 noundef %9244) #12
  %9246 = load i32, ptr %1317, align 4, !tbaa !5
  %9247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9238, ptr noundef nonnull %.str.26.sink5132, i32 noundef %9239, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.22, i32 noundef 1049, ptr noundef %9241, ptr noundef %9243, ptr noundef %9245, i32 noundef %9246) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9248:                                             ; preds = %9219
  %9249 = load i32, ptr @test_count, align 4, !tbaa !5
  %9250 = add nsw i32 %9249, 1
  store i32 %9250, ptr @test_count, align 4, !tbaa !5
  %9251 = load i32, ptr %1263, align 4, !tbaa !5
  %9252 = icmp eq i32 %9251, 0
  br i1 %9252, label %9253, label %9275

9253:                                             ; preds = %9248
  %9254 = load i32, ptr %1317, align 4, !tbaa !5
  %9255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9256 = call i32 @s2n_print_stacktrace(ptr noundef %9255) #12
  %9257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9258 = trunc nuw i8 %9257 to i1
  br i1 %9258, label %9259, label %9263

9259:                                             ; preds = %9253
  %9260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9261 = call i32 @fileno(ptr noundef %9260) #12
  %9262 = call i32 @isatty(i32 noundef %9261) #12
  %.not1931 = icmp eq i32 %9262, 0
  br i1 %.not1931, label %9263, label %9264

9263:                                             ; preds = %9259, %9253
  br label %9264

9264:                                             ; preds = %9259, %9263
  %.str.26.sink5141 = phi ptr [ @.str.26, %9263 ], [ @.str.23, %9259 ]
  store i32 %9254, ptr %1317, align 4, !tbaa !5
  %9265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9266 = load i32, ptr @test_count, align 4, !tbaa !5
  %9267 = load i32, ptr %1263, align 4, !tbaa !5
  %9268 = call ptr @s2n_strerror(i32 noundef %9267, ptr noundef nonnull @.str.25) #12
  %9269 = load i32, ptr %1263, align 4, !tbaa !5
  %9270 = call ptr @s2n_strerror_debug(i32 noundef %9269, ptr noundef nonnull @.str.25) #12
  %9271 = load i32, ptr %1317, align 4, !tbaa !5
  %9272 = call ptr @strerror(i32 noundef %9271) #12
  %9273 = load i32, ptr %1317, align 4, !tbaa !5
  %9274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9265, ptr noundef nonnull %.str.26.sink5141, i32 noundef %9266, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.22, i32 noundef 1049, ptr noundef %9268, ptr noundef %9270, ptr noundef %9272, i32 noundef %9273) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9275:                                             ; preds = %9248
  %9276 = add nsw i32 %9249, 2
  store i32 %9276, ptr @test_count, align 4, !tbaa !5
  %9277 = call ptr @s2n_strerror_debug(i32 noundef %9251, ptr noundef nonnull @.str.25) #12
  %9278 = icmp eq ptr %9277, null
  br i1 %9278, label %9279, label %9301

9279:                                             ; preds = %9275
  %9280 = load i32, ptr %1317, align 4, !tbaa !5
  %9281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9282 = call i32 @s2n_print_stacktrace(ptr noundef %9281) #12
  %9283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9284 = trunc nuw i8 %9283 to i1
  br i1 %9284, label %9285, label %9289

9285:                                             ; preds = %9279
  %9286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9287 = call i32 @fileno(ptr noundef %9286) #12
  %9288 = call i32 @isatty(i32 noundef %9287) #12
  %.not1930 = icmp eq i32 %9288, 0
  br i1 %.not1930, label %9289, label %9290

9289:                                             ; preds = %9285, %9279
  br label %9290

9290:                                             ; preds = %9285, %9289
  %.str.26.sink5150 = phi ptr [ @.str.26, %9289 ], [ @.str.23, %9285 ]
  store i32 %9280, ptr %1317, align 4, !tbaa !5
  %9291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9292 = load i32, ptr @test_count, align 4, !tbaa !5
  %9293 = load i32, ptr %1263, align 4, !tbaa !5
  %9294 = call ptr @s2n_strerror(i32 noundef %9293, ptr noundef nonnull @.str.25) #12
  %9295 = load i32, ptr %1263, align 4, !tbaa !5
  %9296 = call ptr @s2n_strerror_debug(i32 noundef %9295, ptr noundef nonnull @.str.25) #12
  %9297 = load i32, ptr %1317, align 4, !tbaa !5
  %9298 = call ptr @strerror(i32 noundef %9297) #12
  %9299 = load i32, ptr %1317, align 4, !tbaa !5
  %9300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9291, ptr noundef nonnull %.str.26.sink5150, i32 noundef %9292, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.22, i32 noundef 1049, ptr noundef %9294, ptr noundef %9296, ptr noundef %9298, i32 noundef %9299) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9301:                                             ; preds = %9275
  store i32 0, ptr %1263, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1317, align 4, !tbaa !5
  %9302 = load i32, ptr @test_count, align 4, !tbaa !5
  %9303 = add nsw i32 %9302, 1
  store i32 %9303, ptr @test_count, align 4, !tbaa !5
  %9304 = load ptr, ptr %75, align 8, !tbaa !9
  %9305 = call i32 @s2n_assert_tickets_sent(ptr noundef %9304, i16 noundef zeroext 0)
  %9306 = call zeroext i1 @s2n_result_is_ok(i32 %9305)
  br i1 %9306, label %9329, label %9307

9307:                                             ; preds = %9301
  %9308 = load i32, ptr %1317, align 4, !tbaa !5
  %9309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9310 = call i32 @s2n_print_stacktrace(ptr noundef %9309) #12
  %9311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9312 = trunc nuw i8 %9311 to i1
  br i1 %9312, label %9313, label %9317

9313:                                             ; preds = %9307
  %9314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9315 = call i32 @fileno(ptr noundef %9314) #12
  %9316 = call i32 @isatty(i32 noundef %9315) #12
  %.not1722 = icmp eq i32 %9316, 0
  br i1 %.not1722, label %9317, label %9318

9317:                                             ; preds = %9313, %9307
  br label %9318

9318:                                             ; preds = %9313, %9317
  %.str.26.sink5159 = phi ptr [ @.str.26, %9317 ], [ @.str.23, %9313 ]
  store i32 %9308, ptr %1317, align 4, !tbaa !5
  %9319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9320 = load i32, ptr @test_count, align 4, !tbaa !5
  %9321 = load i32, ptr %1263, align 4, !tbaa !5
  %9322 = call ptr @s2n_strerror(i32 noundef %9321, ptr noundef nonnull @.str.25) #12
  %9323 = load i32, ptr %1263, align 4, !tbaa !5
  %9324 = call ptr @s2n_strerror_debug(i32 noundef %9323, ptr noundef nonnull @.str.25) #12
  %9325 = load i32, ptr %1317, align 4, !tbaa !5
  %9326 = call ptr @strerror(i32 noundef %9325) #12
  %9327 = load i32, ptr %1317, align 4, !tbaa !5
  %9328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9319, ptr noundef nonnull %.str.26.sink5159, i32 noundef %9320, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.22, i32 noundef 1050, ptr noundef %9322, ptr noundef %9324, ptr noundef %9326, i32 noundef %9327) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9329:                                             ; preds = %9301
  %9330 = load ptr, ptr %75, align 8, !tbaa !9
  %9331 = getelementptr inbounds i8, ptr %9330, i64 220
  store i8 34, ptr %9331, align 4, !tbaa !17
  %9332 = load i32, ptr @test_count, align 4, !tbaa !5
  %9333 = add nsw i32 %9332, 1
  store i32 %9333, ptr @test_count, align 4, !tbaa !5
  %9334 = call i32 @s2n_tls13_server_nst_send(ptr noundef %9330, ptr noundef nonnull %77)
  %9335 = call zeroext i1 @s2n_result_is_ok(i32 %9334)
  br i1 %9335, label %9358, label %9336

9336:                                             ; preds = %9329
  %9337 = load i32, ptr %1317, align 4, !tbaa !5
  %9338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9339 = call i32 @s2n_print_stacktrace(ptr noundef %9338) #12
  %9340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9341 = trunc nuw i8 %9340 to i1
  br i1 %9341, label %9342, label %9346

9342:                                             ; preds = %9336
  %9343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9344 = call i32 @fileno(ptr noundef %9343) #12
  %9345 = call i32 @isatty(i32 noundef %9344) #12
  %.not1723 = icmp eq i32 %9345, 0
  br i1 %.not1723, label %9346, label %9347

9346:                                             ; preds = %9342, %9336
  br label %9347

9347:                                             ; preds = %9342, %9346
  %.str.26.sink5168 = phi ptr [ @.str.26, %9346 ], [ @.str.23, %9342 ]
  store i32 %9337, ptr %1317, align 4, !tbaa !5
  %9348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9349 = load i32, ptr @test_count, align 4, !tbaa !5
  %9350 = load i32, ptr %1263, align 4, !tbaa !5
  %9351 = call ptr @s2n_strerror(i32 noundef %9350, ptr noundef nonnull @.str.25) #12
  %9352 = load i32, ptr %1263, align 4, !tbaa !5
  %9353 = call ptr @s2n_strerror_debug(i32 noundef %9352, ptr noundef nonnull @.str.25) #12
  %9354 = load i32, ptr %1317, align 4, !tbaa !5
  %9355 = call ptr @strerror(i32 noundef %9354) #12
  %9356 = load i32, ptr %1317, align 4, !tbaa !5
  %9357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9348, ptr noundef nonnull %.str.26.sink5168, i32 noundef %9349, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1053, ptr noundef %9351, ptr noundef %9353, ptr noundef %9355, i32 noundef %9356) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9358:                                             ; preds = %9329
  %9359 = load i32, ptr @test_count, align 4, !tbaa !5
  %9360 = add nsw i32 %9359, 1
  store i32 %9360, ptr @test_count, align 4, !tbaa !5
  %9361 = load ptr, ptr %75, align 8, !tbaa !9
  %9362 = call i32 @s2n_assert_tickets_sent(ptr noundef %9361, i16 noundef zeroext 1)
  %9363 = call zeroext i1 @s2n_result_is_ok(i32 %9362)
  br i1 %9363, label %9386, label %9364

9364:                                             ; preds = %9358
  %9365 = load i32, ptr %1317, align 4, !tbaa !5
  %9366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9367 = call i32 @s2n_print_stacktrace(ptr noundef %9366) #12
  %9368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9369 = trunc nuw i8 %9368 to i1
  br i1 %9369, label %9370, label %9374

9370:                                             ; preds = %9364
  %9371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9372 = call i32 @fileno(ptr noundef %9371) #12
  %9373 = call i32 @isatty(i32 noundef %9372) #12
  %.not1724 = icmp eq i32 %9373, 0
  br i1 %.not1724, label %9374, label %9375

9374:                                             ; preds = %9370, %9364
  br label %9375

9375:                                             ; preds = %9370, %9374
  %.str.26.sink5177 = phi ptr [ @.str.26, %9374 ], [ @.str.23, %9370 ]
  store i32 %9365, ptr %1317, align 4, !tbaa !5
  %9376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9377 = load i32, ptr @test_count, align 4, !tbaa !5
  %9378 = load i32, ptr %1263, align 4, !tbaa !5
  %9379 = call ptr @s2n_strerror(i32 noundef %9378, ptr noundef nonnull @.str.25) #12
  %9380 = load i32, ptr %1263, align 4, !tbaa !5
  %9381 = call ptr @s2n_strerror_debug(i32 noundef %9380, ptr noundef nonnull @.str.25) #12
  %9382 = load i32, ptr %1317, align 4, !tbaa !5
  %9383 = call ptr @strerror(i32 noundef %9382) #12
  %9384 = load i32, ptr %1317, align 4, !tbaa !5
  %9385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9376, ptr noundef nonnull %.str.26.sink5177, i32 noundef %9377, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.22, i32 noundef 1054, ptr noundef %9379, ptr noundef %9381, ptr noundef %9383, i32 noundef %9384) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9386:                                             ; preds = %9358
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %77) #12
  %9387 = call i32 @s2n_stuffer_free(ptr noundef nonnull %76) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %76) #12
  %9388 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %75) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #12
  %9389 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %74) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #12
  %9390 = call ptr @s2n_config_new() #12
  %9391 = load i32, ptr @test_count, align 4, !tbaa !5
  %9392 = add nsw i32 %9391, 1
  store i32 %9392, ptr @test_count, align 4, !tbaa !5
  %9393 = icmp eq ptr %9390, null
  br i1 %9393, label %9394, label %9416

9394:                                             ; preds = %9386
  %9395 = load i32, ptr %1317, align 4, !tbaa !5
  %9396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9397 = call i32 @s2n_print_stacktrace(ptr noundef %9396) #12
  %9398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9399 = trunc nuw i8 %9398 to i1
  br i1 %9399, label %9400, label %9404

9400:                                             ; preds = %9394
  %9401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9402 = call i32 @fileno(ptr noundef %9401) #12
  %9403 = call i32 @isatty(i32 noundef %9402) #12
  %.not1929 = icmp eq i32 %9403, 0
  br i1 %.not1929, label %9404, label %9405

9404:                                             ; preds = %9400, %9394
  br label %9405

9405:                                             ; preds = %9400, %9404
  %.str.26.sink5186 = phi ptr [ @.str.26, %9404 ], [ @.str.23, %9400 ]
  store i32 %9395, ptr %1317, align 4, !tbaa !5
  %9406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9407 = load i32, ptr @test_count, align 4, !tbaa !5
  %9408 = load i32, ptr %1263, align 4, !tbaa !5
  %9409 = call ptr @s2n_strerror(i32 noundef %9408, ptr noundef nonnull @.str.25) #12
  %9410 = load i32, ptr %1263, align 4, !tbaa !5
  %9411 = call ptr @s2n_strerror_debug(i32 noundef %9410, ptr noundef nonnull @.str.25) #12
  %9412 = load i32, ptr %1317, align 4, !tbaa !5
  %9413 = call ptr @strerror(i32 noundef %9412) #12
  %9414 = load i32, ptr %1317, align 4, !tbaa !5
  %9415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9406, ptr noundef nonnull %.str.26.sink5186, i32 noundef %9407, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 1060, ptr noundef %9409, ptr noundef %9411, ptr noundef %9413, i32 noundef %9414) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9416:                                             ; preds = %9386
  %9417 = add nsw i32 %9391, 2
  store i32 %9417, ptr @test_count, align 4, !tbaa !5
  %9418 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %9390) #12
  %9419 = call zeroext i1 @s2n_result_is_ok(i32 %9418)
  br i1 %9419, label %9442, label %9420

9420:                                             ; preds = %9416
  %9421 = load i32, ptr %1317, align 4, !tbaa !5
  %9422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9423 = call i32 @s2n_print_stacktrace(ptr noundef %9422) #12
  %9424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9425 = trunc nuw i8 %9424 to i1
  br i1 %9425, label %9426, label %9430

9426:                                             ; preds = %9420
  %9427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9428 = call i32 @fileno(ptr noundef %9427) #12
  %9429 = call i32 @isatty(i32 noundef %9428) #12
  %.not1725 = icmp eq i32 %9429, 0
  br i1 %.not1725, label %9430, label %9431

9430:                                             ; preds = %9426, %9420
  br label %9431

9431:                                             ; preds = %9426, %9430
  %.str.26.sink5195 = phi ptr [ @.str.26, %9430 ], [ @.str.23, %9426 ]
  store i32 %9421, ptr %1317, align 4, !tbaa !5
  %9432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9433 = load i32, ptr @test_count, align 4, !tbaa !5
  %9434 = load i32, ptr %1263, align 4, !tbaa !5
  %9435 = call ptr @s2n_strerror(i32 noundef %9434, ptr noundef nonnull @.str.25) #12
  %9436 = load i32, ptr %1263, align 4, !tbaa !5
  %9437 = call ptr @s2n_strerror_debug(i32 noundef %9436, ptr noundef nonnull @.str.25) #12
  %9438 = load i32, ptr %1317, align 4, !tbaa !5
  %9439 = call ptr @strerror(i32 noundef %9438) #12
  %9440 = load i32, ptr %1317, align 4, !tbaa !5
  %9441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9432, ptr noundef nonnull %.str.26.sink5195, i32 noundef %9433, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 1061, ptr noundef %9435, ptr noundef %9437, ptr noundef %9439, i32 noundef %9440) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9442:                                             ; preds = %9416
  %9443 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %9444 = load i32, ptr @test_count, align 4, !tbaa !5
  %9445 = add nsw i32 %9444, 1
  store i32 %9445, ptr @test_count, align 4, !tbaa !5
  %9446 = icmp eq ptr %9443, null
  br i1 %9446, label %9447, label %9469

9447:                                             ; preds = %9442
  %9448 = load i32, ptr %1317, align 4, !tbaa !5
  %9449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9450 = call i32 @s2n_print_stacktrace(ptr noundef %9449) #12
  %9451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9452 = trunc nuw i8 %9451 to i1
  br i1 %9452, label %9453, label %9457

9453:                                             ; preds = %9447
  %9454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9455 = call i32 @fileno(ptr noundef %9454) #12
  %9456 = call i32 @isatty(i32 noundef %9455) #12
  %.not1928 = icmp eq i32 %9456, 0
  br i1 %.not1928, label %9457, label %9458

9457:                                             ; preds = %9453, %9447
  br label %9458

9458:                                             ; preds = %9453, %9457
  %.str.26.sink5204 = phi ptr [ @.str.26, %9457 ], [ @.str.23, %9453 ]
  store i32 %9448, ptr %1317, align 4, !tbaa !5
  %9459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9460 = load i32, ptr @test_count, align 4, !tbaa !5
  %9461 = load i32, ptr %1263, align 4, !tbaa !5
  %9462 = call ptr @s2n_strerror(i32 noundef %9461, ptr noundef nonnull @.str.25) #12
  %9463 = load i32, ptr %1263, align 4, !tbaa !5
  %9464 = call ptr @s2n_strerror_debug(i32 noundef %9463, ptr noundef nonnull @.str.25) #12
  %9465 = load i32, ptr %1317, align 4, !tbaa !5
  %9466 = call ptr @strerror(i32 noundef %9465) #12
  %9467 = load i32, ptr %1317, align 4, !tbaa !5
  %9468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9459, ptr noundef nonnull %.str.26.sink5204, i32 noundef %9460, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 1064, ptr noundef %9462, ptr noundef %9464, ptr noundef %9466, i32 noundef %9467) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9469:                                             ; preds = %9442
  %9470 = add nsw i32 %9444, 2
  store i32 %9470, ptr @test_count, align 4, !tbaa !5
  %9471 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9443, ptr noundef nonnull %9390) #12
  %9472 = icmp eq i32 %9471, -1
  br i1 %9472, label %9473, label %9495

9473:                                             ; preds = %9469
  %9474 = load i32, ptr %1317, align 4, !tbaa !5
  %9475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9476 = call i32 @s2n_print_stacktrace(ptr noundef %9475) #12
  %9477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9478 = trunc nuw i8 %9477 to i1
  br i1 %9478, label %9479, label %9483

9479:                                             ; preds = %9473
  %9480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9481 = call i32 @fileno(ptr noundef %9480) #12
  %9482 = call i32 @isatty(i32 noundef %9481) #12
  %.not1927 = icmp eq i32 %9482, 0
  br i1 %.not1927, label %9483, label %9484

9483:                                             ; preds = %9479, %9473
  br label %9484

9484:                                             ; preds = %9479, %9483
  %.str.26.sink5213 = phi ptr [ @.str.26, %9483 ], [ @.str.23, %9479 ]
  store i32 %9474, ptr %1317, align 4, !tbaa !5
  %9485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9486 = load i32, ptr @test_count, align 4, !tbaa !5
  %9487 = load i32, ptr %1263, align 4, !tbaa !5
  %9488 = call ptr @s2n_strerror(i32 noundef %9487, ptr noundef nonnull @.str.25) #12
  %9489 = load i32, ptr %1263, align 4, !tbaa !5
  %9490 = call ptr @s2n_strerror_debug(i32 noundef %9489, ptr noundef nonnull @.str.25) #12
  %9491 = load i32, ptr %1317, align 4, !tbaa !5
  %9492 = call ptr @strerror(i32 noundef %9491) #12
  %9493 = load i32, ptr %1317, align 4, !tbaa !5
  %9494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9485, ptr noundef nonnull %.str.26.sink5213, i32 noundef %9486, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 1065, ptr noundef %9488, ptr noundef %9490, ptr noundef %9492, i32 noundef %9493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9495:                                             ; preds = %9469
  %9496 = getelementptr inbounds i8, ptr %9443, i64 220
  store i8 34, ptr %9496, align 4, !tbaa !17
  %9497 = getelementptr inbounds i8, ptr %9443, i64 4084
  store i16 0, ptr %9497, align 4, !tbaa !79
  %9498 = load i32, ptr @test_count, align 4, !tbaa !5
  %9499 = add nsw i32 %9498, 1
  store i32 %9499, ptr @test_count, align 4, !tbaa !5
  %9500 = getelementptr inbounds i8, ptr %9443, i64 2024
  %9501 = load i32, ptr %9500, align 8, !tbaa !80
  %9502 = getelementptr inbounds i8, ptr %9443, i64 2044
  %9503 = load i32, ptr %9502, align 4, !tbaa !76
  %9504 = icmp eq i32 %9501, %9503
  br i1 %9504, label %9505, label %9527

9505:                                             ; preds = %9495
  %9506 = load i32, ptr %1317, align 4, !tbaa !5
  %9507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9508 = call i32 @s2n_print_stacktrace(ptr noundef %9507) #12
  %9509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9510 = trunc nuw i8 %9509 to i1
  br i1 %9510, label %9511, label %9515

9511:                                             ; preds = %9505
  %9512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9513 = call i32 @fileno(ptr noundef %9512) #12
  %9514 = call i32 @isatty(i32 noundef %9513) #12
  %.not1926 = icmp eq i32 %9514, 0
  br i1 %.not1926, label %9515, label %9516

9515:                                             ; preds = %9511, %9505
  br label %9516

9516:                                             ; preds = %9511, %9515
  %.str.26.sink5222 = phi ptr [ @.str.26, %9515 ], [ @.str.23, %9511 ]
  store i32 %9506, ptr %1317, align 4, !tbaa !5
  %9517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9518 = load i32, ptr @test_count, align 4, !tbaa !5
  %9519 = load i32, ptr %1263, align 4, !tbaa !5
  %9520 = call ptr @s2n_strerror(i32 noundef %9519, ptr noundef nonnull @.str.25) #12
  %9521 = load i32, ptr %1263, align 4, !tbaa !5
  %9522 = call ptr @s2n_strerror_debug(i32 noundef %9521, ptr noundef nonnull @.str.25) #12
  %9523 = load i32, ptr %1317, align 4, !tbaa !5
  %9524 = call ptr @strerror(i32 noundef %9523) #12
  %9525 = load i32, ptr %1317, align 4, !tbaa !5
  %9526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9517, ptr noundef nonnull %.str.26.sink5222, i32 noundef %9518, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.22, i32 noundef 1068, ptr noundef %9520, ptr noundef %9522, ptr noundef %9524, i32 noundef %9525) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9527:                                             ; preds = %9495
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %78) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %78, i8 0, i64 40, i1 false)
  %9528 = add nsw i32 %9498, 2
  store i32 %9528, ptr @test_count, align 4, !tbaa !5
  %9529 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %78, i32 noundef 0) #12
  %9530 = icmp eq i32 %9529, -1
  br i1 %9530, label %9531, label %9553

9531:                                             ; preds = %9527
  %9532 = load i32, ptr %1317, align 4, !tbaa !5
  %9533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9534 = call i32 @s2n_print_stacktrace(ptr noundef %9533) #12
  %9535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9536 = trunc nuw i8 %9535 to i1
  br i1 %9536, label %9537, label %9541

9537:                                             ; preds = %9531
  %9538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9539 = call i32 @fileno(ptr noundef %9538) #12
  %9540 = call i32 @isatty(i32 noundef %9539) #12
  %.not1925 = icmp eq i32 %9540, 0
  br i1 %.not1925, label %9541, label %9542

9541:                                             ; preds = %9537, %9531
  br label %9542

9542:                                             ; preds = %9537, %9541
  %.str.26.sink5231 = phi ptr [ @.str.26, %9541 ], [ @.str.23, %9537 ]
  store i32 %9532, ptr %1317, align 4, !tbaa !5
  %9543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9544 = load i32, ptr @test_count, align 4, !tbaa !5
  %9545 = load i32, ptr %1263, align 4, !tbaa !5
  %9546 = call ptr @s2n_strerror(i32 noundef %9545, ptr noundef nonnull @.str.25) #12
  %9547 = load i32, ptr %1263, align 4, !tbaa !5
  %9548 = call ptr @s2n_strerror_debug(i32 noundef %9547, ptr noundef nonnull @.str.25) #12
  %9549 = load i32, ptr %1317, align 4, !tbaa !5
  %9550 = call ptr @strerror(i32 noundef %9549) #12
  %9551 = load i32, ptr %1317, align 4, !tbaa !5
  %9552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9543, ptr noundef nonnull %.str.26.sink5231, i32 noundef %9544, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 1072, ptr noundef %9546, ptr noundef %9548, ptr noundef %9550, i32 noundef %9551) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9553:                                             ; preds = %9527
  %9554 = load i32, ptr @test_count, align 4, !tbaa !5
  %9555 = add nsw i32 %9554, 1
  store i32 %9555, ptr @test_count, align 4, !tbaa !5
  %9556 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %78, ptr noundef nonnull %78, ptr noundef nonnull %9443) #12
  %9557 = icmp eq i32 %9556, -1
  br i1 %9557, label %9558, label %9580

9558:                                             ; preds = %9553
  %9559 = load i32, ptr %1317, align 4, !tbaa !5
  %9560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9561 = call i32 @s2n_print_stacktrace(ptr noundef %9560) #12
  %9562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9563 = trunc nuw i8 %9562 to i1
  br i1 %9563, label %9564, label %9568

9564:                                             ; preds = %9558
  %9565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9566 = call i32 @fileno(ptr noundef %9565) #12
  %9567 = call i32 @isatty(i32 noundef %9566) #12
  %.not1924 = icmp eq i32 %9567, 0
  br i1 %.not1924, label %9568, label %9569

9568:                                             ; preds = %9564, %9558
  br label %9569

9569:                                             ; preds = %9564, %9568
  %.str.26.sink5240 = phi ptr [ @.str.26, %9568 ], [ @.str.23, %9564 ]
  store i32 %9559, ptr %1317, align 4, !tbaa !5
  %9570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9571 = load i32, ptr @test_count, align 4, !tbaa !5
  %9572 = load i32, ptr %1263, align 4, !tbaa !5
  %9573 = call ptr @s2n_strerror(i32 noundef %9572, ptr noundef nonnull @.str.25) #12
  %9574 = load i32, ptr %1263, align 4, !tbaa !5
  %9575 = call ptr @s2n_strerror_debug(i32 noundef %9574, ptr noundef nonnull @.str.25) #12
  %9576 = load i32, ptr %1317, align 4, !tbaa !5
  %9577 = call ptr @strerror(i32 noundef %9576) #12
  %9578 = load i32, ptr %1317, align 4, !tbaa !5
  %9579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9570, ptr noundef nonnull %.str.26.sink5240, i32 noundef %9571, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.22, i32 noundef 1073, ptr noundef %9573, ptr noundef %9575, ptr noundef %9577, i32 noundef %9578) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9580:                                             ; preds = %9553
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %79) #12
  store i32 0, ptr %79, align 4, !tbaa !5
  %9581 = load i32, ptr @test_count, align 4, !tbaa !5
  %9582 = add nsw i32 %9581, 1
  store i32 %9582, ptr @test_count, align 4, !tbaa !5
  %9583 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %9443, ptr noundef nonnull %79)
  %9584 = call zeroext i1 @s2n_result_is_ok(i32 %9583)
  br i1 %9584, label %9607, label %9585

9585:                                             ; preds = %9580
  %9586 = load i32, ptr %1317, align 4, !tbaa !5
  %9587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9588 = call i32 @s2n_print_stacktrace(ptr noundef %9587) #12
  %9589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9590 = trunc nuw i8 %9589 to i1
  br i1 %9590, label %9591, label %9595

9591:                                             ; preds = %9585
  %9592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9593 = call i32 @fileno(ptr noundef %9592) #12
  %9594 = call i32 @isatty(i32 noundef %9593) #12
  %.not1726 = icmp eq i32 %9594, 0
  br i1 %.not1726, label %9595, label %9596

9595:                                             ; preds = %9591, %9585
  br label %9596

9596:                                             ; preds = %9591, %9595
  %.str.26.sink5249 = phi ptr [ @.str.26, %9595 ], [ @.str.23, %9591 ]
  store i32 %9586, ptr %1317, align 4, !tbaa !5
  %9597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9598 = load i32, ptr @test_count, align 4, !tbaa !5
  %9599 = load i32, ptr %1263, align 4, !tbaa !5
  %9600 = call ptr @s2n_strerror(i32 noundef %9599, ptr noundef nonnull @.str.25) #12
  %9601 = load i32, ptr %1263, align 4, !tbaa !5
  %9602 = call ptr @s2n_strerror_debug(i32 noundef %9601, ptr noundef nonnull @.str.25) #12
  %9603 = load i32, ptr %1317, align 4, !tbaa !5
  %9604 = call ptr @strerror(i32 noundef %9603) #12
  %9605 = load i32, ptr %1317, align 4, !tbaa !5
  %9606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9597, ptr noundef nonnull %.str.26.sink5249, i32 noundef %9598, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1076, ptr noundef %9600, ptr noundef %9602, ptr noundef %9604, i32 noundef %9605) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9607:                                             ; preds = %9580
  %9608 = load i32, ptr @test_count, align 4, !tbaa !5
  %9609 = add nsw i32 %9608, 1
  store i32 %9609, ptr @test_count, align 4, !tbaa !5
  %9610 = getelementptr inbounds i8, ptr %78, i64 28
  %9611 = load i32, ptr %9610, align 4, !tbaa !51
  %9612 = getelementptr inbounds i8, ptr %78, i64 24
  %9613 = load i32, ptr %9612, align 8, !tbaa !52
  %9614 = icmp eq i32 %9611, %9613
  br i1 %9614, label %9637, label %9615

9615:                                             ; preds = %9607
  %9616 = load i32, ptr %1317, align 4, !tbaa !5
  %9617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9618 = call i32 @s2n_print_stacktrace(ptr noundef %9617) #12
  %9619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9620 = trunc nuw i8 %9619 to i1
  br i1 %9620, label %9621, label %9625

9621:                                             ; preds = %9615
  %9622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9623 = call i32 @fileno(ptr noundef %9622) #12
  %9624 = call i32 @isatty(i32 noundef %9623) #12
  %.not1727 = icmp eq i32 %9624, 0
  br i1 %.not1727, label %9625, label %9626

9625:                                             ; preds = %9621, %9615
  br label %9626

9626:                                             ; preds = %9621, %9625
  %.str.26.sink5258 = phi ptr [ @.str.26, %9625 ], [ @.str.23, %9621 ]
  store i32 %9616, ptr %1317, align 4, !tbaa !5
  %9627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9628 = load i32, ptr @test_count, align 4, !tbaa !5
  %9629 = load i32, ptr %1263, align 4, !tbaa !5
  %9630 = call ptr @s2n_strerror(i32 noundef %9629, ptr noundef nonnull @.str.25) #12
  %9631 = load i32, ptr %1263, align 4, !tbaa !5
  %9632 = call ptr @s2n_strerror_debug(i32 noundef %9631, ptr noundef nonnull @.str.25) #12
  %9633 = load i32, ptr %1317, align 4, !tbaa !5
  %9634 = call ptr @strerror(i32 noundef %9633) #12
  %9635 = load i32, ptr %1317, align 4, !tbaa !5
  %9636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9627, ptr noundef nonnull %.str.26.sink5258, i32 noundef %9628, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.22, i32 noundef 1079, ptr noundef %9630, ptr noundef %9632, ptr noundef %9634, i32 noundef %9635) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9637:                                             ; preds = %9607
  %9638 = add nsw i32 %9608, 2
  store i32 %9638, ptr @test_count, align 4, !tbaa !5
  %9639 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %9443, i16 noundef zeroext 0)
  %9640 = call zeroext i1 @s2n_result_is_ok(i32 %9639)
  br i1 %9640, label %9663, label %9641

9641:                                             ; preds = %9637
  %9642 = load i32, ptr %1317, align 4, !tbaa !5
  %9643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9644 = call i32 @s2n_print_stacktrace(ptr noundef %9643) #12
  %9645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9646 = trunc nuw i8 %9645 to i1
  br i1 %9646, label %9647, label %9651

9647:                                             ; preds = %9641
  %9648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9649 = call i32 @fileno(ptr noundef %9648) #12
  %9650 = call i32 @isatty(i32 noundef %9649) #12
  %.not1728 = icmp eq i32 %9650, 0
  br i1 %.not1728, label %9651, label %9652

9651:                                             ; preds = %9647, %9641
  br label %9652

9652:                                             ; preds = %9647, %9651
  %.str.26.sink5267 = phi ptr [ @.str.26, %9651 ], [ @.str.23, %9647 ]
  store i32 %9642, ptr %1317, align 4, !tbaa !5
  %9653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9654 = load i32, ptr @test_count, align 4, !tbaa !5
  %9655 = load i32, ptr %1263, align 4, !tbaa !5
  %9656 = call ptr @s2n_strerror(i32 noundef %9655, ptr noundef nonnull @.str.25) #12
  %9657 = load i32, ptr %1263, align 4, !tbaa !5
  %9658 = call ptr @s2n_strerror_debug(i32 noundef %9657, ptr noundef nonnull @.str.25) #12
  %9659 = load i32, ptr %1317, align 4, !tbaa !5
  %9660 = call ptr @strerror(i32 noundef %9659) #12
  %9661 = load i32, ptr %1317, align 4, !tbaa !5
  %9662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9653, ptr noundef nonnull %.str.26.sink5267, i32 noundef %9654, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.22, i32 noundef 1080, ptr noundef %9656, ptr noundef %9658, ptr noundef %9660, i32 noundef %9661) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9663:                                             ; preds = %9637
  %9664 = load i32, ptr @test_count, align 4, !tbaa !5
  %9665 = add nsw i32 %9664, 1
  store i32 %9665, ptr @test_count, align 4, !tbaa !5
  %9666 = load i32, ptr %9500, align 8, !tbaa !80
  %9667 = load i32, ptr %9502, align 4, !tbaa !76
  %9668 = icmp eq i32 %9666, %9667
  br i1 %9668, label %9691, label %9669

9669:                                             ; preds = %9663
  %9670 = load i32, ptr %1317, align 4, !tbaa !5
  %9671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9672 = call i32 @s2n_print_stacktrace(ptr noundef %9671) #12
  %9673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9674 = trunc nuw i8 %9673 to i1
  br i1 %9674, label %9675, label %9679

9675:                                             ; preds = %9669
  %9676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9677 = call i32 @fileno(ptr noundef %9676) #12
  %9678 = call i32 @isatty(i32 noundef %9677) #12
  %.not1729 = icmp eq i32 %9678, 0
  br i1 %.not1729, label %9679, label %9680

9679:                                             ; preds = %9675, %9669
  br label %9680

9680:                                             ; preds = %9675, %9679
  %.str.26.sink5276 = phi ptr [ @.str.26, %9679 ], [ @.str.23, %9675 ]
  store i32 %9670, ptr %1317, align 4, !tbaa !5
  %9681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9682 = load i32, ptr @test_count, align 4, !tbaa !5
  %9683 = load i32, ptr %1263, align 4, !tbaa !5
  %9684 = call ptr @s2n_strerror(i32 noundef %9683, ptr noundef nonnull @.str.25) #12
  %9685 = load i32, ptr %1263, align 4, !tbaa !5
  %9686 = call ptr @s2n_strerror_debug(i32 noundef %9685, ptr noundef nonnull @.str.25) #12
  %9687 = load i32, ptr %1317, align 4, !tbaa !5
  %9688 = call ptr @strerror(i32 noundef %9687) #12
  %9689 = load i32, ptr %1317, align 4, !tbaa !5
  %9690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9681, ptr noundef nonnull %.str.26.sink5276, i32 noundef %9682, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.22, i32 noundef 1083, ptr noundef %9684, ptr noundef %9686, ptr noundef %9688, i32 noundef %9689) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9691:                                             ; preds = %9663
  %9692 = add nsw i32 %9664, 2
  store i32 %9692, ptr @test_count, align 4, !tbaa !5
  %9693 = call i32 @s2n_stuffer_free(ptr noundef nonnull %78) #12
  %9694 = icmp eq i32 %9693, -1
  br i1 %9694, label %9695, label %9717

9695:                                             ; preds = %9691
  %9696 = load i32, ptr %1317, align 4, !tbaa !5
  %9697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9698 = call i32 @s2n_print_stacktrace(ptr noundef %9697) #12
  %9699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9700 = trunc nuw i8 %9699 to i1
  br i1 %9700, label %9701, label %9705

9701:                                             ; preds = %9695
  %9702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9703 = call i32 @fileno(ptr noundef %9702) #12
  %9704 = call i32 @isatty(i32 noundef %9703) #12
  %.not1923 = icmp eq i32 %9704, 0
  br i1 %.not1923, label %9705, label %9706

9705:                                             ; preds = %9701, %9695
  br label %9706

9706:                                             ; preds = %9701, %9705
  %.str.26.sink5285 = phi ptr [ @.str.26, %9705 ], [ @.str.23, %9701 ]
  store i32 %9696, ptr %1317, align 4, !tbaa !5
  %9707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9708 = load i32, ptr @test_count, align 4, !tbaa !5
  %9709 = load i32, ptr %1263, align 4, !tbaa !5
  %9710 = call ptr @s2n_strerror(i32 noundef %9709, ptr noundef nonnull @.str.25) #12
  %9711 = load i32, ptr %1263, align 4, !tbaa !5
  %9712 = call ptr @s2n_strerror_debug(i32 noundef %9711, ptr noundef nonnull @.str.25) #12
  %9713 = load i32, ptr %1317, align 4, !tbaa !5
  %9714 = call ptr @strerror(i32 noundef %9713) #12
  %9715 = load i32, ptr %1317, align 4, !tbaa !5
  %9716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9707, ptr noundef nonnull %.str.26.sink5285, i32 noundef %9708, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.22, i32 noundef 1085, ptr noundef %9710, ptr noundef %9712, ptr noundef %9714, i32 noundef %9715) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9717:                                             ; preds = %9691
  %9718 = load i32, ptr @test_count, align 4, !tbaa !5
  %9719 = add nsw i32 %9718, 1
  store i32 %9719, ptr @test_count, align 4, !tbaa !5
  %9720 = call i32 @s2n_connection_free(ptr noundef nonnull %9443) #12
  %9721 = icmp eq i32 %9720, -1
  br i1 %9721, label %9722, label %9744

9722:                                             ; preds = %9717
  %9723 = load i32, ptr %1317, align 4, !tbaa !5
  %9724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9725 = call i32 @s2n_print_stacktrace(ptr noundef %9724) #12
  %9726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9727 = trunc nuw i8 %9726 to i1
  br i1 %9727, label %9728, label %9732

9728:                                             ; preds = %9722
  %9729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9730 = call i32 @fileno(ptr noundef %9729) #12
  %9731 = call i32 @isatty(i32 noundef %9730) #12
  %.not1922 = icmp eq i32 %9731, 0
  br i1 %.not1922, label %9732, label %9733

9732:                                             ; preds = %9728, %9722
  br label %9733

9733:                                             ; preds = %9728, %9732
  %.str.26.sink5294 = phi ptr [ @.str.26, %9732 ], [ @.str.23, %9728 ]
  store i32 %9723, ptr %1317, align 4, !tbaa !5
  %9734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9735 = load i32, ptr @test_count, align 4, !tbaa !5
  %9736 = load i32, ptr %1263, align 4, !tbaa !5
  %9737 = call ptr @s2n_strerror(i32 noundef %9736, ptr noundef nonnull @.str.25) #12
  %9738 = load i32, ptr %1263, align 4, !tbaa !5
  %9739 = call ptr @s2n_strerror_debug(i32 noundef %9738, ptr noundef nonnull @.str.25) #12
  %9740 = load i32, ptr %1317, align 4, !tbaa !5
  %9741 = call ptr @strerror(i32 noundef %9740) #12
  %9742 = load i32, ptr %1317, align 4, !tbaa !5
  %9743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9734, ptr noundef nonnull %.str.26.sink5294, i32 noundef %9735, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 1086, ptr noundef %9737, ptr noundef %9739, ptr noundef %9741, i32 noundef %9742) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9744:                                             ; preds = %9717
  %9745 = load i32, ptr @test_count, align 4, !tbaa !5
  %9746 = add nsw i32 %9745, 1
  store i32 %9746, ptr @test_count, align 4, !tbaa !5
  %9747 = call i32 @s2n_config_free(ptr noundef nonnull %9390) #12
  %9748 = icmp eq i32 %9747, -1
  br i1 %9748, label %9749, label %9771

9749:                                             ; preds = %9744
  %9750 = load i32, ptr %1317, align 4, !tbaa !5
  %9751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9752 = call i32 @s2n_print_stacktrace(ptr noundef %9751) #12
  %9753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9754 = trunc nuw i8 %9753 to i1
  br i1 %9754, label %9755, label %9759

9755:                                             ; preds = %9749
  %9756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9757 = call i32 @fileno(ptr noundef %9756) #12
  %9758 = call i32 @isatty(i32 noundef %9757) #12
  %.not1921 = icmp eq i32 %9758, 0
  br i1 %.not1921, label %9759, label %9760

9759:                                             ; preds = %9755, %9749
  br label %9760

9760:                                             ; preds = %9755, %9759
  %.str.26.sink5303 = phi ptr [ @.str.26, %9759 ], [ @.str.23, %9755 ]
  store i32 %9750, ptr %1317, align 4, !tbaa !5
  %9761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9762 = load i32, ptr @test_count, align 4, !tbaa !5
  %9763 = load i32, ptr %1263, align 4, !tbaa !5
  %9764 = call ptr @s2n_strerror(i32 noundef %9763, ptr noundef nonnull @.str.25) #12
  %9765 = load i32, ptr %1263, align 4, !tbaa !5
  %9766 = call ptr @s2n_strerror_debug(i32 noundef %9765, ptr noundef nonnull @.str.25) #12
  %9767 = load i32, ptr %1317, align 4, !tbaa !5
  %9768 = call ptr @strerror(i32 noundef %9767) #12
  %9769 = load i32, ptr %1317, align 4, !tbaa !5
  %9770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9761, ptr noundef nonnull %.str.26.sink5303, i32 noundef %9762, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 1087, ptr noundef %9764, ptr noundef %9766, ptr noundef %9768, i32 noundef %9769) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9771:                                             ; preds = %9744
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %79) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %78) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %80) #12
  %9772 = call ptr @s2n_config_new() #12
  store ptr %9772, ptr %80, align 8, !tbaa !9
  %9773 = load i32, ptr @test_count, align 4, !tbaa !5
  %9774 = add nsw i32 %9773, 1
  store i32 %9774, ptr @test_count, align 4, !tbaa !5
  %9775 = icmp eq ptr %9772, null
  br i1 %9775, label %9776, label %9798

9776:                                             ; preds = %9771
  %9777 = load i32, ptr %1317, align 4, !tbaa !5
  %9778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9779 = call i32 @s2n_print_stacktrace(ptr noundef %9778) #12
  %9780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9781 = trunc nuw i8 %9780 to i1
  br i1 %9781, label %9782, label %9786

9782:                                             ; preds = %9776
  %9783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9784 = call i32 @fileno(ptr noundef %9783) #12
  %9785 = call i32 @isatty(i32 noundef %9784) #12
  %.not1920 = icmp eq i32 %9785, 0
  br i1 %.not1920, label %9786, label %9787

9786:                                             ; preds = %9782, %9776
  br label %9787

9787:                                             ; preds = %9782, %9786
  %.str.26.sink5312 = phi ptr [ @.str.26, %9786 ], [ @.str.23, %9782 ]
  store i32 %9777, ptr %1317, align 4, !tbaa !5
  %9788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9789 = load i32, ptr @test_count, align 4, !tbaa !5
  %9790 = load i32, ptr %1263, align 4, !tbaa !5
  %9791 = call ptr @s2n_strerror(i32 noundef %9790, ptr noundef nonnull @.str.25) #12
  %9792 = load i32, ptr %1263, align 4, !tbaa !5
  %9793 = call ptr @s2n_strerror_debug(i32 noundef %9792, ptr noundef nonnull @.str.25) #12
  %9794 = load i32, ptr %1317, align 4, !tbaa !5
  %9795 = call ptr @strerror(i32 noundef %9794) #12
  %9796 = load i32, ptr %1317, align 4, !tbaa !5
  %9797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9788, ptr noundef nonnull %.str.26.sink5312, i32 noundef %9789, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 1094, ptr noundef %9791, ptr noundef %9793, ptr noundef %9795, i32 noundef %9796) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9798:                                             ; preds = %9771
  %9799 = add nsw i32 %9773, 2
  store i32 %9799, ptr @test_count, align 4, !tbaa !5
  %9800 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %9772) #12
  %9801 = call zeroext i1 @s2n_result_is_ok(i32 %9800)
  br i1 %9801, label %9824, label %9802

9802:                                             ; preds = %9798
  %9803 = load i32, ptr %1317, align 4, !tbaa !5
  %9804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9805 = call i32 @s2n_print_stacktrace(ptr noundef %9804) #12
  %9806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9807 = trunc nuw i8 %9806 to i1
  br i1 %9807, label %9808, label %9812

9808:                                             ; preds = %9802
  %9809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9810 = call i32 @fileno(ptr noundef %9809) #12
  %9811 = call i32 @isatty(i32 noundef %9810) #12
  %.not1730 = icmp eq i32 %9811, 0
  br i1 %.not1730, label %9812, label %9813

9812:                                             ; preds = %9808, %9802
  br label %9813

9813:                                             ; preds = %9808, %9812
  %.str.26.sink5321 = phi ptr [ @.str.26, %9812 ], [ @.str.23, %9808 ]
  store i32 %9803, ptr %1317, align 4, !tbaa !5
  %9814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9815 = load i32, ptr @test_count, align 4, !tbaa !5
  %9816 = load i32, ptr %1263, align 4, !tbaa !5
  %9817 = call ptr @s2n_strerror(i32 noundef %9816, ptr noundef nonnull @.str.25) #12
  %9818 = load i32, ptr %1263, align 4, !tbaa !5
  %9819 = call ptr @s2n_strerror_debug(i32 noundef %9818, ptr noundef nonnull @.str.25) #12
  %9820 = load i32, ptr %1317, align 4, !tbaa !5
  %9821 = call ptr @strerror(i32 noundef %9820) #12
  %9822 = load i32, ptr %1317, align 4, !tbaa !5
  %9823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9814, ptr noundef nonnull %.str.26.sink5321, i32 noundef %9815, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 1095, ptr noundef %9817, ptr noundef %9819, ptr noundef %9821, i32 noundef %9822) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9824:                                             ; preds = %9798
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #12
  %9825 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %9825, ptr %81, align 8, !tbaa !9
  %9826 = load i32, ptr @test_count, align 4, !tbaa !5
  %9827 = add nsw i32 %9826, 1
  store i32 %9827, ptr @test_count, align 4, !tbaa !5
  %9828 = icmp eq ptr %9825, null
  br i1 %9828, label %9829, label %9851

9829:                                             ; preds = %9824
  %9830 = load i32, ptr %1317, align 4, !tbaa !5
  %9831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9832 = call i32 @s2n_print_stacktrace(ptr noundef %9831) #12
  %9833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9834 = trunc nuw i8 %9833 to i1
  br i1 %9834, label %9835, label %9839

9835:                                             ; preds = %9829
  %9836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9837 = call i32 @fileno(ptr noundef %9836) #12
  %9838 = call i32 @isatty(i32 noundef %9837) #12
  %.not1919 = icmp eq i32 %9838, 0
  br i1 %.not1919, label %9839, label %9840

9839:                                             ; preds = %9835, %9829
  br label %9840

9840:                                             ; preds = %9835, %9839
  %.str.26.sink5330 = phi ptr [ @.str.26, %9839 ], [ @.str.23, %9835 ]
  store i32 %9830, ptr %1317, align 4, !tbaa !5
  %9841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9842 = load i32, ptr @test_count, align 4, !tbaa !5
  %9843 = load i32, ptr %1263, align 4, !tbaa !5
  %9844 = call ptr @s2n_strerror(i32 noundef %9843, ptr noundef nonnull @.str.25) #12
  %9845 = load i32, ptr %1263, align 4, !tbaa !5
  %9846 = call ptr @s2n_strerror_debug(i32 noundef %9845, ptr noundef nonnull @.str.25) #12
  %9847 = load i32, ptr %1317, align 4, !tbaa !5
  %9848 = call ptr @strerror(i32 noundef %9847) #12
  %9849 = load i32, ptr %1317, align 4, !tbaa !5
  %9850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9841, ptr noundef nonnull %.str.26.sink5330, i32 noundef %9842, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 1099, ptr noundef %9844, ptr noundef %9846, ptr noundef %9848, i32 noundef %9849) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9851:                                             ; preds = %9824
  %9852 = add nsw i32 %9826, 2
  store i32 %9852, ptr @test_count, align 4, !tbaa !5
  %9853 = load ptr, ptr %80, align 8, !tbaa !9
  %9854 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9825, ptr noundef %9853) #12
  %9855 = icmp eq i32 %9854, -1
  br i1 %9855, label %9856, label %9878

9856:                                             ; preds = %9851
  %9857 = load i32, ptr %1317, align 4, !tbaa !5
  %9858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9859 = call i32 @s2n_print_stacktrace(ptr noundef %9858) #12
  %9860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9861 = trunc nuw i8 %9860 to i1
  br i1 %9861, label %9862, label %9866

9862:                                             ; preds = %9856
  %9863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9864 = call i32 @fileno(ptr noundef %9863) #12
  %9865 = call i32 @isatty(i32 noundef %9864) #12
  %.not1918 = icmp eq i32 %9865, 0
  br i1 %.not1918, label %9866, label %9867

9866:                                             ; preds = %9862, %9856
  br label %9867

9867:                                             ; preds = %9862, %9866
  %.str.26.sink5339 = phi ptr [ @.str.26, %9866 ], [ @.str.23, %9862 ]
  store i32 %9857, ptr %1317, align 4, !tbaa !5
  %9868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9869 = load i32, ptr @test_count, align 4, !tbaa !5
  %9870 = load i32, ptr %1263, align 4, !tbaa !5
  %9871 = call ptr @s2n_strerror(i32 noundef %9870, ptr noundef nonnull @.str.25) #12
  %9872 = load i32, ptr %1263, align 4, !tbaa !5
  %9873 = call ptr @s2n_strerror_debug(i32 noundef %9872, ptr noundef nonnull @.str.25) #12
  %9874 = load i32, ptr %1317, align 4, !tbaa !5
  %9875 = call ptr @strerror(i32 noundef %9874) #12
  %9876 = load i32, ptr %1317, align 4, !tbaa !5
  %9877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9868, ptr noundef nonnull %.str.26.sink5339, i32 noundef %9869, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 1100, ptr noundef %9871, ptr noundef %9873, ptr noundef %9875, i32 noundef %9876) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9878:                                             ; preds = %9851
  %9879 = load ptr, ptr %81, align 8, !tbaa !9
  %9880 = getelementptr inbounds i8, ptr %9879, i64 232
  %9881 = load ptr, ptr %9880, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %9881, align 8, !tbaa !44
  %9882 = load ptr, ptr %81, align 8, !tbaa !9
  %9883 = getelementptr inbounds i8, ptr %9882, i64 4084
  store i16 1, ptr %9883, align 4, !tbaa !79
  %9884 = getelementptr inbounds i8, ptr %9882, i64 220
  store i8 34, ptr %9884, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %82) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %82, i8 0, i64 40, i1 false)
  %9885 = load i32, ptr @test_count, align 4, !tbaa !5
  %9886 = add nsw i32 %9885, 1
  store i32 %9886, ptr @test_count, align 4, !tbaa !5
  %9887 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %82, i32 noundef 0) #12
  %9888 = icmp eq i32 %9887, -1
  br i1 %9888, label %9889, label %9911

9889:                                             ; preds = %9878
  %9890 = load i32, ptr %1317, align 4, !tbaa !5
  %9891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9892 = call i32 @s2n_print_stacktrace(ptr noundef %9891) #12
  %9893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9894 = trunc nuw i8 %9893 to i1
  br i1 %9894, label %9895, label %9899

9895:                                             ; preds = %9889
  %9896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9897 = call i32 @fileno(ptr noundef %9896) #12
  %9898 = call i32 @isatty(i32 noundef %9897) #12
  %.not1917 = icmp eq i32 %9898, 0
  br i1 %.not1917, label %9899, label %9900

9899:                                             ; preds = %9895, %9889
  br label %9900

9900:                                             ; preds = %9895, %9899
  %.str.26.sink5348 = phi ptr [ @.str.26, %9899 ], [ @.str.23, %9895 ]
  store i32 %9890, ptr %1317, align 4, !tbaa !5
  %9901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9902 = load i32, ptr @test_count, align 4, !tbaa !5
  %9903 = load i32, ptr %1263, align 4, !tbaa !5
  %9904 = call ptr @s2n_strerror(i32 noundef %9903, ptr noundef nonnull @.str.25) #12
  %9905 = load i32, ptr %1263, align 4, !tbaa !5
  %9906 = call ptr @s2n_strerror_debug(i32 noundef %9905, ptr noundef nonnull @.str.25) #12
  %9907 = load i32, ptr %1317, align 4, !tbaa !5
  %9908 = call ptr @strerror(i32 noundef %9907) #12
  %9909 = load i32, ptr %1317, align 4, !tbaa !5
  %9910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9901, ptr noundef nonnull %.str.26.sink5348, i32 noundef %9902, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 1106, ptr noundef %9904, ptr noundef %9906, ptr noundef %9908, i32 noundef %9909) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9911:                                             ; preds = %9878
  %9912 = load i32, ptr @test_count, align 4, !tbaa !5
  %9913 = add nsw i32 %9912, 1
  store i32 %9913, ptr @test_count, align 4, !tbaa !5
  %9914 = load ptr, ptr %81, align 8, !tbaa !9
  %9915 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %82, ptr noundef nonnull %82, ptr noundef %9914) #12
  %9916 = icmp eq i32 %9915, -1
  br i1 %9916, label %9917, label %9939

9917:                                             ; preds = %9911
  %9918 = load i32, ptr %1317, align 4, !tbaa !5
  %9919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9920 = call i32 @s2n_print_stacktrace(ptr noundef %9919) #12
  %9921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9922 = trunc nuw i8 %9921 to i1
  br i1 %9922, label %9923, label %9927

9923:                                             ; preds = %9917
  %9924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9925 = call i32 @fileno(ptr noundef %9924) #12
  %9926 = call i32 @isatty(i32 noundef %9925) #12
  %.not1916 = icmp eq i32 %9926, 0
  br i1 %.not1916, label %9927, label %9928

9927:                                             ; preds = %9923, %9917
  br label %9928

9928:                                             ; preds = %9923, %9927
  %.str.26.sink5357 = phi ptr [ @.str.26, %9927 ], [ @.str.23, %9923 ]
  store i32 %9918, ptr %1317, align 4, !tbaa !5
  %9929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9930 = load i32, ptr @test_count, align 4, !tbaa !5
  %9931 = load i32, ptr %1263, align 4, !tbaa !5
  %9932 = call ptr @s2n_strerror(i32 noundef %9931, ptr noundef nonnull @.str.25) #12
  %9933 = load i32, ptr %1263, align 4, !tbaa !5
  %9934 = call ptr @s2n_strerror_debug(i32 noundef %9933, ptr noundef nonnull @.str.25) #12
  %9935 = load i32, ptr %1317, align 4, !tbaa !5
  %9936 = call ptr @strerror(i32 noundef %9935) #12
  %9937 = load i32, ptr %1317, align 4, !tbaa !5
  %9938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9929, ptr noundef nonnull %.str.26.sink5357, i32 noundef %9930, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.22, i32 noundef 1107, ptr noundef %9932, ptr noundef %9934, ptr noundef %9936, i32 noundef %9937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9939:                                             ; preds = %9911
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %83) #12
  store i32 0, ptr %83, align 4, !tbaa !5
  %9940 = load ptr, ptr %81, align 8, !tbaa !9
  %9941 = load i32, ptr %9940, align 8
  %9942 = or i32 %9941, 4
  store i32 %9942, ptr %9940, align 8
  %9943 = load i32, ptr @test_count, align 4, !tbaa !5
  %9944 = add nsw i32 %9943, 1
  store i32 %9944, ptr @test_count, align 4, !tbaa !5
  %9945 = load ptr, ptr %81, align 8, !tbaa !9
  %9946 = call i32 @s2n_tls13_server_nst_send(ptr noundef %9945, ptr noundef nonnull %83)
  %9947 = call zeroext i1 @s2n_result_is_ok(i32 %9946)
  br i1 %9947, label %9970, label %9948

9948:                                             ; preds = %9939
  %9949 = load i32, ptr %1317, align 4, !tbaa !5
  %9950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9951 = call i32 @s2n_print_stacktrace(ptr noundef %9950) #12
  %9952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9953 = trunc nuw i8 %9952 to i1
  br i1 %9953, label %9954, label %9958

9954:                                             ; preds = %9948
  %9955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9956 = call i32 @fileno(ptr noundef %9955) #12
  %9957 = call i32 @isatty(i32 noundef %9956) #12
  %.not1731 = icmp eq i32 %9957, 0
  br i1 %.not1731, label %9958, label %9959

9958:                                             ; preds = %9954, %9948
  br label %9959

9959:                                             ; preds = %9954, %9958
  %.str.26.sink5366 = phi ptr [ @.str.26, %9958 ], [ @.str.23, %9954 ]
  store i32 %9949, ptr %1317, align 4, !tbaa !5
  %9960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9961 = load i32, ptr @test_count, align 4, !tbaa !5
  %9962 = load i32, ptr %1263, align 4, !tbaa !5
  %9963 = call ptr @s2n_strerror(i32 noundef %9962, ptr noundef nonnull @.str.25) #12
  %9964 = load i32, ptr %1263, align 4, !tbaa !5
  %9965 = call ptr @s2n_strerror_debug(i32 noundef %9964, ptr noundef nonnull @.str.25) #12
  %9966 = load i32, ptr %1317, align 4, !tbaa !5
  %9967 = call ptr @strerror(i32 noundef %9966) #12
  %9968 = load i32, ptr %1317, align 4, !tbaa !5
  %9969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9960, ptr noundef nonnull %.str.26.sink5366, i32 noundef %9961, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1113, ptr noundef %9963, ptr noundef %9965, ptr noundef %9967, i32 noundef %9968) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9970:                                             ; preds = %9939
  %9971 = load i32, ptr @test_count, align 4, !tbaa !5
  %9972 = add nsw i32 %9971, 1
  store i32 %9972, ptr @test_count, align 4, !tbaa !5
  %9973 = load ptr, ptr %81, align 8, !tbaa !9
  %9974 = call i32 @s2n_assert_tickets_sent(ptr noundef %9973, i16 noundef zeroext 0)
  %9975 = call zeroext i1 @s2n_result_is_ok(i32 %9974)
  br i1 %9975, label %9998, label %9976

9976:                                             ; preds = %9970
  %9977 = load i32, ptr %1317, align 4, !tbaa !5
  %9978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9979 = call i32 @s2n_print_stacktrace(ptr noundef %9978) #12
  %9980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9981 = trunc nuw i8 %9980 to i1
  br i1 %9981, label %9982, label %9986

9982:                                             ; preds = %9976
  %9983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9984 = call i32 @fileno(ptr noundef %9983) #12
  %9985 = call i32 @isatty(i32 noundef %9984) #12
  %.not1732 = icmp eq i32 %9985, 0
  br i1 %.not1732, label %9986, label %9987

9986:                                             ; preds = %9982, %9976
  br label %9987

9987:                                             ; preds = %9982, %9986
  %.str.26.sink5375 = phi ptr [ @.str.26, %9986 ], [ @.str.23, %9982 ]
  store i32 %9977, ptr %1317, align 4, !tbaa !5
  %9988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9989 = load i32, ptr @test_count, align 4, !tbaa !5
  %9990 = load i32, ptr %1263, align 4, !tbaa !5
  %9991 = call ptr @s2n_strerror(i32 noundef %9990, ptr noundef nonnull @.str.25) #12
  %9992 = load i32, ptr %1263, align 4, !tbaa !5
  %9993 = call ptr @s2n_strerror_debug(i32 noundef %9992, ptr noundef nonnull @.str.25) #12
  %9994 = load i32, ptr %1317, align 4, !tbaa !5
  %9995 = call ptr @strerror(i32 noundef %9994) #12
  %9996 = load i32, ptr %1317, align 4, !tbaa !5
  %9997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9988, ptr noundef nonnull %.str.26.sink5375, i32 noundef %9989, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.22, i32 noundef 1114, ptr noundef %9991, ptr noundef %9993, ptr noundef %9995, i32 noundef %9996) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9998:                                             ; preds = %9970
  %9999 = load ptr, ptr %81, align 8, !tbaa !9
  %10000 = getelementptr inbounds i8, ptr %9999, i64 1744
  store i32 2, ptr %10000, align 8, !tbaa !81
  %10001 = load i32, ptr @test_count, align 4, !tbaa !5
  %10002 = add nsw i32 %10001, 1
  store i32 %10002, ptr @test_count, align 4, !tbaa !5
  %10003 = call i32 @s2n_tls13_server_nst_send(ptr noundef %9999, ptr noundef nonnull %83)
  %10004 = call zeroext i1 @s2n_result_is_ok(i32 %10003)
  br i1 %10004, label %10027, label %10005

10005:                                            ; preds = %9998
  %10006 = load i32, ptr %1317, align 4, !tbaa !5
  %10007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10008 = call i32 @s2n_print_stacktrace(ptr noundef %10007) #12
  %10009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10010 = trunc nuw i8 %10009 to i1
  br i1 %10010, label %10011, label %10015

10011:                                            ; preds = %10005
  %10012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10013 = call i32 @fileno(ptr noundef %10012) #12
  %10014 = call i32 @isatty(i32 noundef %10013) #12
  %.not1733 = icmp eq i32 %10014, 0
  br i1 %.not1733, label %10015, label %10016

10015:                                            ; preds = %10011, %10005
  br label %10016

10016:                                            ; preds = %10011, %10015
  %.str.26.sink5384 = phi ptr [ @.str.26, %10015 ], [ @.str.23, %10011 ]
  store i32 %10006, ptr %1317, align 4, !tbaa !5
  %10017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10018 = load i32, ptr @test_count, align 4, !tbaa !5
  %10019 = load i32, ptr %1263, align 4, !tbaa !5
  %10020 = call ptr @s2n_strerror(i32 noundef %10019, ptr noundef nonnull @.str.25) #12
  %10021 = load i32, ptr %1263, align 4, !tbaa !5
  %10022 = call ptr @s2n_strerror_debug(i32 noundef %10021, ptr noundef nonnull @.str.25) #12
  %10023 = load i32, ptr %1317, align 4, !tbaa !5
  %10024 = call ptr @strerror(i32 noundef %10023) #12
  %10025 = load i32, ptr %1317, align 4, !tbaa !5
  %10026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10017, ptr noundef nonnull %.str.26.sink5384, i32 noundef %10018, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1118, ptr noundef %10020, ptr noundef %10022, ptr noundef %10024, i32 noundef %10025) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10027:                                            ; preds = %9998
  %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 %81, align 8, !tbaa !9
  %10031 = call i32 @s2n_assert_tickets_sent(ptr noundef %10030, i16 noundef zeroext 1)
  %10032 = call zeroext i1 @s2n_result_is_ok(i32 %10031)
  br i1 %10032, label %10055, label %10033

10033:                                            ; preds = %10027
  %10034 = load i32, ptr %1317, align 4, !tbaa !5
  %10035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10036 = call i32 @s2n_print_stacktrace(ptr noundef %10035) #12
  %10037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10038 = trunc nuw i8 %10037 to i1
  br i1 %10038, label %10039, label %10043

10039:                                            ; preds = %10033
  %10040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10041 = call i32 @fileno(ptr noundef %10040) #12
  %10042 = call i32 @isatty(i32 noundef %10041) #12
  %.not1734 = icmp eq i32 %10042, 0
  br i1 %.not1734, label %10043, label %10044

10043:                                            ; preds = %10039, %10033
  br label %10044

10044:                                            ; preds = %10039, %10043
  %.str.26.sink5393 = phi ptr [ @.str.26, %10043 ], [ @.str.23, %10039 ]
  store i32 %10034, ptr %1317, align 4, !tbaa !5
  %10045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10046 = load i32, ptr @test_count, align 4, !tbaa !5
  %10047 = load i32, ptr %1263, align 4, !tbaa !5
  %10048 = call ptr @s2n_strerror(i32 noundef %10047, ptr noundef nonnull @.str.25) #12
  %10049 = load i32, ptr %1263, align 4, !tbaa !5
  %10050 = call ptr @s2n_strerror_debug(i32 noundef %10049, ptr noundef nonnull @.str.25) #12
  %10051 = load i32, ptr %1317, align 4, !tbaa !5
  %10052 = call ptr @strerror(i32 noundef %10051) #12
  %10053 = load i32, ptr %1317, align 4, !tbaa !5
  %10054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10045, ptr noundef nonnull %.str.26.sink5393, i32 noundef %10046, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.22, i32 noundef 1119, ptr noundef %10048, ptr noundef %10050, ptr noundef %10052, i32 noundef %10053) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10055:                                            ; preds = %10027
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #12
  %10056 = call i32 @s2n_stuffer_free(ptr noundef nonnull %82) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %82) #12
  %10057 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %81) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #12
  %10058 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %80) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #12
  %10059 = call ptr @s2n_config_new() #12
  store ptr %10059, ptr %84, align 8, !tbaa !9
  %10060 = load i32, ptr @test_count, align 4, !tbaa !5
  %10061 = add nsw i32 %10060, 1
  store i32 %10061, ptr @test_count, align 4, !tbaa !5
  %10062 = icmp eq ptr %10059, null
  br i1 %10062, label %10063, label %10085

10063:                                            ; preds = %10055
  %10064 = load i32, ptr %1317, align 4, !tbaa !5
  %10065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10066 = call i32 @s2n_print_stacktrace(ptr noundef %10065) #12
  %10067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10068 = trunc nuw i8 %10067 to i1
  br i1 %10068, label %10069, label %10073

10069:                                            ; preds = %10063
  %10070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10071 = call i32 @fileno(ptr noundef %10070) #12
  %10072 = call i32 @isatty(i32 noundef %10071) #12
  %.not1915 = icmp eq i32 %10072, 0
  br i1 %.not1915, label %10073, label %10074

10073:                                            ; preds = %10069, %10063
  br label %10074

10074:                                            ; preds = %10069, %10073
  %.str.26.sink5402 = phi ptr [ @.str.26, %10073 ], [ @.str.23, %10069 ]
  store i32 %10064, ptr %1317, align 4, !tbaa !5
  %10075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10076 = load i32, ptr @test_count, align 4, !tbaa !5
  %10077 = load i32, ptr %1263, align 4, !tbaa !5
  %10078 = call ptr @s2n_strerror(i32 noundef %10077, ptr noundef nonnull @.str.25) #12
  %10079 = load i32, ptr %1263, align 4, !tbaa !5
  %10080 = call ptr @s2n_strerror_debug(i32 noundef %10079, ptr noundef nonnull @.str.25) #12
  %10081 = load i32, ptr %1317, align 4, !tbaa !5
  %10082 = call ptr @strerror(i32 noundef %10081) #12
  %10083 = load i32, ptr %1317, align 4, !tbaa !5
  %10084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10075, ptr noundef nonnull %.str.26.sink5402, i32 noundef %10076, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 1125, ptr noundef %10078, ptr noundef %10080, ptr noundef %10082, i32 noundef %10083) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10085:                                            ; preds = %10055
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %85) #12
  %10086 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %10086, ptr %85, align 8, !tbaa !9
  %10087 = load i32, ptr @test_count, align 4, !tbaa !5
  %10088 = add nsw i32 %10087, 1
  store i32 %10088, ptr @test_count, align 4, !tbaa !5
  %10089 = icmp eq ptr %10086, null
  br i1 %10089, label %10090, label %10112

10090:                                            ; preds = %10085
  %10091 = load i32, ptr %1317, align 4, !tbaa !5
  %10092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10093 = call i32 @s2n_print_stacktrace(ptr noundef %10092) #12
  %10094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10095 = trunc nuw i8 %10094 to i1
  br i1 %10095, label %10096, label %10100

10096:                                            ; preds = %10090
  %10097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10098 = call i32 @fileno(ptr noundef %10097) #12
  %10099 = call i32 @isatty(i32 noundef %10098) #12
  %.not1914 = icmp eq i32 %10099, 0
  br i1 %.not1914, label %10100, label %10101

10100:                                            ; preds = %10096, %10090
  br label %10101

10101:                                            ; preds = %10096, %10100
  %.str.26.sink5411 = phi ptr [ @.str.26, %10100 ], [ @.str.23, %10096 ]
  store i32 %10091, ptr %1317, align 4, !tbaa !5
  %10102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10103 = load i32, ptr @test_count, align 4, !tbaa !5
  %10104 = load i32, ptr %1263, align 4, !tbaa !5
  %10105 = call ptr @s2n_strerror(i32 noundef %10104, ptr noundef nonnull @.str.25) #12
  %10106 = load i32, ptr %1263, align 4, !tbaa !5
  %10107 = call ptr @s2n_strerror_debug(i32 noundef %10106, ptr noundef nonnull @.str.25) #12
  %10108 = load i32, ptr %1317, align 4, !tbaa !5
  %10109 = call ptr @strerror(i32 noundef %10108) #12
  %10110 = load i32, ptr %1317, align 4, !tbaa !5
  %10111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10102, ptr noundef nonnull %.str.26.sink5411, i32 noundef %10103, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 1127, ptr noundef %10105, ptr noundef %10107, ptr noundef %10109, i32 noundef %10110) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10112:                                            ; preds = %10085
  %10113 = add nsw i32 %10087, 2
  store i32 %10113, ptr @test_count, align 4, !tbaa !5
  %10114 = load ptr, ptr %84, align 8, !tbaa !9
  %10115 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %10114) #12
  %10116 = call zeroext i1 @s2n_result_is_ok(i32 %10115)
  br i1 %10116, label %10139, label %10117

10117:                                            ; preds = %10112
  %10118 = load i32, ptr %1317, align 4, !tbaa !5
  %10119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10120 = call i32 @s2n_print_stacktrace(ptr noundef %10119) #12
  %10121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10122 = trunc nuw i8 %10121 to i1
  br i1 %10122, label %10123, label %10127

10123:                                            ; preds = %10117
  %10124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10125 = call i32 @fileno(ptr noundef %10124) #12
  %10126 = call i32 @isatty(i32 noundef %10125) #12
  %.not1735 = icmp eq i32 %10126, 0
  br i1 %.not1735, label %10127, label %10128

10127:                                            ; preds = %10123, %10117
  br label %10128

10128:                                            ; preds = %10123, %10127
  %.str.26.sink5420 = phi ptr [ @.str.26, %10127 ], [ @.str.23, %10123 ]
  store i32 %10118, ptr %1317, align 4, !tbaa !5
  %10129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10130 = load i32, ptr @test_count, align 4, !tbaa !5
  %10131 = load i32, ptr %1263, align 4, !tbaa !5
  %10132 = call ptr @s2n_strerror(i32 noundef %10131, ptr noundef nonnull @.str.25) #12
  %10133 = load i32, ptr %1263, align 4, !tbaa !5
  %10134 = call ptr @s2n_strerror_debug(i32 noundef %10133, ptr noundef nonnull @.str.25) #12
  %10135 = load i32, ptr %1317, align 4, !tbaa !5
  %10136 = call ptr @strerror(i32 noundef %10135) #12
  %10137 = load i32, ptr %1317, align 4, !tbaa !5
  %10138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10129, ptr noundef nonnull %.str.26.sink5420, i32 noundef %10130, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 1128, ptr noundef %10132, ptr noundef %10134, ptr noundef %10136, i32 noundef %10137) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10139:                                            ; preds = %10112
  %10140 = load i32, ptr @test_count, align 4, !tbaa !5
  %10141 = add nsw i32 %10140, 1
  store i32 %10141, ptr @test_count, align 4, !tbaa !5
  %10142 = load ptr, ptr %85, align 8, !tbaa !9
  %10143 = load ptr, ptr %84, align 8, !tbaa !9
  %10144 = call i32 @s2n_connection_set_config(ptr noundef %10142, ptr noundef %10143) #12
  %10145 = icmp eq i32 %10144, -1
  br i1 %10145, label %10146, label %10168

10146:                                            ; preds = %10139
  %10147 = load i32, ptr %1317, align 4, !tbaa !5
  %10148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10149 = call i32 @s2n_print_stacktrace(ptr noundef %10148) #12
  %10150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10151 = trunc nuw i8 %10150 to i1
  br i1 %10151, label %10152, label %10156

10152:                                            ; preds = %10146
  %10153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10154 = call i32 @fileno(ptr noundef %10153) #12
  %10155 = call i32 @isatty(i32 noundef %10154) #12
  %.not1913 = icmp eq i32 %10155, 0
  br i1 %.not1913, label %10156, label %10157

10156:                                            ; preds = %10152, %10146
  br label %10157

10157:                                            ; preds = %10152, %10156
  %.str.26.sink5429 = phi ptr [ @.str.26, %10156 ], [ @.str.23, %10152 ]
  store i32 %10147, ptr %1317, align 4, !tbaa !5
  %10158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10159 = load i32, ptr @test_count, align 4, !tbaa !5
  %10160 = load i32, ptr %1263, align 4, !tbaa !5
  %10161 = call ptr @s2n_strerror(i32 noundef %10160, ptr noundef nonnull @.str.25) #12
  %10162 = load i32, ptr %1263, align 4, !tbaa !5
  %10163 = call ptr @s2n_strerror_debug(i32 noundef %10162, ptr noundef nonnull @.str.25) #12
  %10164 = load i32, ptr %1317, align 4, !tbaa !5
  %10165 = call ptr @strerror(i32 noundef %10164) #12
  %10166 = load i32, ptr %1317, align 4, !tbaa !5
  %10167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10158, ptr noundef nonnull %.str.26.sink5429, i32 noundef %10159, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 1129, ptr noundef %10161, ptr noundef %10163, ptr noundef %10165, i32 noundef %10166) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10168:                                            ; preds = %10139
  %10169 = load ptr, ptr %85, align 8, !tbaa !9
  %10170 = getelementptr inbounds i8, ptr %10169, i64 220
  store i8 34, ptr %10170, align 4, !tbaa !17
  %10171 = getelementptr inbounds i8, ptr %10169, i64 232
  %10172 = load ptr, ptr %10171, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %10172, align 8, !tbaa !44
  %10173 = load ptr, ptr %85, align 8, !tbaa !9
  %10174 = getelementptr inbounds i8, ptr %10173, i64 4084
  store i16 1, ptr %10174, align 4, !tbaa !79
  %10175 = getelementptr inbounds i8, ptr %10173, i64 8
  %10176 = load ptr, ptr %10175, align 8, !tbaa !78
  %10177 = getelementptr inbounds i8, ptr %10176, i64 144
  store i64 0, ptr %10177, align 8, !tbaa !60
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %86) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %86, i8 0, i64 40, i1 false)
  %10178 = load i32, ptr @test_count, align 4, !tbaa !5
  %10179 = add nsw i32 %10178, 1
  store i32 %10179, ptr @test_count, align 4, !tbaa !5
  %10180 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %86, i32 noundef 0) #12
  %10181 = icmp eq i32 %10180, -1
  br i1 %10181, label %10182, label %10204

10182:                                            ; preds = %10168
  %10183 = load i32, ptr %1317, align 4, !tbaa !5
  %10184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10185 = call i32 @s2n_print_stacktrace(ptr noundef %10184) #12
  %10186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10187 = trunc nuw i8 %10186 to i1
  br i1 %10187, label %10188, label %10192

10188:                                            ; preds = %10182
  %10189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10190 = call i32 @fileno(ptr noundef %10189) #12
  %10191 = call i32 @isatty(i32 noundef %10190) #12
  %.not1912 = icmp eq i32 %10191, 0
  br i1 %.not1912, label %10192, label %10193

10192:                                            ; preds = %10188, %10182
  br label %10193

10193:                                            ; preds = %10188, %10192
  %.str.26.sink5438 = phi ptr [ @.str.26, %10192 ], [ @.str.23, %10188 ]
  store i32 %10183, ptr %1317, align 4, !tbaa !5
  %10194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10195 = load i32, ptr @test_count, align 4, !tbaa !5
  %10196 = load i32, ptr %1263, align 4, !tbaa !5
  %10197 = call ptr @s2n_strerror(i32 noundef %10196, ptr noundef nonnull @.str.25) #12
  %10198 = load i32, ptr %1263, align 4, !tbaa !5
  %10199 = call ptr @s2n_strerror_debug(i32 noundef %10198, ptr noundef nonnull @.str.25) #12
  %10200 = load i32, ptr %1317, align 4, !tbaa !5
  %10201 = call ptr @strerror(i32 noundef %10200) #12
  %10202 = load i32, ptr %1317, align 4, !tbaa !5
  %10203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10194, ptr noundef nonnull %.str.26.sink5438, i32 noundef %10195, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 1141, ptr noundef %10197, ptr noundef %10199, ptr noundef %10201, i32 noundef %10202) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10204:                                            ; preds = %10168
  %10205 = load i32, ptr @test_count, align 4, !tbaa !5
  %10206 = add nsw i32 %10205, 1
  store i32 %10206, ptr @test_count, align 4, !tbaa !5
  %10207 = load ptr, ptr %85, align 8, !tbaa !9
  %10208 = call i32 @s2n_tls13_server_nst_write(ptr noundef %10207, ptr noundef nonnull %86)
  %10209 = call zeroext i1 @s2n_result_is_error(i32 %10208)
  br i1 %10209, label %10232, label %10210

10210:                                            ; preds = %10204
  %10211 = load i32, ptr %1317, align 4, !tbaa !5
  %10212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10213 = call i32 @s2n_print_stacktrace(ptr noundef %10212) #12
  %10214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10215 = trunc nuw i8 %10214 to i1
  br i1 %10215, label %10216, label %10220

10216:                                            ; preds = %10210
  %10217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10218 = call i32 @fileno(ptr noundef %10217) #12
  %10219 = call i32 @isatty(i32 noundef %10218) #12
  %.not1736 = icmp eq i32 %10219, 0
  br i1 %.not1736, label %10220, label %10221

10220:                                            ; preds = %10216, %10210
  br label %10221

10221:                                            ; preds = %10216, %10220
  %.str.26.sink5447 = phi ptr [ @.str.26, %10220 ], [ @.str.23, %10216 ]
  store i32 %10211, ptr %1317, align 4, !tbaa !5
  %10222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10223 = load i32, ptr @test_count, align 4, !tbaa !5
  %10224 = load i32, ptr %1263, align 4, !tbaa !5
  %10225 = call ptr @s2n_strerror(i32 noundef %10224, ptr noundef nonnull @.str.25) #12
  %10226 = load i32, ptr %1263, align 4, !tbaa !5
  %10227 = call ptr @s2n_strerror_debug(i32 noundef %10226, ptr noundef nonnull @.str.25) #12
  %10228 = load i32, ptr %1317, align 4, !tbaa !5
  %10229 = call ptr @strerror(i32 noundef %10228) #12
  %10230 = load i32, ptr %1317, align 4, !tbaa !5
  %10231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10222, ptr noundef nonnull %.str.26.sink5447, i32 noundef %10223, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.22, i32 noundef 1142, ptr noundef %10225, ptr noundef %10227, ptr noundef %10229, i32 noundef %10230) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10232:                                            ; preds = %10204
  %10233 = load i32, ptr @test_count, align 4, !tbaa !5
  %10234 = add nsw i32 %10233, 1
  store i32 %10234, ptr @test_count, align 4, !tbaa !5
  %10235 = load i32, ptr %1263, align 4, !tbaa !5
  %10236 = icmp eq i32 %10235, 402653273
  br i1 %10236, label %10259, label %10237

10237:                                            ; preds = %10232
  %10238 = load i32, ptr %1317, align 4, !tbaa !5
  %10239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10240 = call i32 @s2n_print_stacktrace(ptr noundef %10239) #12
  %10241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10242 = trunc nuw i8 %10241 to i1
  br i1 %10242, label %10243, label %10247

10243:                                            ; preds = %10237
  %10244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10245 = call i32 @fileno(ptr noundef %10244) #12
  %10246 = call i32 @isatty(i32 noundef %10245) #12
  %.not1737 = icmp eq i32 %10246, 0
  br i1 %.not1737, label %10247, label %10248

10247:                                            ; preds = %10243, %10237
  br label %10248

10248:                                            ; preds = %10243, %10247
  %.str.26.sink5456 = phi ptr [ @.str.26, %10247 ], [ @.str.23, %10243 ]
  store i32 %10238, ptr %1317, align 4, !tbaa !5
  %10249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10250 = load i32, ptr @test_count, align 4, !tbaa !5
  %10251 = load i32, ptr %1263, align 4, !tbaa !5
  %10252 = call ptr @s2n_strerror(i32 noundef %10251, ptr noundef nonnull @.str.25) #12
  %10253 = load i32, ptr %1263, align 4, !tbaa !5
  %10254 = call ptr @s2n_strerror_debug(i32 noundef %10253, ptr noundef nonnull @.str.25) #12
  %10255 = load i32, ptr %1317, align 4, !tbaa !5
  %10256 = call ptr @strerror(i32 noundef %10255) #12
  %10257 = load i32, ptr %1317, align 4, !tbaa !5
  %10258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10249, ptr noundef nonnull %.str.26.sink5456, i32 noundef %10250, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.22, i32 noundef 1142, ptr noundef %10252, ptr noundef %10254, ptr noundef %10256, i32 noundef %10257) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10259:                                            ; preds = %10232
  %10260 = add nsw i32 %10233, 2
  store i32 %10260, ptr @test_count, align 4, !tbaa !5
  %10261 = call ptr @s2n_strerror_debug(i32 noundef 402653273, ptr noundef nonnull @.str.25) #12
  %10262 = icmp eq ptr %10261, null
  br i1 %10262, label %10263, label %10285

10263:                                            ; preds = %10259
  %10264 = load i32, ptr %1317, align 4, !tbaa !5
  %10265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10266 = call i32 @s2n_print_stacktrace(ptr noundef %10265) #12
  %10267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10268 = trunc nuw i8 %10267 to i1
  br i1 %10268, label %10269, label %10273

10269:                                            ; preds = %10263
  %10270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10271 = call i32 @fileno(ptr noundef %10270) #12
  %10272 = call i32 @isatty(i32 noundef %10271) #12
  %.not1911 = icmp eq i32 %10272, 0
  br i1 %.not1911, label %10273, label %10274

10273:                                            ; preds = %10269, %10263
  br label %10274

10274:                                            ; preds = %10269, %10273
  %.str.26.sink5465 = phi ptr [ @.str.26, %10273 ], [ @.str.23, %10269 ]
  store i32 %10264, ptr %1317, align 4, !tbaa !5
  %10275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10276 = load i32, ptr @test_count, align 4, !tbaa !5
  %10277 = load i32, ptr %1263, align 4, !tbaa !5
  %10278 = call ptr @s2n_strerror(i32 noundef %10277, ptr noundef nonnull @.str.25) #12
  %10279 = load i32, ptr %1263, align 4, !tbaa !5
  %10280 = call ptr @s2n_strerror_debug(i32 noundef %10279, ptr noundef nonnull @.str.25) #12
  %10281 = load i32, ptr %1317, align 4, !tbaa !5
  %10282 = call ptr @strerror(i32 noundef %10281) #12
  %10283 = load i32, ptr %1317, align 4, !tbaa !5
  %10284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10275, ptr noundef nonnull %.str.26.sink5465, i32 noundef %10276, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.22, i32 noundef 1142, ptr noundef %10278, ptr noundef %10280, ptr noundef %10282, i32 noundef %10283) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10285:                                            ; preds = %10259
  store i32 0, ptr %1263, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1317, align 4, !tbaa !5
  %10286 = load i32, ptr @test_count, align 4, !tbaa !5
  %10287 = add nsw i32 %10286, 1
  store i32 %10287, ptr @test_count, align 4, !tbaa !5
  %10288 = load ptr, ptr %85, align 8, !tbaa !9
  %10289 = call i32 @s2n_assert_tickets_sent(ptr noundef %10288, i16 noundef zeroext 0)
  %10290 = call zeroext i1 @s2n_result_is_ok(i32 %10289)
  br i1 %10290, label %10313, label %10291

10291:                                            ; preds = %10285
  %10292 = load i32, ptr %1317, align 4, !tbaa !5
  %10293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10294 = call i32 @s2n_print_stacktrace(ptr noundef %10293) #12
  %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) #12
  %10300 = call i32 @isatty(i32 noundef %10299) #12
  %.not1738 = icmp eq i32 %10300, 0
  br i1 %.not1738, label %10301, label %10302

10301:                                            ; preds = %10297, %10291
  br label %10302

10302:                                            ; preds = %10297, %10301
  %.str.26.sink5474 = phi ptr [ @.str.26, %10301 ], [ @.str.23, %10297 ]
  store i32 %10292, ptr %1317, 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 %1263, align 4, !tbaa !5
  %10306 = call ptr @s2n_strerror(i32 noundef %10305, ptr noundef nonnull @.str.25) #12
  %10307 = load i32, ptr %1263, align 4, !tbaa !5
  %10308 = call ptr @s2n_strerror_debug(i32 noundef %10307, ptr noundef nonnull @.str.25) #12
  %10309 = load i32, ptr %1317, align 4, !tbaa !5
  %10310 = call ptr @strerror(i32 noundef %10309) #12
  %10311 = load i32, ptr %1317, align 4, !tbaa !5
  %10312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10303, ptr noundef nonnull %.str.26.sink5474, i32 noundef %10304, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.22, i32 noundef 1143, ptr noundef %10306, ptr noundef %10308, ptr noundef %10310, i32 noundef %10311) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10313:                                            ; preds = %10285
  %10314 = call i32 @s2n_stuffer_free(ptr noundef nonnull %86) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %86) #12
  %10315 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %85) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #12
  %10316 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %84) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #12
  %10317 = load i32, ptr @test_count, align 4, !tbaa !5
  %10318 = add nsw i32 %10317, 1
  store i32 %10318, ptr @test_count, align 4, !tbaa !5
  %10319 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %10320 = icmp eq ptr %10319, null
  br i1 %10320, label %10321, label %10343

10321:                                            ; preds = %10313
  %10322 = load i32, ptr %1317, align 4, !tbaa !5
  %10323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10324 = call i32 @s2n_print_stacktrace(ptr noundef %10323) #12
  %10325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10326 = trunc nuw i8 %10325 to i1
  br i1 %10326, label %10327, label %10331

10327:                                            ; preds = %10321
  %10328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10329 = call i32 @fileno(ptr noundef %10328) #12
  %10330 = call i32 @isatty(i32 noundef %10329) #12
  %.not1910 = icmp eq i32 %10330, 0
  br i1 %.not1910, label %10331, label %10332

10331:                                            ; preds = %10327, %10321
  br label %10332

10332:                                            ; preds = %10327, %10331
  %.str.26.sink5483 = phi ptr [ @.str.26, %10331 ], [ @.str.23, %10327 ]
  store i32 %10322, ptr %1317, align 4, !tbaa !5
  %10333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10334 = load i32, ptr @test_count, align 4, !tbaa !5
  %10335 = load i32, ptr %1263, align 4, !tbaa !5
  %10336 = call ptr @s2n_strerror(i32 noundef %10335, ptr noundef nonnull @.str.25) #12
  %10337 = load i32, ptr %1263, align 4, !tbaa !5
  %10338 = call ptr @s2n_strerror_debug(i32 noundef %10337, ptr noundef nonnull @.str.25) #12
  %10339 = load i32, ptr %1317, align 4, !tbaa !5
  %10340 = call ptr @strerror(i32 noundef %10339) #12
  %10341 = load i32, ptr %1317, align 4, !tbaa !5
  %10342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10333, ptr noundef nonnull %.str.26.sink5483, i32 noundef %10334, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.22, i32 noundef 1150, ptr noundef %10336, ptr noundef %10338, ptr noundef %10340, i32 noundef %10341) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10343:                                            ; preds = %10313
  %10344 = load i32, ptr @test_count, align 4, !tbaa !5
  %10345 = add nsw i32 %10344, 1
  store i32 %10345, ptr @test_count, align 4, !tbaa !5
  %10346 = call ptr @s2n_config_new() #12
  %10347 = icmp eq ptr %10346, null
  br i1 %10347, label %10348, label %10370

10348:                                            ; preds = %10343
  %10349 = load i32, ptr %1317, align 4, !tbaa !5
  %10350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10351 = call i32 @s2n_print_stacktrace(ptr noundef %10350) #12
  %10352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10353 = trunc nuw i8 %10352 to i1
  br i1 %10353, label %10354, label %10358

10354:                                            ; preds = %10348
  %10355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10356 = call i32 @fileno(ptr noundef %10355) #12
  %10357 = call i32 @isatty(i32 noundef %10356) #12
  %.not1909 = icmp eq i32 %10357, 0
  br i1 %.not1909, label %10358, label %10359

10358:                                            ; preds = %10354, %10348
  br label %10359

10359:                                            ; preds = %10354, %10358
  %.str.26.sink5492 = phi ptr [ @.str.26, %10358 ], [ @.str.23, %10354 ]
  store i32 %10349, ptr %1317, align 4, !tbaa !5
  %10360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10361 = load i32, ptr @test_count, align 4, !tbaa !5
  %10362 = load i32, ptr %1263, align 4, !tbaa !5
  %10363 = call ptr @s2n_strerror(i32 noundef %10362, ptr noundef nonnull @.str.25) #12
  %10364 = load i32, ptr %1263, align 4, !tbaa !5
  %10365 = call ptr @s2n_strerror_debug(i32 noundef %10364, ptr noundef nonnull @.str.25) #12
  %10366 = load i32, ptr %1317, align 4, !tbaa !5
  %10367 = call ptr @strerror(i32 noundef %10366) #12
  %10368 = load i32, ptr %1317, align 4, !tbaa !5
  %10369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10360, ptr noundef nonnull %.str.26.sink5492, i32 noundef %10361, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.22, i32 noundef 1151, ptr noundef %10363, ptr noundef %10365, ptr noundef %10367, i32 noundef %10368) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10370:                                            ; preds = %10343
  %10371 = load i32, ptr @test_count, align 4, !tbaa !5
  %10372 = add nsw i32 %10371, 1
  store i32 %10372, ptr @test_count, align 4, !tbaa !5
  %10373 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %10346) #12
  %10374 = call zeroext i1 @s2n_result_is_ok(i32 %10373)
  br i1 %10374, label %10397, label %10375

10375:                                            ; preds = %10370
  %10376 = load i32, ptr %1317, align 4, !tbaa !5
  %10377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10378 = call i32 @s2n_print_stacktrace(ptr noundef %10377) #12
  %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) #12
  %10384 = call i32 @isatty(i32 noundef %10383) #12
  %.not1739 = icmp eq i32 %10384, 0
  br i1 %.not1739, label %10385, label %10386

10385:                                            ; preds = %10381, %10375
  br label %10386

10386:                                            ; preds = %10381, %10385
  %.str.26.sink5501 = phi ptr [ @.str.26, %10385 ], [ @.str.23, %10381 ]
  store i32 %10376, ptr %1317, 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 %1263, align 4, !tbaa !5
  %10390 = call ptr @s2n_strerror(i32 noundef %10389, ptr noundef nonnull @.str.25) #12
  %10391 = load i32, ptr %1263, align 4, !tbaa !5
  %10392 = call ptr @s2n_strerror_debug(i32 noundef %10391, ptr noundef nonnull @.str.25) #12
  %10393 = load i32, ptr %1317, align 4, !tbaa !5
  %10394 = call ptr @strerror(i32 noundef %10393) #12
  %10395 = load i32, ptr %1317, align 4, !tbaa !5
  %10396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10387, ptr noundef nonnull %.str.26.sink5501, i32 noundef %10388, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 1152, ptr noundef %10390, ptr noundef %10392, ptr noundef %10394, i32 noundef %10395) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10397:                                            ; preds = %10370
  %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_connection_set_config(ptr noundef nonnull %10319, ptr noundef nonnull %10346) #12
  %10401 = icmp eq i32 %10400, -1
  br i1 %10401, label %10402, label %10424

10402:                                            ; preds = %10397
  %10403 = load i32, ptr %1317, align 4, !tbaa !5
  %10404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10405 = call i32 @s2n_print_stacktrace(ptr noundef %10404) #12
  %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) #12
  %10411 = call i32 @isatty(i32 noundef %10410) #12
  %.not1908 = icmp eq i32 %10411, 0
  br i1 %.not1908, label %10412, label %10413

10412:                                            ; preds = %10408, %10402
  br label %10413

10413:                                            ; preds = %10408, %10412
  %.str.26.sink5510 = phi ptr [ @.str.26, %10412 ], [ @.str.23, %10408 ]
  store i32 %10403, ptr %1317, 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 %1263, align 4, !tbaa !5
  %10417 = call ptr @s2n_strerror(i32 noundef %10416, ptr noundef nonnull @.str.25) #12
  %10418 = load i32, ptr %1263, align 4, !tbaa !5
  %10419 = call ptr @s2n_strerror_debug(i32 noundef %10418, ptr noundef nonnull @.str.25) #12
  %10420 = load i32, ptr %1317, align 4, !tbaa !5
  %10421 = call ptr @strerror(i32 noundef %10420) #12
  %10422 = load i32, ptr %1317, align 4, !tbaa !5
  %10423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10414, ptr noundef nonnull %.str.26.sink5510, i32 noundef %10415, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 1153, ptr noundef %10417, ptr noundef %10419, ptr noundef %10421, i32 noundef %10422) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10424:                                            ; preds = %10397
  %10425 = getelementptr inbounds i8, ptr %10319, i64 220
  store i8 34, ptr %10425, align 4, !tbaa !17
  %10426 = getelementptr inbounds i8, ptr %10319, i64 232
  %10427 = load ptr, ptr %10426, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %10427, align 8, !tbaa !44
  %10428 = getelementptr inbounds i8, ptr %10319, i64 4084
  store i16 1, ptr %10428, align 4, !tbaa !79
  %10429 = load i32, ptr @test_count, align 4, !tbaa !5
  %10430 = add nsw i32 %10429, 1
  store i32 %10430, ptr @test_count, align 4, !tbaa !5
  %10431 = getelementptr inbounds i8, ptr %10319, i64 2024
  %10432 = load i32, ptr %10431, align 8, !tbaa !80
  %10433 = getelementptr inbounds i8, ptr %10319, i64 2044
  %10434 = load i32, ptr %10433, align 4, !tbaa !76
  %10435 = icmp eq i32 %10432, %10434
  br i1 %10435, label %10436, label %10458

10436:                                            ; preds = %10424
  %10437 = load i32, ptr %1317, align 4, !tbaa !5
  %10438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10439 = call i32 @s2n_print_stacktrace(ptr noundef %10438) #12
  %10440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10441 = trunc nuw i8 %10440 to i1
  br i1 %10441, label %10442, label %10446

10442:                                            ; preds = %10436
  %10443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10444 = call i32 @fileno(ptr noundef %10443) #12
  %10445 = call i32 @isatty(i32 noundef %10444) #12
  %.not1907 = icmp eq i32 %10445, 0
  br i1 %.not1907, label %10446, label %10447

10446:                                            ; preds = %10442, %10436
  br label %10447

10447:                                            ; preds = %10442, %10446
  %.str.26.sink5519 = phi ptr [ @.str.26, %10446 ], [ @.str.23, %10442 ]
  store i32 %10437, ptr %1317, align 4, !tbaa !5
  %10448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10449 = load i32, ptr @test_count, align 4, !tbaa !5
  %10450 = load i32, ptr %1263, align 4, !tbaa !5
  %10451 = call ptr @s2n_strerror(i32 noundef %10450, ptr noundef nonnull @.str.25) #12
  %10452 = load i32, ptr %1263, align 4, !tbaa !5
  %10453 = call ptr @s2n_strerror_debug(i32 noundef %10452, ptr noundef nonnull @.str.25) #12
  %10454 = load i32, ptr %1317, align 4, !tbaa !5
  %10455 = call ptr @strerror(i32 noundef %10454) #12
  %10456 = load i32, ptr %1317, align 4, !tbaa !5
  %10457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10448, ptr noundef nonnull %.str.26.sink5519, i32 noundef %10449, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.22, i32 noundef 1158, ptr noundef %10451, ptr noundef %10453, ptr noundef %10455, i32 noundef %10456) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10458:                                            ; preds = %10424
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %87) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %87, i8 0, i64 40, i1 false)
  %10459 = add nsw i32 %10429, 2
  store i32 %10459, ptr @test_count, align 4, !tbaa !5
  %10460 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %87, i32 noundef 0) #12
  %10461 = icmp eq i32 %10460, -1
  br i1 %10461, label %10462, label %10484

10462:                                            ; preds = %10458
  %10463 = load i32, ptr %1317, align 4, !tbaa !5
  %10464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10465 = call i32 @s2n_print_stacktrace(ptr noundef %10464) #12
  %10466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10467 = trunc nuw i8 %10466 to i1
  br i1 %10467, label %10468, label %10472

10468:                                            ; preds = %10462
  %10469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10470 = call i32 @fileno(ptr noundef %10469) #12
  %10471 = call i32 @isatty(i32 noundef %10470) #12
  %.not1906 = icmp eq i32 %10471, 0
  br i1 %.not1906, label %10472, label %10473

10472:                                            ; preds = %10468, %10462
  br label %10473

10473:                                            ; preds = %10468, %10472
  %.str.26.sink5528 = phi ptr [ @.str.26, %10472 ], [ @.str.23, %10468 ]
  store i32 %10463, ptr %1317, align 4, !tbaa !5
  %10474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10475 = load i32, ptr @test_count, align 4, !tbaa !5
  %10476 = load i32, ptr %1263, align 4, !tbaa !5
  %10477 = call ptr @s2n_strerror(i32 noundef %10476, ptr noundef nonnull @.str.25) #12
  %10478 = load i32, ptr %1263, align 4, !tbaa !5
  %10479 = call ptr @s2n_strerror_debug(i32 noundef %10478, ptr noundef nonnull @.str.25) #12
  %10480 = load i32, ptr %1317, align 4, !tbaa !5
  %10481 = call ptr @strerror(i32 noundef %10480) #12
  %10482 = load i32, ptr %1317, align 4, !tbaa !5
  %10483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10474, ptr noundef nonnull %.str.26.sink5528, i32 noundef %10475, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 1162, ptr noundef %10477, ptr noundef %10479, ptr noundef %10481, i32 noundef %10482) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10484:                                            ; preds = %10458
  %10485 = load i32, ptr @test_count, align 4, !tbaa !5
  %10486 = add nsw i32 %10485, 1
  store i32 %10486, ptr @test_count, align 4, !tbaa !5
  %10487 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %87, ptr noundef nonnull %87, ptr noundef nonnull %10319) #12
  %10488 = icmp eq i32 %10487, -1
  br i1 %10488, label %10489, label %10511

10489:                                            ; preds = %10484
  %10490 = load i32, ptr %1317, align 4, !tbaa !5
  %10491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10492 = call i32 @s2n_print_stacktrace(ptr noundef %10491) #12
  %10493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10494 = trunc nuw i8 %10493 to i1
  br i1 %10494, label %10495, label %10499

10495:                                            ; preds = %10489
  %10496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10497 = call i32 @fileno(ptr noundef %10496) #12
  %10498 = call i32 @isatty(i32 noundef %10497) #12
  %.not1905 = icmp eq i32 %10498, 0
  br i1 %.not1905, label %10499, label %10500

10499:                                            ; preds = %10495, %10489
  br label %10500

10500:                                            ; preds = %10495, %10499
  %.str.26.sink5537 = phi ptr [ @.str.26, %10499 ], [ @.str.23, %10495 ]
  store i32 %10490, ptr %1317, align 4, !tbaa !5
  %10501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10502 = load i32, ptr @test_count, align 4, !tbaa !5
  %10503 = load i32, ptr %1263, align 4, !tbaa !5
  %10504 = call ptr @s2n_strerror(i32 noundef %10503, ptr noundef nonnull @.str.25) #12
  %10505 = load i32, ptr %1263, align 4, !tbaa !5
  %10506 = call ptr @s2n_strerror_debug(i32 noundef %10505, ptr noundef nonnull @.str.25) #12
  %10507 = load i32, ptr %1317, align 4, !tbaa !5
  %10508 = call ptr @strerror(i32 noundef %10507) #12
  %10509 = load i32, ptr %1317, align 4, !tbaa !5
  %10510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10501, ptr noundef nonnull %.str.26.sink5537, i32 noundef %10502, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.22, i32 noundef 1163, ptr noundef %10504, ptr noundef %10506, ptr noundef %10508, i32 noundef %10509) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10511:                                            ; preds = %10484
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %88) #12
  store i32 0, ptr %88, align 4, !tbaa !5
  %10512 = load i32, ptr @test_count, align 4, !tbaa !5
  %10513 = add nsw i32 %10512, 1
  store i32 %10513, ptr @test_count, align 4, !tbaa !5
  %10514 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %10319, ptr noundef nonnull %88)
  %10515 = call zeroext i1 @s2n_result_is_ok(i32 %10514)
  br i1 %10515, label %10538, label %10516

10516:                                            ; preds = %10511
  %10517 = load i32, ptr %1317, align 4, !tbaa !5
  %10518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10519 = call i32 @s2n_print_stacktrace(ptr noundef %10518) #12
  %10520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10521 = trunc nuw i8 %10520 to i1
  br i1 %10521, label %10522, label %10526

10522:                                            ; preds = %10516
  %10523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10524 = call i32 @fileno(ptr noundef %10523) #12
  %10525 = call i32 @isatty(i32 noundef %10524) #12
  %.not1740 = icmp eq i32 %10525, 0
  br i1 %.not1740, label %10526, label %10527

10526:                                            ; preds = %10522, %10516
  br label %10527

10527:                                            ; preds = %10522, %10526
  %.str.26.sink5546 = phi ptr [ @.str.26, %10526 ], [ @.str.23, %10522 ]
  store i32 %10517, ptr %1317, align 4, !tbaa !5
  %10528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10529 = load i32, ptr @test_count, align 4, !tbaa !5
  %10530 = load i32, ptr %1263, align 4, !tbaa !5
  %10531 = call ptr @s2n_strerror(i32 noundef %10530, ptr noundef nonnull @.str.25) #12
  %10532 = load i32, ptr %1263, align 4, !tbaa !5
  %10533 = call ptr @s2n_strerror_debug(i32 noundef %10532, ptr noundef nonnull @.str.25) #12
  %10534 = load i32, ptr %1317, align 4, !tbaa !5
  %10535 = call ptr @strerror(i32 noundef %10534) #12
  %10536 = load i32, ptr %1317, align 4, !tbaa !5
  %10537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10528, ptr noundef nonnull %.str.26.sink5546, i32 noundef %10529, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1166, ptr noundef %10531, ptr noundef %10533, ptr noundef %10535, i32 noundef %10536) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10538:                                            ; preds = %10511
  %10539 = load i32, ptr @test_count, align 4, !tbaa !5
  %10540 = add nsw i32 %10539, 1
  store i32 %10540, ptr @test_count, align 4, !tbaa !5
  %10541 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %10319, i16 noundef zeroext 1)
  %10542 = call zeroext i1 @s2n_result_is_ok(i32 %10541)
  br i1 %10542, label %10565, label %10543

10543:                                            ; preds = %10538
  %10544 = load i32, ptr %1317, align 4, !tbaa !5
  %10545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10546 = call i32 @s2n_print_stacktrace(ptr noundef %10545) #12
  %10547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10548 = trunc nuw i8 %10547 to i1
  br i1 %10548, label %10549, label %10553

10549:                                            ; preds = %10543
  %10550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10551 = call i32 @fileno(ptr noundef %10550) #12
  %10552 = call i32 @isatty(i32 noundef %10551) #12
  %.not1741 = icmp eq i32 %10552, 0
  br i1 %.not1741, label %10553, label %10554

10553:                                            ; preds = %10549, %10543
  br label %10554

10554:                                            ; preds = %10549, %10553
  %.str.26.sink5555 = phi ptr [ @.str.26, %10553 ], [ @.str.23, %10549 ]
  store i32 %10544, ptr %1317, align 4, !tbaa !5
  %10555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10556 = load i32, ptr @test_count, align 4, !tbaa !5
  %10557 = load i32, ptr %1263, align 4, !tbaa !5
  %10558 = call ptr @s2n_strerror(i32 noundef %10557, ptr noundef nonnull @.str.25) #12
  %10559 = load i32, ptr %1263, align 4, !tbaa !5
  %10560 = call ptr @s2n_strerror_debug(i32 noundef %10559, ptr noundef nonnull @.str.25) #12
  %10561 = load i32, ptr %1317, align 4, !tbaa !5
  %10562 = call ptr @strerror(i32 noundef %10561) #12
  %10563 = load i32, ptr %1317, align 4, !tbaa !5
  %10564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10555, ptr noundef nonnull %.str.26.sink5555, i32 noundef %10556, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.22, i32 noundef 1167, ptr noundef %10558, ptr noundef %10560, ptr noundef %10562, i32 noundef %10563) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10565:                                            ; preds = %10538
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %89) #12
  store i16 0, ptr %89, align 2, !tbaa !54
  %10566 = load i32, ptr @test_count, align 4, !tbaa !5
  %10567 = add nsw i32 %10566, 1
  store i32 %10567, ptr @test_count, align 4, !tbaa !5
  %10568 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %87, i32 noundef 3) #12
  %10569 = icmp eq i32 %10568, -1
  br i1 %10569, label %10570, label %10592

10570:                                            ; preds = %10565
  %10571 = load i32, ptr %1317, align 4, !tbaa !5
  %10572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10573 = call i32 @s2n_print_stacktrace(ptr noundef %10572) #12
  %10574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10575 = trunc nuw i8 %10574 to i1
  br i1 %10575, label %10576, label %10580

10576:                                            ; preds = %10570
  %10577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10578 = call i32 @fileno(ptr noundef %10577) #12
  %10579 = call i32 @isatty(i32 noundef %10578) #12
  %.not1904 = icmp eq i32 %10579, 0
  br i1 %.not1904, label %10580, label %10581

10580:                                            ; preds = %10576, %10570
  br label %10581

10581:                                            ; preds = %10576, %10580
  %.str.26.sink5564 = phi ptr [ @.str.26, %10580 ], [ @.str.23, %10576 ]
  store i32 %10571, ptr %1317, align 4, !tbaa !5
  %10582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10583 = load i32, ptr @test_count, align 4, !tbaa !5
  %10584 = load i32, ptr %1263, align 4, !tbaa !5
  %10585 = call ptr @s2n_strerror(i32 noundef %10584, ptr noundef nonnull @.str.25) #12
  %10586 = load i32, ptr %1263, align 4, !tbaa !5
  %10587 = call ptr @s2n_strerror_debug(i32 noundef %10586, ptr noundef nonnull @.str.25) #12
  %10588 = load i32, ptr %1317, align 4, !tbaa !5
  %10589 = call ptr @strerror(i32 noundef %10588) #12
  %10590 = load i32, ptr %1317, align 4, !tbaa !5
  %10591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10582, ptr noundef nonnull %.str.26.sink5564, i32 noundef %10583, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.22, i32 noundef 1171, ptr noundef %10585, ptr noundef %10587, ptr noundef %10589, i32 noundef %10590) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10592:                                            ; preds = %10565
  %10593 = load i32, ptr @test_count, align 4, !tbaa !5
  %10594 = add nsw i32 %10593, 1
  store i32 %10594, ptr @test_count, align 4, !tbaa !5
  %10595 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %87, ptr noundef nonnull %89) #12
  %10596 = icmp eq i32 %10595, -1
  br i1 %10596, label %10597, label %10619

10597:                                            ; preds = %10592
  %10598 = load i32, ptr %1317, align 4, !tbaa !5
  %10599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10600 = call i32 @s2n_print_stacktrace(ptr noundef %10599) #12
  %10601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10602 = trunc nuw i8 %10601 to i1
  br i1 %10602, label %10603, label %10607

10603:                                            ; preds = %10597
  %10604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10605 = call i32 @fileno(ptr noundef %10604) #12
  %10606 = call i32 @isatty(i32 noundef %10605) #12
  %.not1903 = icmp eq i32 %10606, 0
  br i1 %.not1903, label %10607, label %10608

10607:                                            ; preds = %10603, %10597
  br label %10608

10608:                                            ; preds = %10603, %10607
  %.str.26.sink5573 = phi ptr [ @.str.26, %10607 ], [ @.str.23, %10603 ]
  store i32 %10598, ptr %1317, align 4, !tbaa !5
  %10609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10610 = load i32, ptr @test_count, align 4, !tbaa !5
  %10611 = load i32, ptr %1263, align 4, !tbaa !5
  %10612 = call ptr @s2n_strerror(i32 noundef %10611, ptr noundef nonnull @.str.25) #12
  %10613 = load i32, ptr %1263, align 4, !tbaa !5
  %10614 = call ptr @s2n_strerror_debug(i32 noundef %10613, ptr noundef nonnull @.str.25) #12
  %10615 = load i32, ptr %1317, align 4, !tbaa !5
  %10616 = call ptr @strerror(i32 noundef %10615) #12
  %10617 = load i32, ptr %1317, align 4, !tbaa !5
  %10618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10609, ptr noundef nonnull %.str.26.sink5573, i32 noundef %10610, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.22, i32 noundef 1172, ptr noundef %10612, ptr noundef %10614, ptr noundef %10616, i32 noundef %10617) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10619:                                            ; preds = %10592
  %10620 = load i32, ptr @test_count, align 4, !tbaa !5
  %10621 = add nsw i32 %10620, 1
  store i32 %10621, ptr @test_count, align 4, !tbaa !5
  %10622 = load i16, ptr %89, align 2, !tbaa !54
  %.not1742 = icmp eq i16 %10622, 0
  br i1 %.not1742, label %10623, label %10645

10623:                                            ; preds = %10619
  %10624 = load i32, ptr %1317, align 4, !tbaa !5
  %10625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10626 = call i32 @s2n_print_stacktrace(ptr noundef %10625) #12
  %10627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10628 = trunc nuw i8 %10627 to i1
  br i1 %10628, label %10629, label %10633

10629:                                            ; preds = %10623
  %10630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10631 = call i32 @fileno(ptr noundef %10630) #12
  %10632 = call i32 @isatty(i32 noundef %10631) #12
  %.not1743 = icmp eq i32 %10632, 0
  br i1 %.not1743, label %10633, label %10634

10633:                                            ; preds = %10629, %10623
  br label %10634

10634:                                            ; preds = %10629, %10633
  %.str.26.sink5582 = phi ptr [ @.str.26, %10633 ], [ @.str.23, %10629 ]
  store i32 %10624, ptr %1317, align 4, !tbaa !5
  %10635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10636 = load i32, ptr @test_count, align 4, !tbaa !5
  %10637 = load i32, ptr %1263, align 4, !tbaa !5
  %10638 = call ptr @s2n_strerror(i32 noundef %10637, ptr noundef nonnull @.str.25) #12
  %10639 = load i32, ptr %1263, align 4, !tbaa !5
  %10640 = call ptr @s2n_strerror_debug(i32 noundef %10639, ptr noundef nonnull @.str.25) #12
  %10641 = load i32, ptr %1317, align 4, !tbaa !5
  %10642 = call ptr @strerror(i32 noundef %10641) #12
  %10643 = load i32, ptr %1317, align 4, !tbaa !5
  %10644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10635, ptr noundef nonnull %.str.26.sink5582, i32 noundef %10636, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.22, i32 noundef 1173, ptr noundef %10638, ptr noundef %10640, ptr noundef %10642, i32 noundef %10643) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10645:                                            ; preds = %10619
  %10646 = add nsw i32 %10620, 2
  store i32 %10646, ptr @test_count, align 4, !tbaa !5
  %10647 = zext i16 %10622 to i32
  %10648 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %87, i32 noundef %10647) #12
  %10649 = icmp eq i32 %10648, -1
  br i1 %10649, label %10650, label %10672

10650:                                            ; preds = %10645
  %10651 = load i32, ptr %1317, align 4, !tbaa !5
  %10652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10653 = call i32 @s2n_print_stacktrace(ptr noundef %10652) #12
  %10654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10655 = trunc nuw i8 %10654 to i1
  br i1 %10655, label %10656, label %10660

10656:                                            ; preds = %10650
  %10657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10658 = call i32 @fileno(ptr noundef %10657) #12
  %10659 = call i32 @isatty(i32 noundef %10658) #12
  %.not1902 = icmp eq i32 %10659, 0
  br i1 %.not1902, label %10660, label %10661

10660:                                            ; preds = %10656, %10650
  br label %10661

10661:                                            ; preds = %10656, %10660
  %.str.26.sink5591 = phi ptr [ @.str.26, %10660 ], [ @.str.23, %10656 ]
  store i32 %10651, ptr %1317, align 4, !tbaa !5
  %10662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10663 = load i32, ptr @test_count, align 4, !tbaa !5
  %10664 = load i32, ptr %1263, align 4, !tbaa !5
  %10665 = call ptr @s2n_strerror(i32 noundef %10664, ptr noundef nonnull @.str.25) #12
  %10666 = load i32, ptr %1263, align 4, !tbaa !5
  %10667 = call ptr @s2n_strerror_debug(i32 noundef %10666, ptr noundef nonnull @.str.25) #12
  %10668 = load i32, ptr %1317, align 4, !tbaa !5
  %10669 = call ptr @strerror(i32 noundef %10668) #12
  %10670 = load i32, ptr %1317, align 4, !tbaa !5
  %10671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10662, ptr noundef nonnull %.str.26.sink5591, i32 noundef %10663, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.22, i32 noundef 1174, ptr noundef %10665, ptr noundef %10667, ptr noundef %10669, i32 noundef %10670) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10672:                                            ; preds = %10645
  %10673 = load i32, ptr @test_count, align 4, !tbaa !5
  %10674 = add nsw i32 %10673, 1
  store i32 %10674, ptr @test_count, align 4, !tbaa !5
  %10675 = getelementptr inbounds i8, ptr %87, i64 28
  %10676 = load i32, ptr %10675, align 4, !tbaa !51
  %10677 = getelementptr inbounds i8, ptr %87, i64 24
  %10678 = load i32, ptr %10677, align 8, !tbaa !52
  %10679 = icmp eq i32 %10676, %10678
  br i1 %10679, label %10702, label %10680

10680:                                            ; preds = %10672
  %10681 = load i32, ptr %1317, align 4, !tbaa !5
  %10682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10683 = call i32 @s2n_print_stacktrace(ptr noundef %10682) #12
  %10684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10685 = trunc nuw i8 %10684 to i1
  br i1 %10685, label %10686, label %10690

10686:                                            ; preds = %10680
  %10687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10688 = call i32 @fileno(ptr noundef %10687) #12
  %10689 = call i32 @isatty(i32 noundef %10688) #12
  %.not1744 = icmp eq i32 %10689, 0
  br i1 %.not1744, label %10690, label %10691

10690:                                            ; preds = %10686, %10680
  br label %10691

10691:                                            ; preds = %10686, %10690
  %.str.26.sink5600 = phi ptr [ @.str.26, %10690 ], [ @.str.23, %10686 ]
  store i32 %10681, ptr %1317, align 4, !tbaa !5
  %10692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10693 = load i32, ptr @test_count, align 4, !tbaa !5
  %10694 = load i32, ptr %1263, align 4, !tbaa !5
  %10695 = call ptr @s2n_strerror(i32 noundef %10694, ptr noundef nonnull @.str.25) #12
  %10696 = load i32, ptr %1263, align 4, !tbaa !5
  %10697 = call ptr @s2n_strerror_debug(i32 noundef %10696, ptr noundef nonnull @.str.25) #12
  %10698 = load i32, ptr %1317, align 4, !tbaa !5
  %10699 = call ptr @strerror(i32 noundef %10698) #12
  %10700 = load i32, ptr %1317, align 4, !tbaa !5
  %10701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10692, ptr noundef nonnull %.str.26.sink5600, i32 noundef %10693, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.22, i32 noundef 1175, ptr noundef %10695, ptr noundef %10697, ptr noundef %10699, i32 noundef %10700) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10702:                                            ; preds = %10672
  %10703 = add nsw i32 %10673, 2
  store i32 %10703, ptr @test_count, align 4, !tbaa !5
  %10704 = call i32 @s2n_stuffer_free(ptr noundef nonnull %87) #12
  %10705 = icmp eq i32 %10704, -1
  br i1 %10705, label %10706, label %10728

10706:                                            ; preds = %10702
  %10707 = load i32, ptr %1317, align 4, !tbaa !5
  %10708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10709 = call i32 @s2n_print_stacktrace(ptr noundef %10708) #12
  %10710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10711 = trunc nuw i8 %10710 to i1
  br i1 %10711, label %10712, label %10716

10712:                                            ; preds = %10706
  %10713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10714 = call i32 @fileno(ptr noundef %10713) #12
  %10715 = call i32 @isatty(i32 noundef %10714) #12
  %.not1901 = icmp eq i32 %10715, 0
  br i1 %.not1901, label %10716, label %10717

10716:                                            ; preds = %10712, %10706
  br label %10717

10717:                                            ; preds = %10712, %10716
  %.str.26.sink5609 = phi ptr [ @.str.26, %10716 ], [ @.str.23, %10712 ]
  store i32 %10707, ptr %1317, align 4, !tbaa !5
  %10718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10719 = load i32, ptr @test_count, align 4, !tbaa !5
  %10720 = load i32, ptr %1263, align 4, !tbaa !5
  %10721 = call ptr @s2n_strerror(i32 noundef %10720, ptr noundef nonnull @.str.25) #12
  %10722 = load i32, ptr %1263, align 4, !tbaa !5
  %10723 = call ptr @s2n_strerror_debug(i32 noundef %10722, ptr noundef nonnull @.str.25) #12
  %10724 = load i32, ptr %1317, align 4, !tbaa !5
  %10725 = call ptr @strerror(i32 noundef %10724) #12
  %10726 = load i32, ptr %1317, align 4, !tbaa !5
  %10727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10718, ptr noundef nonnull %.str.26.sink5609, i32 noundef %10719, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.22, i32 noundef 1177, ptr noundef %10721, ptr noundef %10723, ptr noundef %10725, i32 noundef %10726) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10728:                                            ; preds = %10702
  %10729 = load i32, ptr @test_count, align 4, !tbaa !5
  %10730 = add nsw i32 %10729, 1
  store i32 %10730, ptr @test_count, align 4, !tbaa !5
  %10731 = call i32 @s2n_connection_free(ptr noundef nonnull %10319) #12
  %10732 = icmp eq i32 %10731, -1
  br i1 %10732, label %10733, label %10755

10733:                                            ; preds = %10728
  %10734 = load i32, ptr %1317, align 4, !tbaa !5
  %10735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10736 = call i32 @s2n_print_stacktrace(ptr noundef %10735) #12
  %10737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10738 = trunc nuw i8 %10737 to i1
  br i1 %10738, label %10739, label %10743

10739:                                            ; preds = %10733
  %10740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10741 = call i32 @fileno(ptr noundef %10740) #12
  %10742 = call i32 @isatty(i32 noundef %10741) #12
  %.not1900 = icmp eq i32 %10742, 0
  br i1 %.not1900, label %10743, label %10744

10743:                                            ; preds = %10739, %10733
  br label %10744

10744:                                            ; preds = %10739, %10743
  %.str.26.sink5618 = phi ptr [ @.str.26, %10743 ], [ @.str.23, %10739 ]
  store i32 %10734, ptr %1317, align 4, !tbaa !5
  %10745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10746 = load i32, ptr @test_count, align 4, !tbaa !5
  %10747 = load i32, ptr %1263, align 4, !tbaa !5
  %10748 = call ptr @s2n_strerror(i32 noundef %10747, ptr noundef nonnull @.str.25) #12
  %10749 = load i32, ptr %1263, align 4, !tbaa !5
  %10750 = call ptr @s2n_strerror_debug(i32 noundef %10749, ptr noundef nonnull @.str.25) #12
  %10751 = load i32, ptr %1317, align 4, !tbaa !5
  %10752 = call ptr @strerror(i32 noundef %10751) #12
  %10753 = load i32, ptr %1317, align 4, !tbaa !5
  %10754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10745, ptr noundef nonnull %.str.26.sink5618, i32 noundef %10746, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 1178, ptr noundef %10748, ptr noundef %10750, ptr noundef %10752, i32 noundef %10753) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10755:                                            ; preds = %10728
  %10756 = load i32, ptr @test_count, align 4, !tbaa !5
  %10757 = add nsw i32 %10756, 1
  store i32 %10757, ptr @test_count, align 4, !tbaa !5
  %10758 = call i32 @s2n_config_free(ptr noundef nonnull %10346) #12
  %10759 = icmp eq i32 %10758, -1
  br i1 %10759, label %10760, label %10782

10760:                                            ; preds = %10755
  %10761 = load i32, ptr %1317, align 4, !tbaa !5
  %10762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10763 = call i32 @s2n_print_stacktrace(ptr noundef %10762) #12
  %10764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10765 = trunc nuw i8 %10764 to i1
  br i1 %10765, label %10766, label %10770

10766:                                            ; preds = %10760
  %10767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10768 = call i32 @fileno(ptr noundef %10767) #12
  %10769 = call i32 @isatty(i32 noundef %10768) #12
  %.not1899 = icmp eq i32 %10769, 0
  br i1 %.not1899, label %10770, label %10771

10770:                                            ; preds = %10766, %10760
  br label %10771

10771:                                            ; preds = %10766, %10770
  %.str.26.sink5627 = phi ptr [ @.str.26, %10770 ], [ @.str.23, %10766 ]
  store i32 %10761, ptr %1317, align 4, !tbaa !5
  %10772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10773 = load i32, ptr @test_count, align 4, !tbaa !5
  %10774 = load i32, ptr %1263, align 4, !tbaa !5
  %10775 = call ptr @s2n_strerror(i32 noundef %10774, ptr noundef nonnull @.str.25) #12
  %10776 = load i32, ptr %1263, align 4, !tbaa !5
  %10777 = call ptr @s2n_strerror_debug(i32 noundef %10776, ptr noundef nonnull @.str.25) #12
  %10778 = load i32, ptr %1317, align 4, !tbaa !5
  %10779 = call ptr @strerror(i32 noundef %10778) #12
  %10780 = load i32, ptr %1317, align 4, !tbaa !5
  %10781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10772, ptr noundef nonnull %.str.26.sink5627, i32 noundef %10773, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 1179, ptr noundef %10775, ptr noundef %10777, ptr noundef %10779, i32 noundef %10780) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10782:                                            ; preds = %10755
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %89) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %88) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %87) #12
  %10783 = call ptr @s2n_config_new() #12
  %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 = icmp eq ptr %10783, null
  br i1 %10786, label %10787, label %10809

10787:                                            ; preds = %10782
  %10788 = load i32, ptr %1317, align 4, !tbaa !5
  %10789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10790 = call i32 @s2n_print_stacktrace(ptr noundef %10789) #12
  %10791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10792 = trunc nuw i8 %10791 to i1
  br i1 %10792, label %10793, label %10797

10793:                                            ; preds = %10787
  %10794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10795 = call i32 @fileno(ptr noundef %10794) #12
  %10796 = call i32 @isatty(i32 noundef %10795) #12
  %.not1898 = icmp eq i32 %10796, 0
  br i1 %.not1898, label %10797, label %10798

10797:                                            ; preds = %10793, %10787
  br label %10798

10798:                                            ; preds = %10793, %10797
  %.str.26.sink5636 = phi ptr [ @.str.26, %10797 ], [ @.str.23, %10793 ]
  store i32 %10788, ptr %1317, align 4, !tbaa !5
  %10799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10800 = load i32, ptr @test_count, align 4, !tbaa !5
  %10801 = load i32, ptr %1263, align 4, !tbaa !5
  %10802 = call ptr @s2n_strerror(i32 noundef %10801, ptr noundef nonnull @.str.25) #12
  %10803 = load i32, ptr %1263, align 4, !tbaa !5
  %10804 = call ptr @s2n_strerror_debug(i32 noundef %10803, ptr noundef nonnull @.str.25) #12
  %10805 = load i32, ptr %1317, align 4, !tbaa !5
  %10806 = call ptr @strerror(i32 noundef %10805) #12
  %10807 = load i32, ptr %1317, align 4, !tbaa !5
  %10808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10799, ptr noundef nonnull %.str.26.sink5636, i32 noundef %10800, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 1200, ptr noundef %10802, ptr noundef %10804, ptr noundef %10806, i32 noundef %10807) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10809:                                            ; preds = %10782
  %10810 = add nsw i32 %10784, 2
  store i32 %10810, ptr @test_count, align 4, !tbaa !5
  %10811 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %10783) #12
  %10812 = call zeroext i1 @s2n_result_is_ok(i32 %10811)
  br i1 %10812, label %10835, label %10813

10813:                                            ; preds = %10809
  %10814 = load i32, ptr %1317, align 4, !tbaa !5
  %10815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10816 = call i32 @s2n_print_stacktrace(ptr noundef %10815) #12
  %10817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10818 = trunc nuw i8 %10817 to i1
  br i1 %10818, label %10819, label %10823

10819:                                            ; preds = %10813
  %10820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10821 = call i32 @fileno(ptr noundef %10820) #12
  %10822 = call i32 @isatty(i32 noundef %10821) #12
  %.not1745 = icmp eq i32 %10822, 0
  br i1 %.not1745, label %10823, label %10824

10823:                                            ; preds = %10819, %10813
  br label %10824

10824:                                            ; preds = %10819, %10823
  %.str.26.sink5645 = phi ptr [ @.str.26, %10823 ], [ @.str.23, %10819 ]
  store i32 %10814, ptr %1317, align 4, !tbaa !5
  %10825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10826 = load i32, ptr @test_count, align 4, !tbaa !5
  %10827 = load i32, ptr %1263, align 4, !tbaa !5
  %10828 = call ptr @s2n_strerror(i32 noundef %10827, ptr noundef nonnull @.str.25) #12
  %10829 = load i32, ptr %1263, align 4, !tbaa !5
  %10830 = call ptr @s2n_strerror_debug(i32 noundef %10829, ptr noundef nonnull @.str.25) #12
  %10831 = load i32, ptr %1317, align 4, !tbaa !5
  %10832 = call ptr @strerror(i32 noundef %10831) #12
  %10833 = load i32, ptr %1317, align 4, !tbaa !5
  %10834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10825, ptr noundef nonnull %.str.26.sink5645, i32 noundef %10826, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 1201, ptr noundef %10828, ptr noundef %10830, ptr noundef %10832, i32 noundef %10833) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10835:                                            ; preds = %10809
  %10836 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %10837 = load i32, ptr @test_count, align 4, !tbaa !5
  %10838 = add nsw i32 %10837, 1
  store i32 %10838, ptr @test_count, align 4, !tbaa !5
  %10839 = icmp eq ptr %10836, null
  br i1 %10839, label %10840, label %10862

10840:                                            ; preds = %10835
  %10841 = load i32, ptr %1317, align 4, !tbaa !5
  %10842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10843 = call i32 @s2n_print_stacktrace(ptr noundef %10842) #12
  %10844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10845 = trunc nuw i8 %10844 to i1
  br i1 %10845, label %10846, label %10850

10846:                                            ; preds = %10840
  %10847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10848 = call i32 @fileno(ptr noundef %10847) #12
  %10849 = call i32 @isatty(i32 noundef %10848) #12
  %.not1897 = icmp eq i32 %10849, 0
  br i1 %.not1897, label %10850, label %10851

10850:                                            ; preds = %10846, %10840
  br label %10851

10851:                                            ; preds = %10846, %10850
  %.str.26.sink5654 = phi ptr [ @.str.26, %10850 ], [ @.str.23, %10846 ]
  store i32 %10841, ptr %1317, align 4, !tbaa !5
  %10852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10853 = load i32, ptr @test_count, align 4, !tbaa !5
  %10854 = load i32, ptr %1263, align 4, !tbaa !5
  %10855 = call ptr @s2n_strerror(i32 noundef %10854, ptr noundef nonnull @.str.25) #12
  %10856 = load i32, ptr %1263, align 4, !tbaa !5
  %10857 = call ptr @s2n_strerror_debug(i32 noundef %10856, ptr noundef nonnull @.str.25) #12
  %10858 = load i32, ptr %1317, align 4, !tbaa !5
  %10859 = call ptr @strerror(i32 noundef %10858) #12
  %10860 = load i32, ptr %1317, align 4, !tbaa !5
  %10861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10852, ptr noundef nonnull %.str.26.sink5654, i32 noundef %10853, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 1204, ptr noundef %10855, ptr noundef %10857, ptr noundef %10859, i32 noundef %10860) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10862:                                            ; preds = %10835
  %10863 = add nsw i32 %10837, 2
  store i32 %10863, ptr @test_count, align 4, !tbaa !5
  %10864 = call i32 @s2n_connection_set_config(ptr noundef nonnull %10836, ptr noundef nonnull %10783) #12
  %10865 = icmp eq i32 %10864, -1
  br i1 %10865, label %10866, label %10888

10866:                                            ; preds = %10862
  %10867 = load i32, ptr %1317, align 4, !tbaa !5
  %10868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10869 = call i32 @s2n_print_stacktrace(ptr noundef %10868) #12
  %10870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10871 = trunc nuw i8 %10870 to i1
  br i1 %10871, label %10872, label %10876

10872:                                            ; preds = %10866
  %10873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10874 = call i32 @fileno(ptr noundef %10873) #12
  %10875 = call i32 @isatty(i32 noundef %10874) #12
  %.not1896 = icmp eq i32 %10875, 0
  br i1 %.not1896, label %10876, label %10877

10876:                                            ; preds = %10872, %10866
  br label %10877

10877:                                            ; preds = %10872, %10876
  %.str.26.sink5663 = phi ptr [ @.str.26, %10876 ], [ @.str.23, %10872 ]
  store i32 %10867, ptr %1317, align 4, !tbaa !5
  %10878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10879 = load i32, ptr @test_count, align 4, !tbaa !5
  %10880 = load i32, ptr %1263, align 4, !tbaa !5
  %10881 = call ptr @s2n_strerror(i32 noundef %10880, ptr noundef nonnull @.str.25) #12
  %10882 = load i32, ptr %1263, align 4, !tbaa !5
  %10883 = call ptr @s2n_strerror_debug(i32 noundef %10882, ptr noundef nonnull @.str.25) #12
  %10884 = load i32, ptr %1317, align 4, !tbaa !5
  %10885 = call ptr @strerror(i32 noundef %10884) #12
  %10886 = load i32, ptr %1317, align 4, !tbaa !5
  %10887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10878, ptr noundef nonnull %.str.26.sink5663, i32 noundef %10879, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 1205, ptr noundef %10881, ptr noundef %10883, ptr noundef %10885, i32 noundef %10886) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10888:                                            ; preds = %10862
  %10889 = getelementptr inbounds i8, ptr %10836, i64 220
  store i8 34, ptr %10889, align 4, !tbaa !17
  %10890 = getelementptr inbounds i8, ptr %10836, i64 4086
  store i16 10, ptr %10890, align 2, !tbaa !49
  %10891 = getelementptr inbounds i8, ptr %10836, i64 4084
  store i16 10, ptr %10891, align 4, !tbaa !79
  %10892 = load i32, ptr @test_count, align 4, !tbaa !5
  %10893 = add nsw i32 %10892, 1
  store i32 %10893, ptr @test_count, align 4, !tbaa !5
  %10894 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %10836, i16 noundef zeroext 10)
  %10895 = call zeroext i1 @s2n_result_is_ok(i32 %10894)
  br i1 %10895, label %10918, label %10896

10896:                                            ; preds = %10888
  %10897 = load i32, ptr %1317, align 4, !tbaa !5
  %10898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10899 = call i32 @s2n_print_stacktrace(ptr noundef %10898) #12
  %10900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10901 = trunc nuw i8 %10900 to i1
  br i1 %10901, label %10902, label %10906

10902:                                            ; preds = %10896
  %10903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10904 = call i32 @fileno(ptr noundef %10903) #12
  %10905 = call i32 @isatty(i32 noundef %10904) #12
  %.not1746 = icmp eq i32 %10905, 0
  br i1 %.not1746, label %10906, label %10907

10906:                                            ; preds = %10902, %10896
  br label %10907

10907:                                            ; preds = %10902, %10906
  %.str.26.sink5672 = phi ptr [ @.str.26, %10906 ], [ @.str.23, %10902 ]
  store i32 %10897, ptr %1317, align 4, !tbaa !5
  %10908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10909 = load i32, ptr @test_count, align 4, !tbaa !5
  %10910 = load i32, ptr %1263, align 4, !tbaa !5
  %10911 = call ptr @s2n_strerror(i32 noundef %10910, ptr noundef nonnull @.str.25) #12
  %10912 = load i32, ptr %1263, align 4, !tbaa !5
  %10913 = call ptr @s2n_strerror_debug(i32 noundef %10912, ptr noundef nonnull @.str.25) #12
  %10914 = load i32, ptr %1317, align 4, !tbaa !5
  %10915 = call ptr @strerror(i32 noundef %10914) #12
  %10916 = load i32, ptr %1317, align 4, !tbaa !5
  %10917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10908, ptr noundef nonnull %.str.26.sink5672, i32 noundef %10909, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.22, i32 noundef 1209, ptr noundef %10911, ptr noundef %10913, ptr noundef %10915, i32 noundef %10916) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10918:                                            ; preds = %10888
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %90) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %90, i8 0, i64 40, i1 false)
  %10919 = load i32, ptr @test_count, align 4, !tbaa !5
  %10920 = add nsw i32 %10919, 1
  store i32 %10920, ptr @test_count, align 4, !tbaa !5
  %10921 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %90, i32 noundef 0) #12
  %10922 = icmp eq i32 %10921, -1
  br i1 %10922, label %10923, label %10945

10923:                                            ; preds = %10918
  %10924 = load i32, ptr %1317, align 4, !tbaa !5
  %10925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10926 = call i32 @s2n_print_stacktrace(ptr noundef %10925) #12
  %10927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10928 = trunc nuw i8 %10927 to i1
  br i1 %10928, label %10929, label %10933

10929:                                            ; preds = %10923
  %10930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10931 = call i32 @fileno(ptr noundef %10930) #12
  %10932 = call i32 @isatty(i32 noundef %10931) #12
  %.not1895 = icmp eq i32 %10932, 0
  br i1 %.not1895, label %10933, label %10934

10933:                                            ; preds = %10929, %10923
  br label %10934

10934:                                            ; preds = %10929, %10933
  %.str.26.sink5681 = phi ptr [ @.str.26, %10933 ], [ @.str.23, %10929 ]
  store i32 %10924, ptr %1317, align 4, !tbaa !5
  %10935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10936 = load i32, ptr @test_count, align 4, !tbaa !5
  %10937 = load i32, ptr %1263, align 4, !tbaa !5
  %10938 = call ptr @s2n_strerror(i32 noundef %10937, ptr noundef nonnull @.str.25) #12
  %10939 = load i32, ptr %1263, align 4, !tbaa !5
  %10940 = call ptr @s2n_strerror_debug(i32 noundef %10939, ptr noundef nonnull @.str.25) #12
  %10941 = load i32, ptr %1317, align 4, !tbaa !5
  %10942 = call ptr @strerror(i32 noundef %10941) #12
  %10943 = load i32, ptr %1317, align 4, !tbaa !5
  %10944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10935, ptr noundef nonnull %.str.26.sink5681, i32 noundef %10936, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 1212, ptr noundef %10938, ptr noundef %10940, ptr noundef %10942, i32 noundef %10943) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10945:                                            ; preds = %10918
  %10946 = load i32, ptr @test_count, align 4, !tbaa !5
  %10947 = add nsw i32 %10946, 1
  store i32 %10947, ptr @test_count, align 4, !tbaa !5
  %10948 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %90, ptr noundef nonnull %90, ptr noundef nonnull %10836) #12
  %10949 = icmp eq i32 %10948, -1
  br i1 %10949, label %10950, label %10972

10950:                                            ; preds = %10945
  %10951 = load i32, ptr %1317, align 4, !tbaa !5
  %10952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10953 = call i32 @s2n_print_stacktrace(ptr noundef %10952) #12
  %10954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10955 = trunc nuw i8 %10954 to i1
  br i1 %10955, label %10956, label %10960

10956:                                            ; preds = %10950
  %10957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10958 = call i32 @fileno(ptr noundef %10957) #12
  %10959 = call i32 @isatty(i32 noundef %10958) #12
  %.not1894 = icmp eq i32 %10959, 0
  br i1 %.not1894, label %10960, label %10961

10960:                                            ; preds = %10956, %10950
  br label %10961

10961:                                            ; preds = %10956, %10960
  %.str.26.sink5690 = phi ptr [ @.str.26, %10960 ], [ @.str.23, %10956 ]
  store i32 %10951, ptr %1317, align 4, !tbaa !5
  %10962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10963 = load i32, ptr @test_count, align 4, !tbaa !5
  %10964 = load i32, ptr %1263, align 4, !tbaa !5
  %10965 = call ptr @s2n_strerror(i32 noundef %10964, ptr noundef nonnull @.str.25) #12
  %10966 = load i32, ptr %1263, align 4, !tbaa !5
  %10967 = call ptr @s2n_strerror_debug(i32 noundef %10966, ptr noundef nonnull @.str.25) #12
  %10968 = load i32, ptr %1317, align 4, !tbaa !5
  %10969 = call ptr @strerror(i32 noundef %10968) #12
  %10970 = load i32, ptr %1317, align 4, !tbaa !5
  %10971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10962, ptr noundef nonnull %.str.26.sink5690, i32 noundef %10963, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.22, i32 noundef 1213, ptr noundef %10965, ptr noundef %10967, ptr noundef %10969, i32 noundef %10970) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10972:                                            ; preds = %10945
  %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 i32 @s2n_connection_add_new_tickets_to_send(ptr noundef nonnull %10836, i8 noundef zeroext 5) #12
  %10976 = icmp eq i32 %10975, -1
  br i1 %10976, label %10977, label %10999

10977:                                            ; preds = %10972
  %10978 = load i32, ptr %1317, align 4, !tbaa !5
  %10979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10980 = call i32 @s2n_print_stacktrace(ptr noundef %10979) #12
  %10981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10982 = trunc nuw i8 %10981 to i1
  br i1 %10982, label %10983, label %10987

10983:                                            ; preds = %10977
  %10984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10985 = call i32 @fileno(ptr noundef %10984) #12
  %10986 = call i32 @isatty(i32 noundef %10985) #12
  %.not1893 = icmp eq i32 %10986, 0
  br i1 %.not1893, label %10987, label %10988

10987:                                            ; preds = %10983, %10977
  br label %10988

10988:                                            ; preds = %10983, %10987
  %.str.26.sink5699 = phi ptr [ @.str.26, %10987 ], [ @.str.23, %10983 ]
  store i32 %10978, ptr %1317, align 4, !tbaa !5
  %10989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10990 = load i32, ptr @test_count, align 4, !tbaa !5
  %10991 = load i32, ptr %1263, align 4, !tbaa !5
  %10992 = call ptr @s2n_strerror(i32 noundef %10991, ptr noundef nonnull @.str.25) #12
  %10993 = load i32, ptr %1263, align 4, !tbaa !5
  %10994 = call ptr @s2n_strerror_debug(i32 noundef %10993, ptr noundef nonnull @.str.25) #12
  %10995 = load i32, ptr %1317, align 4, !tbaa !5
  %10996 = call ptr @strerror(i32 noundef %10995) #12
  %10997 = load i32, ptr %1317, align 4, !tbaa !5
  %10998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10989, ptr noundef nonnull %.str.26.sink5699, i32 noundef %10990, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.22, i32 noundef 1216, ptr noundef %10992, ptr noundef %10994, ptr noundef %10996, i32 noundef %10997) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10999:                                            ; preds = %10972
  %11000 = load i32, ptr @test_count, align 4, !tbaa !5
  %11001 = add nsw i32 %11000, 1
  store i32 %11001, ptr @test_count, align 4, !tbaa !5
  %11002 = load i16, ptr %10890, align 2, !tbaa !49
  %11003 = icmp eq i16 %11002, 10
  br i1 %11003, label %11026, label %11004

11004:                                            ; preds = %10999
  %11005 = load i32, ptr %1317, align 4, !tbaa !5
  %11006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11007 = call i32 @s2n_print_stacktrace(ptr noundef %11006) #12
  %11008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11009 = trunc nuw i8 %11008 to i1
  br i1 %11009, label %11010, label %11014

11010:                                            ; preds = %11004
  %11011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11012 = call i32 @fileno(ptr noundef %11011) #12
  %11013 = call i32 @isatty(i32 noundef %11012) #12
  %.not1747 = icmp eq i32 %11013, 0
  br i1 %.not1747, label %11014, label %11015

11014:                                            ; preds = %11010, %11004
  br label %11015

11015:                                            ; preds = %11010, %11014
  %.str.26.sink5708 = phi ptr [ @.str.26, %11014 ], [ @.str.23, %11010 ]
  store i32 %11005, ptr %1317, align 4, !tbaa !5
  %11016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11017 = load i32, ptr @test_count, align 4, !tbaa !5
  %11018 = load i32, ptr %1263, align 4, !tbaa !5
  %11019 = call ptr @s2n_strerror(i32 noundef %11018, ptr noundef nonnull @.str.25) #12
  %11020 = load i32, ptr %1263, align 4, !tbaa !5
  %11021 = call ptr @s2n_strerror_debug(i32 noundef %11020, ptr noundef nonnull @.str.25) #12
  %11022 = load i32, ptr %1317, align 4, !tbaa !5
  %11023 = call ptr @strerror(i32 noundef %11022) #12
  %11024 = load i32, ptr %1317, align 4, !tbaa !5
  %11025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11016, ptr noundef nonnull %.str.26.sink5708, i32 noundef %11017, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.22, i32 noundef 1217, ptr noundef %11019, ptr noundef %11021, ptr noundef %11023, i32 noundef %11024) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11026:                                            ; preds = %10999
  %11027 = add nsw i32 %11000, 2
  store i32 %11027, ptr @test_count, align 4, !tbaa !5
  %11028 = load i16, ptr %10891, align 4, !tbaa !79
  %11029 = icmp eq i16 %11028, 15
  br i1 %11029, label %11052, label %11030

11030:                                            ; preds = %11026
  %11031 = load i32, ptr %1317, align 4, !tbaa !5
  %11032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11033 = call i32 @s2n_print_stacktrace(ptr noundef %11032) #12
  %11034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11035 = trunc nuw i8 %11034 to i1
  br i1 %11035, label %11036, label %11040

11036:                                            ; preds = %11030
  %11037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11038 = call i32 @fileno(ptr noundef %11037) #12
  %11039 = call i32 @isatty(i32 noundef %11038) #12
  %.not1748 = icmp eq i32 %11039, 0
  br i1 %.not1748, label %11040, label %11041

11040:                                            ; preds = %11036, %11030
  br label %11041

11041:                                            ; preds = %11036, %11040
  %.str.26.sink5717 = phi ptr [ @.str.26, %11040 ], [ @.str.23, %11036 ]
  store i32 %11031, ptr %1317, align 4, !tbaa !5
  %11042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11043 = load i32, ptr @test_count, align 4, !tbaa !5
  %11044 = load i32, ptr %1263, align 4, !tbaa !5
  %11045 = call ptr @s2n_strerror(i32 noundef %11044, ptr noundef nonnull @.str.25) #12
  %11046 = load i32, ptr %1263, align 4, !tbaa !5
  %11047 = call ptr @s2n_strerror_debug(i32 noundef %11046, ptr noundef nonnull @.str.25) #12
  %11048 = load i32, ptr %1317, align 4, !tbaa !5
  %11049 = call ptr @strerror(i32 noundef %11048) #12
  %11050 = load i32, ptr %1317, align 4, !tbaa !5
  %11051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11042, ptr noundef nonnull %.str.26.sink5717, i32 noundef %11043, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.22, i32 noundef 1218, ptr noundef %11045, ptr noundef %11047, ptr noundef %11049, i32 noundef %11050) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11052:                                            ; preds = %11026
  %11053 = add nsw i32 %11000, 3
  store i32 %11053, ptr @test_count, align 4, !tbaa !5
  %11054 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %10836, i16 noundef zeroext 10)
  %11055 = call zeroext i1 @s2n_result_is_ok(i32 %11054)
  br i1 %11055, label %11078, label %11056

11056:                                            ; preds = %11052
  %11057 = load i32, ptr %1317, align 4, !tbaa !5
  %11058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11059 = call i32 @s2n_print_stacktrace(ptr noundef %11058) #12
  %11060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11061 = trunc nuw i8 %11060 to i1
  br i1 %11061, label %11062, label %11066

11062:                                            ; preds = %11056
  %11063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11064 = call i32 @fileno(ptr noundef %11063) #12
  %11065 = call i32 @isatty(i32 noundef %11064) #12
  %.not1749 = icmp eq i32 %11065, 0
  br i1 %.not1749, label %11066, label %11067

11066:                                            ; preds = %11062, %11056
  br label %11067

11067:                                            ; preds = %11062, %11066
  %.str.26.sink5726 = phi ptr [ @.str.26, %11066 ], [ @.str.23, %11062 ]
  store i32 %11057, ptr %1317, align 4, !tbaa !5
  %11068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11069 = load i32, ptr @test_count, align 4, !tbaa !5
  %11070 = load i32, ptr %1263, align 4, !tbaa !5
  %11071 = call ptr @s2n_strerror(i32 noundef %11070, ptr noundef nonnull @.str.25) #12
  %11072 = load i32, ptr %1263, align 4, !tbaa !5
  %11073 = call ptr @s2n_strerror_debug(i32 noundef %11072, ptr noundef nonnull @.str.25) #12
  %11074 = load i32, ptr %1317, align 4, !tbaa !5
  %11075 = call ptr @strerror(i32 noundef %11074) #12
  %11076 = load i32, ptr %1317, align 4, !tbaa !5
  %11077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11068, ptr noundef nonnull %.str.26.sink5726, i32 noundef %11069, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.22, i32 noundef 1219, ptr noundef %11071, ptr noundef %11073, ptr noundef %11075, i32 noundef %11076) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11078:                                            ; preds = %11052
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %91) #12
  %11079 = call ptr @s2n_test_psk_new(ptr noundef nonnull %10836) #12
  store ptr %11079, ptr %91, align 8, !tbaa !9
  %11080 = load i32, ptr @test_count, align 4, !tbaa !5
  %11081 = add nsw i32 %11080, 1
  store i32 %11081, ptr @test_count, align 4, !tbaa !5
  %11082 = icmp eq ptr %11079, null
  br i1 %11082, label %11083, label %11105

11083:                                            ; preds = %11078
  %11084 = load i32, ptr %1317, align 4, !tbaa !5
  %11085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11086 = call i32 @s2n_print_stacktrace(ptr noundef %11085) #12
  %11087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11088 = trunc nuw i8 %11087 to i1
  br i1 %11088, label %11089, label %11093

11089:                                            ; preds = %11083
  %11090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11091 = call i32 @fileno(ptr noundef %11090) #12
  %11092 = call i32 @isatty(i32 noundef %11091) #12
  %.not1892 = icmp eq i32 %11092, 0
  br i1 %.not1892, label %11093, label %11094

11093:                                            ; preds = %11089, %11083
  br label %11094

11094:                                            ; preds = %11089, %11093
  %.str.26.sink5735 = phi ptr [ @.str.26, %11093 ], [ @.str.23, %11089 ]
  store i32 %11084, ptr %1317, align 4, !tbaa !5
  %11095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11096 = load i32, ptr @test_count, align 4, !tbaa !5
  %11097 = load i32, ptr %1263, align 4, !tbaa !5
  %11098 = call ptr @s2n_strerror(i32 noundef %11097, ptr noundef nonnull @.str.25) #12
  %11099 = load i32, ptr %1263, align 4, !tbaa !5
  %11100 = call ptr @s2n_strerror_debug(i32 noundef %11099, ptr noundef nonnull @.str.25) #12
  %11101 = load i32, ptr %1317, align 4, !tbaa !5
  %11102 = call ptr @strerror(i32 noundef %11101) #12
  %11103 = load i32, ptr %1317, align 4, !tbaa !5
  %11104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11095, ptr noundef nonnull %.str.26.sink5735, i32 noundef %11096, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.22, i32 noundef 1223, ptr noundef %11098, ptr noundef %11100, ptr noundef %11102, i32 noundef %11103) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11105:                                            ; preds = %11078
  store i32 0, ptr %11079, align 8, !tbaa !82
  %11106 = getelementptr inbounds i8, ptr %11079, i64 160
  store i64 0, ptr %11106, align 8, !tbaa !62
  %11107 = getelementptr inbounds i8, ptr %10836, i64 1736
  store ptr %11079, ptr %11107, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %92) #12
  store i32 0, ptr %92, align 4, !tbaa !5
  %11108 = load i32, ptr @test_count, align 4, !tbaa !5
  %11109 = add nsw i32 %11108, 1
  store i32 %11109, ptr @test_count, align 4, !tbaa !5
  %11110 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %10836, ptr noundef nonnull %92)
  %11111 = call zeroext i1 @s2n_result_is_ok(i32 %11110)
  br i1 %11111, label %11134, label %11112

11112:                                            ; preds = %11105
  %11113 = load i32, ptr %1317, align 4, !tbaa !5
  %11114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11115 = call i32 @s2n_print_stacktrace(ptr noundef %11114) #12
  %11116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11117 = trunc nuw i8 %11116 to i1
  br i1 %11117, label %11118, label %11122

11118:                                            ; preds = %11112
  %11119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11120 = call i32 @fileno(ptr noundef %11119) #12
  %11121 = call i32 @isatty(i32 noundef %11120) #12
  %.not1750 = icmp eq i32 %11121, 0
  br i1 %.not1750, label %11122, label %11123

11122:                                            ; preds = %11118, %11112
  br label %11123

11123:                                            ; preds = %11118, %11122
  %.str.26.sink5744 = phi ptr [ @.str.26, %11122 ], [ @.str.23, %11118 ]
  store i32 %11113, ptr %1317, align 4, !tbaa !5
  %11124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11125 = load i32, ptr @test_count, align 4, !tbaa !5
  %11126 = load i32, ptr %1263, align 4, !tbaa !5
  %11127 = call ptr @s2n_strerror(i32 noundef %11126, ptr noundef nonnull @.str.25) #12
  %11128 = load i32, ptr %1263, align 4, !tbaa !5
  %11129 = call ptr @s2n_strerror_debug(i32 noundef %11128, ptr noundef nonnull @.str.25) #12
  %11130 = load i32, ptr %1317, align 4, !tbaa !5
  %11131 = call ptr @strerror(i32 noundef %11130) #12
  %11132 = load i32, ptr %1317, align 4, !tbaa !5
  %11133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11124, ptr noundef nonnull %.str.26.sink5744, i32 noundef %11125, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1230, ptr noundef %11127, ptr noundef %11129, ptr noundef %11131, i32 noundef %11132) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11134:                                            ; preds = %11105
  %11135 = load i32, ptr @test_count, align 4, !tbaa !5
  %11136 = add nsw i32 %11135, 1
  store i32 %11136, ptr @test_count, align 4, !tbaa !5
  %11137 = getelementptr inbounds i8, ptr %90, i64 28
  %11138 = load i32, ptr %11137, align 4, !tbaa !51
  %11139 = getelementptr inbounds i8, ptr %90, i64 24
  %11140 = load i32, ptr %11139, align 8, !tbaa !52
  %11141 = icmp eq i32 %11138, %11140
  br i1 %11141, label %11164, label %11142

11142:                                            ; preds = %11134
  %11143 = load i32, ptr %1317, align 4, !tbaa !5
  %11144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11145 = call i32 @s2n_print_stacktrace(ptr noundef %11144) #12
  %11146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11147 = trunc nuw i8 %11146 to i1
  br i1 %11147, label %11148, label %11152

11148:                                            ; preds = %11142
  %11149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11150 = call i32 @fileno(ptr noundef %11149) #12
  %11151 = call i32 @isatty(i32 noundef %11150) #12
  %.not1751 = icmp eq i32 %11151, 0
  br i1 %.not1751, label %11152, label %11153

11152:                                            ; preds = %11148, %11142
  br label %11153

11153:                                            ; preds = %11148, %11152
  %.str.26.sink5753 = phi ptr [ @.str.26, %11152 ], [ @.str.23, %11148 ]
  store i32 %11143, ptr %1317, align 4, !tbaa !5
  %11154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11155 = load i32, ptr @test_count, align 4, !tbaa !5
  %11156 = load i32, ptr %1263, align 4, !tbaa !5
  %11157 = call ptr @s2n_strerror(i32 noundef %11156, ptr noundef nonnull @.str.25) #12
  %11158 = load i32, ptr %1263, align 4, !tbaa !5
  %11159 = call ptr @s2n_strerror_debug(i32 noundef %11158, ptr noundef nonnull @.str.25) #12
  %11160 = load i32, ptr %1317, align 4, !tbaa !5
  %11161 = call ptr @strerror(i32 noundef %11160) #12
  %11162 = load i32, ptr %1317, align 4, !tbaa !5
  %11163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11154, ptr noundef nonnull %.str.26.sink5753, i32 noundef %11155, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.22, i32 noundef 1231, ptr noundef %11157, ptr noundef %11159, ptr noundef %11161, i32 noundef %11162) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11164:                                            ; preds = %11134
  %11165 = add nsw i32 %11135, 2
  store i32 %11165, ptr @test_count, align 4, !tbaa !5
  %11166 = load i16, ptr %10890, align 2, !tbaa !49
  %11167 = icmp eq i16 %11166, 10
  br i1 %11167, label %11190, label %11168

11168:                                            ; preds = %11164
  %11169 = load i32, ptr %1317, align 4, !tbaa !5
  %11170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11171 = call i32 @s2n_print_stacktrace(ptr noundef %11170) #12
  %11172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11173 = trunc nuw i8 %11172 to i1
  br i1 %11173, label %11174, label %11178

11174:                                            ; preds = %11168
  %11175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11176 = call i32 @fileno(ptr noundef %11175) #12
  %11177 = call i32 @isatty(i32 noundef %11176) #12
  %.not1752 = icmp eq i32 %11177, 0
  br i1 %.not1752, label %11178, label %11179

11178:                                            ; preds = %11174, %11168
  br label %11179

11179:                                            ; preds = %11174, %11178
  %.str.26.sink5762 = phi ptr [ @.str.26, %11178 ], [ @.str.23, %11174 ]
  store i32 %11169, ptr %1317, align 4, !tbaa !5
  %11180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11181 = load i32, ptr @test_count, align 4, !tbaa !5
  %11182 = load i32, ptr %1263, align 4, !tbaa !5
  %11183 = call ptr @s2n_strerror(i32 noundef %11182, ptr noundef nonnull @.str.25) #12
  %11184 = load i32, ptr %1263, align 4, !tbaa !5
  %11185 = call ptr @s2n_strerror_debug(i32 noundef %11184, ptr noundef nonnull @.str.25) #12
  %11186 = load i32, ptr %1317, align 4, !tbaa !5
  %11187 = call ptr @strerror(i32 noundef %11186) #12
  %11188 = load i32, ptr %1317, align 4, !tbaa !5
  %11189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11180, ptr noundef nonnull %.str.26.sink5762, i32 noundef %11181, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.22, i32 noundef 1232, ptr noundef %11183, ptr noundef %11185, ptr noundef %11187, i32 noundef %11188) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11190:                                            ; preds = %11164
  %11191 = add nsw i32 %11135, 3
  store i32 %11191, ptr @test_count, align 4, !tbaa !5
  %11192 = load i16, ptr %10891, align 4, !tbaa !79
  %11193 = icmp eq i16 %11192, 10
  br i1 %11193, label %11216, label %11194

11194:                                            ; preds = %11190
  %11195 = load i32, ptr %1317, align 4, !tbaa !5
  %11196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11197 = call i32 @s2n_print_stacktrace(ptr noundef %11196) #12
  %11198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11199 = trunc nuw i8 %11198 to i1
  br i1 %11199, label %11200, label %11204

11200:                                            ; preds = %11194
  %11201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11202 = call i32 @fileno(ptr noundef %11201) #12
  %11203 = call i32 @isatty(i32 noundef %11202) #12
  %.not1753 = icmp eq i32 %11203, 0
  br i1 %.not1753, label %11204, label %11205

11204:                                            ; preds = %11200, %11194
  br label %11205

11205:                                            ; preds = %11200, %11204
  %.str.26.sink5771 = phi ptr [ @.str.26, %11204 ], [ @.str.23, %11200 ]
  store i32 %11195, ptr %1317, align 4, !tbaa !5
  %11206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11207 = load i32, ptr @test_count, align 4, !tbaa !5
  %11208 = load i32, ptr %1263, align 4, !tbaa !5
  %11209 = call ptr @s2n_strerror(i32 noundef %11208, ptr noundef nonnull @.str.25) #12
  %11210 = load i32, ptr %1263, align 4, !tbaa !5
  %11211 = call ptr @s2n_strerror_debug(i32 noundef %11210, ptr noundef nonnull @.str.25) #12
  %11212 = load i32, ptr %1317, align 4, !tbaa !5
  %11213 = call ptr @strerror(i32 noundef %11212) #12
  %11214 = load i32, ptr %1317, align 4, !tbaa !5
  %11215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11206, ptr noundef nonnull %.str.26.sink5771, i32 noundef %11207, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.22, i32 noundef 1233, ptr noundef %11209, ptr noundef %11211, ptr noundef %11213, i32 noundef %11214) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11216:                                            ; preds = %11190
  %11217 = add nsw i32 %11135, 4
  store i32 %11217, ptr @test_count, align 4, !tbaa !5
  %11218 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %10836, i16 noundef zeroext 10)
  %11219 = call zeroext i1 @s2n_result_is_ok(i32 %11218)
  br i1 %11219, label %11242, label %11220

11220:                                            ; preds = %11216
  %11221 = load i32, ptr %1317, align 4, !tbaa !5
  %11222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11223 = call i32 @s2n_print_stacktrace(ptr noundef %11222) #12
  %11224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11225 = trunc nuw i8 %11224 to i1
  br i1 %11225, label %11226, label %11230

11226:                                            ; preds = %11220
  %11227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11228 = call i32 @fileno(ptr noundef %11227) #12
  %11229 = call i32 @isatty(i32 noundef %11228) #12
  %.not1754 = icmp eq i32 %11229, 0
  br i1 %.not1754, label %11230, label %11231

11230:                                            ; preds = %11226, %11220
  br label %11231

11231:                                            ; preds = %11226, %11230
  %.str.26.sink5780 = phi ptr [ @.str.26, %11230 ], [ @.str.23, %11226 ]
  store i32 %11221, ptr %1317, align 4, !tbaa !5
  %11232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11233 = load i32, ptr @test_count, align 4, !tbaa !5
  %11234 = load i32, ptr %1263, align 4, !tbaa !5
  %11235 = call ptr @s2n_strerror(i32 noundef %11234, ptr noundef nonnull @.str.25) #12
  %11236 = load i32, ptr %1263, align 4, !tbaa !5
  %11237 = call ptr @s2n_strerror_debug(i32 noundef %11236, ptr noundef nonnull @.str.25) #12
  %11238 = load i32, ptr %1317, align 4, !tbaa !5
  %11239 = call ptr @strerror(i32 noundef %11238) #12
  %11240 = load i32, ptr %1317, align 4, !tbaa !5
  %11241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11232, ptr noundef nonnull %.str.26.sink5780, i32 noundef %11233, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.22, i32 noundef 1234, ptr noundef %11235, ptr noundef %11237, ptr noundef %11239, i32 noundef %11240) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11242:                                            ; preds = %11216
  %11243 = load i32, ptr @test_count, align 4, !tbaa !5
  %11244 = add nsw i32 %11243, 1
  store i32 %11244, ptr @test_count, align 4, !tbaa !5
  %11245 = call i32 @s2n_connection_add_new_tickets_to_send(ptr noundef nonnull %10836, i8 noundef zeroext 5) #12
  %11246 = icmp eq i32 %11245, -1
  br i1 %11246, label %11269, label %11247

11247:                                            ; preds = %11242
  %11248 = load i32, ptr %1317, align 4, !tbaa !5
  %11249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11250 = call i32 @s2n_print_stacktrace(ptr noundef %11249) #12
  %11251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11252 = trunc nuw i8 %11251 to i1
  br i1 %11252, label %11253, label %11257

11253:                                            ; preds = %11247
  %11254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11255 = call i32 @fileno(ptr noundef %11254) #12
  %11256 = call i32 @isatty(i32 noundef %11255) #12
  %.not1755 = icmp eq i32 %11256, 0
  br i1 %.not1755, label %11257, label %11258

11257:                                            ; preds = %11253, %11247
  br label %11258

11258:                                            ; preds = %11253, %11257
  %.str.26.sink5789 = phi ptr [ @.str.26, %11257 ], [ @.str.23, %11253 ]
  store i32 %11248, ptr %1317, align 4, !tbaa !5
  %11259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11260 = load i32, ptr @test_count, align 4, !tbaa !5
  %11261 = load i32, ptr %1263, align 4, !tbaa !5
  %11262 = call ptr @s2n_strerror(i32 noundef %11261, ptr noundef nonnull @.str.25) #12
  %11263 = load i32, ptr %1263, align 4, !tbaa !5
  %11264 = call ptr @s2n_strerror_debug(i32 noundef %11263, ptr noundef nonnull @.str.25) #12
  %11265 = load i32, ptr %1317, align 4, !tbaa !5
  %11266 = call ptr @strerror(i32 noundef %11265) #12
  %11267 = load i32, ptr %1317, align 4, !tbaa !5
  %11268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11259, ptr noundef nonnull %.str.26.sink5789, i32 noundef %11260, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.22, i32 noundef 1238, ptr noundef %11262, ptr noundef %11264, ptr noundef %11266, i32 noundef %11267) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11269:                                            ; preds = %11242
  %11270 = load i32, ptr @test_count, align 4, !tbaa !5
  %11271 = add nsw i32 %11270, 1
  store i32 %11271, ptr @test_count, align 4, !tbaa !5
  %11272 = load i32, ptr %1263, align 4, !tbaa !5
  %11273 = icmp eq i32 %11272, 469762121
  br i1 %11273, label %11296, label %11274

11274:                                            ; preds = %11269
  %11275 = load i32, ptr %1317, align 4, !tbaa !5
  %11276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11277 = call i32 @s2n_print_stacktrace(ptr noundef %11276) #12
  %11278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11279 = trunc nuw i8 %11278 to i1
  br i1 %11279, label %11280, label %11284

11280:                                            ; preds = %11274
  %11281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11282 = call i32 @fileno(ptr noundef %11281) #12
  %11283 = call i32 @isatty(i32 noundef %11282) #12
  %.not1756 = icmp eq i32 %11283, 0
  br i1 %.not1756, label %11284, label %11285

11284:                                            ; preds = %11280, %11274
  br label %11285

11285:                                            ; preds = %11280, %11284
  %.str.26.sink5798 = phi ptr [ @.str.26, %11284 ], [ @.str.23, %11280 ]
  store i32 %11275, ptr %1317, align 4, !tbaa !5
  %11286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11287 = load i32, ptr @test_count, align 4, !tbaa !5
  %11288 = load i32, ptr %1263, align 4, !tbaa !5
  %11289 = call ptr @s2n_strerror(i32 noundef %11288, ptr noundef nonnull @.str.25) #12
  %11290 = load i32, ptr %1263, align 4, !tbaa !5
  %11291 = call ptr @s2n_strerror_debug(i32 noundef %11290, ptr noundef nonnull @.str.25) #12
  %11292 = load i32, ptr %1317, align 4, !tbaa !5
  %11293 = call ptr @strerror(i32 noundef %11292) #12
  %11294 = load i32, ptr %1317, align 4, !tbaa !5
  %11295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11286, ptr noundef nonnull %.str.26.sink5798, i32 noundef %11287, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.22, i32 noundef 1238, ptr noundef %11289, ptr noundef %11291, ptr noundef %11293, i32 noundef %11294) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11296:                                            ; preds = %11269
  %11297 = add nsw i32 %11270, 2
  store i32 %11297, ptr @test_count, align 4, !tbaa !5
  %11298 = call ptr @s2n_strerror_debug(i32 noundef 469762121, ptr noundef nonnull @.str.25) #12
  %11299 = icmp eq ptr %11298, null
  br i1 %11299, label %11300, label %11322

11300:                                            ; preds = %11296
  %11301 = load i32, ptr %1317, align 4, !tbaa !5
  %11302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11303 = call i32 @s2n_print_stacktrace(ptr noundef %11302) #12
  %11304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11305 = trunc nuw i8 %11304 to i1
  br i1 %11305, label %11306, label %11310

11306:                                            ; preds = %11300
  %11307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11308 = call i32 @fileno(ptr noundef %11307) #12
  %11309 = call i32 @isatty(i32 noundef %11308) #12
  %.not1891 = icmp eq i32 %11309, 0
  br i1 %.not1891, label %11310, label %11311

11310:                                            ; preds = %11306, %11300
  br label %11311

11311:                                            ; preds = %11306, %11310
  %.str.26.sink5807 = phi ptr [ @.str.26, %11310 ], [ @.str.23, %11306 ]
  store i32 %11301, ptr %1317, align 4, !tbaa !5
  %11312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11313 = load i32, ptr @test_count, align 4, !tbaa !5
  %11314 = load i32, ptr %1263, align 4, !tbaa !5
  %11315 = call ptr @s2n_strerror(i32 noundef %11314, ptr noundef nonnull @.str.25) #12
  %11316 = load i32, ptr %1263, align 4, !tbaa !5
  %11317 = call ptr @s2n_strerror_debug(i32 noundef %11316, ptr noundef nonnull @.str.25) #12
  %11318 = load i32, ptr %1317, align 4, !tbaa !5
  %11319 = call ptr @strerror(i32 noundef %11318) #12
  %11320 = load i32, ptr %1317, align 4, !tbaa !5
  %11321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11312, ptr noundef nonnull %.str.26.sink5807, i32 noundef %11313, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.22, i32 noundef 1238, ptr noundef %11315, ptr noundef %11317, ptr noundef %11319, i32 noundef %11320) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11322:                                            ; preds = %11296
  store i32 0, ptr %1263, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1317, align 4, !tbaa !5
  %11323 = load i32, ptr @test_count, align 4, !tbaa !5
  %11324 = add nsw i32 %11323, 1
  store i32 %11324, ptr @test_count, align 4, !tbaa !5
  %11325 = load i16, ptr %10890, align 2, !tbaa !49
  %11326 = icmp eq i16 %11325, 10
  br i1 %11326, label %11349, label %11327

11327:                                            ; preds = %11322
  %11328 = load i32, ptr %1317, align 4, !tbaa !5
  %11329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11330 = call i32 @s2n_print_stacktrace(ptr noundef %11329) #12
  %11331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11332 = trunc nuw i8 %11331 to i1
  br i1 %11332, label %11333, label %11337

11333:                                            ; preds = %11327
  %11334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11335 = call i32 @fileno(ptr noundef %11334) #12
  %11336 = call i32 @isatty(i32 noundef %11335) #12
  %.not1757 = icmp eq i32 %11336, 0
  br i1 %.not1757, label %11337, label %11338

11337:                                            ; preds = %11333, %11327
  br label %11338

11338:                                            ; preds = %11333, %11337
  %.str.26.sink5816 = phi ptr [ @.str.26, %11337 ], [ @.str.23, %11333 ]
  store i32 %11328, ptr %1317, align 4, !tbaa !5
  %11339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11340 = load i32, ptr @test_count, align 4, !tbaa !5
  %11341 = load i32, ptr %1263, align 4, !tbaa !5
  %11342 = call ptr @s2n_strerror(i32 noundef %11341, ptr noundef nonnull @.str.25) #12
  %11343 = load i32, ptr %1263, align 4, !tbaa !5
  %11344 = call ptr @s2n_strerror_debug(i32 noundef %11343, ptr noundef nonnull @.str.25) #12
  %11345 = load i32, ptr %1317, align 4, !tbaa !5
  %11346 = call ptr @strerror(i32 noundef %11345) #12
  %11347 = load i32, ptr %1317, align 4, !tbaa !5
  %11348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11339, ptr noundef nonnull %.str.26.sink5816, i32 noundef %11340, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.22, i32 noundef 1239, ptr noundef %11342, ptr noundef %11344, ptr noundef %11346, i32 noundef %11347) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11349:                                            ; preds = %11322
  %11350 = add nsw i32 %11323, 2
  store i32 %11350, ptr @test_count, align 4, !tbaa !5
  %11351 = load i16, ptr %10891, align 4, !tbaa !79
  %11352 = icmp eq i16 %11351, 10
  br i1 %11352, label %11375, label %11353

11353:                                            ; preds = %11349
  %11354 = load i32, ptr %1317, align 4, !tbaa !5
  %11355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11356 = call i32 @s2n_print_stacktrace(ptr noundef %11355) #12
  %11357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11358 = trunc nuw i8 %11357 to i1
  br i1 %11358, label %11359, label %11363

11359:                                            ; preds = %11353
  %11360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11361 = call i32 @fileno(ptr noundef %11360) #12
  %11362 = call i32 @isatty(i32 noundef %11361) #12
  %.not1758 = icmp eq i32 %11362, 0
  br i1 %.not1758, label %11363, label %11364

11363:                                            ; preds = %11359, %11353
  br label %11364

11364:                                            ; preds = %11359, %11363
  %.str.26.sink5825 = phi ptr [ @.str.26, %11363 ], [ @.str.23, %11359 ]
  store i32 %11354, ptr %1317, align 4, !tbaa !5
  %11365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11366 = load i32, ptr @test_count, align 4, !tbaa !5
  %11367 = load i32, ptr %1263, align 4, !tbaa !5
  %11368 = call ptr @s2n_strerror(i32 noundef %11367, ptr noundef nonnull @.str.25) #12
  %11369 = load i32, ptr %1263, align 4, !tbaa !5
  %11370 = call ptr @s2n_strerror_debug(i32 noundef %11369, ptr noundef nonnull @.str.25) #12
  %11371 = load i32, ptr %1317, align 4, !tbaa !5
  %11372 = call ptr @strerror(i32 noundef %11371) #12
  %11373 = load i32, ptr %1317, align 4, !tbaa !5
  %11374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11365, ptr noundef nonnull %.str.26.sink5825, i32 noundef %11366, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.22, i32 noundef 1240, ptr noundef %11368, ptr noundef %11370, ptr noundef %11372, i32 noundef %11373) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11375:                                            ; preds = %11349
  %11376 = add nsw i32 %11323, 3
  store i32 %11376, ptr @test_count, align 4, !tbaa !5
  %11377 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %10836, i16 noundef zeroext 10)
  %11378 = call zeroext i1 @s2n_result_is_ok(i32 %11377)
  br i1 %11378, label %11401, label %11379

11379:                                            ; preds = %11375
  %11380 = load i32, ptr %1317, align 4, !tbaa !5
  %11381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11382 = call i32 @s2n_print_stacktrace(ptr noundef %11381) #12
  %11383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11384 = trunc nuw i8 %11383 to i1
  br i1 %11384, label %11385, label %11389

11385:                                            ; preds = %11379
  %11386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11387 = call i32 @fileno(ptr noundef %11386) #12
  %11388 = call i32 @isatty(i32 noundef %11387) #12
  %.not1759 = icmp eq i32 %11388, 0
  br i1 %.not1759, label %11389, label %11390

11389:                                            ; preds = %11385, %11379
  br label %11390

11390:                                            ; preds = %11385, %11389
  %.str.26.sink5834 = phi ptr [ @.str.26, %11389 ], [ @.str.23, %11385 ]
  store i32 %11380, ptr %1317, align 4, !tbaa !5
  %11391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11392 = load i32, ptr @test_count, align 4, !tbaa !5
  %11393 = load i32, ptr %1263, align 4, !tbaa !5
  %11394 = call ptr @s2n_strerror(i32 noundef %11393, ptr noundef nonnull @.str.25) #12
  %11395 = load i32, ptr %1263, align 4, !tbaa !5
  %11396 = call ptr @s2n_strerror_debug(i32 noundef %11395, ptr noundef nonnull @.str.25) #12
  %11397 = load i32, ptr %1317, align 4, !tbaa !5
  %11398 = call ptr @strerror(i32 noundef %11397) #12
  %11399 = load i32, ptr %1317, align 4, !tbaa !5
  %11400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11391, ptr noundef nonnull %.str.26.sink5834, i32 noundef %11392, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.22, i32 noundef 1241, ptr noundef %11394, ptr noundef %11396, ptr noundef %11398, i32 noundef %11399) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11401:                                            ; preds = %11375
  %11402 = load i32, ptr @test_count, align 4, !tbaa !5
  %11403 = add nsw i32 %11402, 1
  store i32 %11403, ptr @test_count, align 4, !tbaa !5
  %11404 = call i32 @s2n_stuffer_free(ptr noundef nonnull %90) #12
  %11405 = icmp eq i32 %11404, -1
  br i1 %11405, label %11406, label %11428

11406:                                            ; preds = %11401
  %11407 = load i32, ptr %1317, align 4, !tbaa !5
  %11408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11409 = call i32 @s2n_print_stacktrace(ptr noundef %11408) #12
  %11410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11411 = trunc nuw i8 %11410 to i1
  br i1 %11411, label %11412, label %11416

11412:                                            ; preds = %11406
  %11413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11414 = call i32 @fileno(ptr noundef %11413) #12
  %11415 = call i32 @isatty(i32 noundef %11414) #12
  %.not1890 = icmp eq i32 %11415, 0
  br i1 %.not1890, label %11416, label %11417

11416:                                            ; preds = %11412, %11406
  br label %11417

11417:                                            ; preds = %11412, %11416
  %.str.26.sink5843 = phi ptr [ @.str.26, %11416 ], [ @.str.23, %11412 ]
  store i32 %11407, ptr %1317, align 4, !tbaa !5
  %11418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11419 = load i32, ptr @test_count, align 4, !tbaa !5
  %11420 = load i32, ptr %1263, align 4, !tbaa !5
  %11421 = call ptr @s2n_strerror(i32 noundef %11420, ptr noundef nonnull @.str.25) #12
  %11422 = load i32, ptr %1263, align 4, !tbaa !5
  %11423 = call ptr @s2n_strerror_debug(i32 noundef %11422, ptr noundef nonnull @.str.25) #12
  %11424 = load i32, ptr %1317, align 4, !tbaa !5
  %11425 = call ptr @strerror(i32 noundef %11424) #12
  %11426 = load i32, ptr %1317, align 4, !tbaa !5
  %11427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11418, ptr noundef nonnull %.str.26.sink5843, i32 noundef %11419, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.22, i32 noundef 1243, ptr noundef %11421, ptr noundef %11423, ptr noundef %11425, i32 noundef %11426) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11428:                                            ; preds = %11401
  %11429 = load i32, ptr @test_count, align 4, !tbaa !5
  %11430 = add nsw i32 %11429, 1
  store i32 %11430, ptr @test_count, align 4, !tbaa !5
  %11431 = call i32 @s2n_connection_free(ptr noundef nonnull %10836) #12
  %11432 = icmp eq i32 %11431, -1
  br i1 %11432, label %11433, label %11455

11433:                                            ; preds = %11428
  %11434 = load i32, ptr %1317, align 4, !tbaa !5
  %11435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11436 = call i32 @s2n_print_stacktrace(ptr noundef %11435) #12
  %11437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11438 = trunc nuw i8 %11437 to i1
  br i1 %11438, label %11439, label %11443

11439:                                            ; preds = %11433
  %11440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11441 = call i32 @fileno(ptr noundef %11440) #12
  %11442 = call i32 @isatty(i32 noundef %11441) #12
  %.not1889 = icmp eq i32 %11442, 0
  br i1 %.not1889, label %11443, label %11444

11443:                                            ; preds = %11439, %11433
  br label %11444

11444:                                            ; preds = %11439, %11443
  %.str.26.sink5852 = phi ptr [ @.str.26, %11443 ], [ @.str.23, %11439 ]
  store i32 %11434, ptr %1317, align 4, !tbaa !5
  %11445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11446 = load i32, ptr @test_count, align 4, !tbaa !5
  %11447 = load i32, ptr %1263, align 4, !tbaa !5
  %11448 = call ptr @s2n_strerror(i32 noundef %11447, ptr noundef nonnull @.str.25) #12
  %11449 = load i32, ptr %1263, align 4, !tbaa !5
  %11450 = call ptr @s2n_strerror_debug(i32 noundef %11449, ptr noundef nonnull @.str.25) #12
  %11451 = load i32, ptr %1317, align 4, !tbaa !5
  %11452 = call ptr @strerror(i32 noundef %11451) #12
  %11453 = load i32, ptr %1317, align 4, !tbaa !5
  %11454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11445, ptr noundef nonnull %.str.26.sink5852, i32 noundef %11446, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 1244, ptr noundef %11448, ptr noundef %11450, ptr noundef %11452, i32 noundef %11453) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11455:                                            ; preds = %11428
  %11456 = load i32, ptr @test_count, align 4, !tbaa !5
  %11457 = add nsw i32 %11456, 1
  store i32 %11457, ptr @test_count, align 4, !tbaa !5
  %11458 = call i32 @s2n_config_free(ptr noundef nonnull %10783) #12
  %11459 = icmp eq i32 %11458, -1
  br i1 %11459, label %11460, label %11482

11460:                                            ; preds = %11455
  %11461 = load i32, ptr %1317, align 4, !tbaa !5
  %11462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11463 = call i32 @s2n_print_stacktrace(ptr noundef %11462) #12
  %11464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11465 = trunc nuw i8 %11464 to i1
  br i1 %11465, label %11466, label %11470

11466:                                            ; preds = %11460
  %11467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11468 = call i32 @fileno(ptr noundef %11467) #12
  %11469 = call i32 @isatty(i32 noundef %11468) #12
  %.not1888 = icmp eq i32 %11469, 0
  br i1 %.not1888, label %11470, label %11471

11470:                                            ; preds = %11466, %11460
  br label %11471

11471:                                            ; preds = %11466, %11470
  %.str.26.sink5861 = phi ptr [ @.str.26, %11470 ], [ @.str.23, %11466 ]
  store i32 %11461, ptr %1317, align 4, !tbaa !5
  %11472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11473 = load i32, ptr @test_count, align 4, !tbaa !5
  %11474 = load i32, ptr %1263, align 4, !tbaa !5
  %11475 = call ptr @s2n_strerror(i32 noundef %11474, ptr noundef nonnull @.str.25) #12
  %11476 = load i32, ptr %1263, align 4, !tbaa !5
  %11477 = call ptr @s2n_strerror_debug(i32 noundef %11476, ptr noundef nonnull @.str.25) #12
  %11478 = load i32, ptr %1317, align 4, !tbaa !5
  %11479 = call ptr @strerror(i32 noundef %11478) #12
  %11480 = load i32, ptr %1317, align 4, !tbaa !5
  %11481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11472, ptr noundef nonnull %.str.26.sink5861, i32 noundef %11473, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 1245, ptr noundef %11475, ptr noundef %11477, ptr noundef %11479, i32 noundef %11480) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11482:                                            ; preds = %11455
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %92) #12
  %11483 = call i32 @s2n_psk_free(ptr noundef nonnull %91) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %90) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %93) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %93, ptr noundef nonnull align 16 dereferenceable(16) @__const.main.test_data, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %94) #12
  store i64 0, ptr %94, align 8, !tbaa !15
  %11484 = call ptr @s2n_config_new() #12
  %11485 = load i32, ptr @test_count, align 4, !tbaa !5
  %11486 = add nsw i32 %11485, 1
  store i32 %11486, ptr @test_count, align 4, !tbaa !5
  %11487 = icmp eq ptr %11484, null
  br i1 %11487, label %11488, label %11510

11488:                                            ; preds = %11482
  %11489 = load i32, ptr %1317, align 4, !tbaa !5
  %11490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11491 = call i32 @s2n_print_stacktrace(ptr noundef %11490) #12
  %11492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11493 = trunc nuw i8 %11492 to i1
  br i1 %11493, label %11494, label %11498

11494:                                            ; preds = %11488
  %11495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11496 = call i32 @fileno(ptr noundef %11495) #12
  %11497 = call i32 @isatty(i32 noundef %11496) #12
  %.not1887 = icmp eq i32 %11497, 0
  br i1 %.not1887, label %11498, label %11499

11498:                                            ; preds = %11494, %11488
  br label %11499

11499:                                            ; preds = %11494, %11498
  %.str.26.sink5870 = phi ptr [ @.str.26, %11498 ], [ @.str.23, %11494 ]
  store i32 %11489, ptr %1317, align 4, !tbaa !5
  %11500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11501 = load i32, ptr @test_count, align 4, !tbaa !5
  %11502 = load i32, ptr %1263, align 4, !tbaa !5
  %11503 = call ptr @s2n_strerror(i32 noundef %11502, ptr noundef nonnull @.str.25) #12
  %11504 = load i32, ptr %1263, align 4, !tbaa !5
  %11505 = call ptr @s2n_strerror_debug(i32 noundef %11504, ptr noundef nonnull @.str.25) #12
  %11506 = load i32, ptr %1317, align 4, !tbaa !5
  %11507 = call ptr @strerror(i32 noundef %11506) #12
  %11508 = load i32, ptr %1317, align 4, !tbaa !5
  %11509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11500, ptr noundef nonnull %.str.26.sink5870, i32 noundef %11501, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 1254, ptr noundef %11503, ptr noundef %11505, ptr noundef %11507, i32 noundef %11508) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11510:                                            ; preds = %11482
  %11511 = add nsw i32 %11485, 2
  store i32 %11511, ptr @test_count, align 4, !tbaa !5
  %11512 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %11484, i8 noundef zeroext 1) #12
  %11513 = icmp eq i32 %11512, -1
  br i1 %11513, label %11514, label %11536

11514:                                            ; preds = %11510
  %11515 = load i32, ptr %1317, align 4, !tbaa !5
  %11516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11517 = call i32 @s2n_print_stacktrace(ptr noundef %11516) #12
  %11518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11519 = trunc nuw i8 %11518 to i1
  br i1 %11519, label %11520, label %11524

11520:                                            ; preds = %11514
  %11521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11522 = call i32 @fileno(ptr noundef %11521) #12
  %11523 = call i32 @isatty(i32 noundef %11522) #12
  %.not1886 = icmp eq i32 %11523, 0
  br i1 %.not1886, label %11524, label %11525

11524:                                            ; preds = %11520, %11514
  br label %11525

11525:                                            ; preds = %11520, %11524
  %.str.26.sink5879 = phi ptr [ @.str.26, %11524 ], [ @.str.23, %11520 ]
  store i32 %11515, ptr %1317, align 4, !tbaa !5
  %11526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11527 = load i32, ptr @test_count, align 4, !tbaa !5
  %11528 = load i32, ptr %1263, align 4, !tbaa !5
  %11529 = call ptr @s2n_strerror(i32 noundef %11528, ptr noundef nonnull @.str.25) #12
  %11530 = load i32, ptr %1263, align 4, !tbaa !5
  %11531 = call ptr @s2n_strerror_debug(i32 noundef %11530, ptr noundef nonnull @.str.25) #12
  %11532 = load i32, ptr %1317, align 4, !tbaa !5
  %11533 = call ptr @strerror(i32 noundef %11532) #12
  %11534 = load i32, ptr %1317, align 4, !tbaa !5
  %11535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11526, ptr noundef nonnull %.str.26.sink5879, i32 noundef %11527, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.22, i32 noundef 1255, ptr noundef %11529, ptr noundef %11531, ptr noundef %11533, i32 noundef %11534) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11536:                                            ; preds = %11510
  %11537 = load i32, ptr @test_count, align 4, !tbaa !5
  %11538 = add nsw i32 %11537, 1
  store i32 %11538, ptr @test_count, align 4, !tbaa !5
  %11539 = getelementptr inbounds i8, ptr %11484, i64 80
  %11540 = load ptr, ptr %11539, align 8, !tbaa !83
  %11541 = getelementptr inbounds i8, ptr %11484, i64 104
  %11542 = load ptr, ptr %11541, align 8, !tbaa !84
  %11543 = call i32 %11540(ptr noundef %11542, ptr noundef nonnull %94) #12
  %11544 = icmp eq i32 %11543, -1
  br i1 %11544, label %11545, label %11567

11545:                                            ; preds = %11536
  %11546 = load i32, ptr %1317, align 4, !tbaa !5
  %11547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11548 = call i32 @s2n_print_stacktrace(ptr noundef %11547) #12
  %11549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11550 = trunc nuw i8 %11549 to i1
  br i1 %11550, label %11551, label %11555

11551:                                            ; preds = %11545
  %11552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11553 = call i32 @fileno(ptr noundef %11552) #12
  %11554 = call i32 @isatty(i32 noundef %11553) #12
  %.not1885 = icmp eq i32 %11554, 0
  br i1 %.not1885, label %11555, label %11556

11555:                                            ; preds = %11551, %11545
  br label %11556

11556:                                            ; preds = %11551, %11555
  %.str.26.sink5888 = phi ptr [ @.str.26, %11555 ], [ @.str.23, %11551 ]
  store i32 %11546, ptr %1317, align 4, !tbaa !5
  %11557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11558 = load i32, ptr @test_count, align 4, !tbaa !5
  %11559 = load i32, ptr %1263, align 4, !tbaa !5
  %11560 = call ptr @s2n_strerror(i32 noundef %11559, ptr noundef nonnull @.str.25) #12
  %11561 = load i32, ptr %1263, align 4, !tbaa !5
  %11562 = call ptr @s2n_strerror_debug(i32 noundef %11561, ptr noundef nonnull @.str.25) #12
  %11563 = load i32, ptr %1317, align 4, !tbaa !5
  %11564 = call ptr @strerror(i32 noundef %11563) #12
  %11565 = load i32, ptr %1317, align 4, !tbaa !5
  %11566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11557, ptr noundef nonnull %.str.26.sink5888, i32 noundef %11558, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.22, i32 noundef 1256, ptr noundef %11560, ptr noundef %11562, ptr noundef %11564, i32 noundef %11565) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11567:                                            ; preds = %11536
  %11568 = load i32, ptr @test_count, align 4, !tbaa !5
  %11569 = add nsw i32 %11568, 1
  store i32 %11569, ptr @test_count, align 4, !tbaa !5
  %11570 = load i64, ptr %94, align 8, !tbaa !15
  %11571 = udiv i64 %11570, 1000000000
  %11572 = call i32 @s2n_config_add_ticket_crypto_key(ptr noundef nonnull %11484, ptr noundef nonnull %93, i32 noundef 16, ptr noundef nonnull %93, i32 noundef 16, i64 noundef %11571) #12
  %11573 = icmp eq i32 %11572, -1
  br i1 %11573, label %11574, label %11596

11574:                                            ; preds = %11567
  %11575 = load i32, ptr %1317, align 4, !tbaa !5
  %11576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11577 = call i32 @s2n_print_stacktrace(ptr noundef %11576) #12
  %11578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11579 = trunc nuw i8 %11578 to i1
  br i1 %11579, label %11580, label %11584

11580:                                            ; preds = %11574
  %11581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11582 = call i32 @fileno(ptr noundef %11581) #12
  %11583 = call i32 @isatty(i32 noundef %11582) #12
  %.not1884 = icmp eq i32 %11583, 0
  br i1 %.not1884, label %11584, label %11585

11584:                                            ; preds = %11580, %11574
  br label %11585

11585:                                            ; preds = %11580, %11584
  %.str.26.sink5897 = phi ptr [ @.str.26, %11584 ], [ @.str.23, %11580 ]
  store i32 %11575, ptr %1317, align 4, !tbaa !5
  %11586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11587 = load i32, ptr @test_count, align 4, !tbaa !5
  %11588 = load i32, ptr %1263, align 4, !tbaa !5
  %11589 = call ptr @s2n_strerror(i32 noundef %11588, ptr noundef nonnull @.str.25) #12
  %11590 = load i32, ptr %1263, align 4, !tbaa !5
  %11591 = call ptr @s2n_strerror_debug(i32 noundef %11590, ptr noundef nonnull @.str.25) #12
  %11592 = load i32, ptr %1317, align 4, !tbaa !5
  %11593 = call ptr @strerror(i32 noundef %11592) #12
  %11594 = load i32, ptr %1317, align 4, !tbaa !5
  %11595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11586, ptr noundef nonnull %.str.26.sink5897, i32 noundef %11587, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.22, i32 noundef 1258, ptr noundef %11589, ptr noundef %11591, ptr noundef %11593, i32 noundef %11594) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11596:                                            ; preds = %11567
  %11597 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %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 = icmp eq ptr %11597, null
  br i1 %11600, label %11601, label %11623

11601:                                            ; preds = %11596
  %11602 = load i32, ptr %1317, align 4, !tbaa !5
  %11603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11604 = call i32 @s2n_print_stacktrace(ptr noundef %11603) #12
  %11605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11606 = trunc nuw i8 %11605 to i1
  br i1 %11606, label %11607, label %11611

11607:                                            ; preds = %11601
  %11608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11609 = call i32 @fileno(ptr noundef %11608) #12
  %11610 = call i32 @isatty(i32 noundef %11609) #12
  %.not1883 = icmp eq i32 %11610, 0
  br i1 %.not1883, label %11611, label %11612

11611:                                            ; preds = %11607, %11601
  br label %11612

11612:                                            ; preds = %11607, %11611
  %.str.26.sink5906 = phi ptr [ @.str.26, %11611 ], [ @.str.23, %11607 ]
  store i32 %11602, ptr %1317, align 4, !tbaa !5
  %11613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11614 = load i32, ptr @test_count, align 4, !tbaa !5
  %11615 = load i32, ptr %1263, align 4, !tbaa !5
  %11616 = call ptr @s2n_strerror(i32 noundef %11615, ptr noundef nonnull @.str.25) #12
  %11617 = load i32, ptr %1263, align 4, !tbaa !5
  %11618 = call ptr @s2n_strerror_debug(i32 noundef %11617, ptr noundef nonnull @.str.25) #12
  %11619 = load i32, ptr %1317, align 4, !tbaa !5
  %11620 = call ptr @strerror(i32 noundef %11619) #12
  %11621 = load i32, ptr %1317, align 4, !tbaa !5
  %11622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11613, ptr noundef nonnull %.str.26.sink5906, i32 noundef %11614, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 1261, ptr noundef %11616, ptr noundef %11618, ptr noundef %11620, i32 noundef %11621) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11623:                                            ; preds = %11596
  %11624 = add nsw i32 %11598, 2
  store i32 %11624, ptr @test_count, align 4, !tbaa !5
  %11625 = call i32 @s2n_connection_set_config(ptr noundef nonnull %11597, ptr noundef nonnull %11484) #12
  %11626 = icmp eq i32 %11625, -1
  br i1 %11626, label %11627, label %11649

11627:                                            ; preds = %11623
  %11628 = load i32, ptr %1317, align 4, !tbaa !5
  %11629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11630 = call i32 @s2n_print_stacktrace(ptr noundef %11629) #12
  %11631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11632 = trunc nuw i8 %11631 to i1
  br i1 %11632, label %11633, label %11637

11633:                                            ; preds = %11627
  %11634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11635 = call i32 @fileno(ptr noundef %11634) #12
  %11636 = call i32 @isatty(i32 noundef %11635) #12
  %.not1882 = icmp eq i32 %11636, 0
  br i1 %.not1882, label %11637, label %11638

11637:                                            ; preds = %11633, %11627
  br label %11638

11638:                                            ; preds = %11633, %11637
  %.str.26.sink5915 = phi ptr [ @.str.26, %11637 ], [ @.str.23, %11633 ]
  store i32 %11628, ptr %1317, align 4, !tbaa !5
  %11639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11640 = load i32, ptr @test_count, align 4, !tbaa !5
  %11641 = load i32, ptr %1263, align 4, !tbaa !5
  %11642 = call ptr @s2n_strerror(i32 noundef %11641, ptr noundef nonnull @.str.25) #12
  %11643 = load i32, ptr %1263, align 4, !tbaa !5
  %11644 = call ptr @s2n_strerror_debug(i32 noundef %11643, ptr noundef nonnull @.str.25) #12
  %11645 = load i32, ptr %1317, align 4, !tbaa !5
  %11646 = call ptr @strerror(i32 noundef %11645) #12
  %11647 = load i32, ptr %1317, align 4, !tbaa !5
  %11648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11639, ptr noundef nonnull %.str.26.sink5915, i32 noundef %11640, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 1262, ptr noundef %11642, ptr noundef %11644, ptr noundef %11646, i32 noundef %11647) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11649:                                            ; preds = %11623
  %11650 = getelementptr inbounds i8, ptr %11597, i64 220
  store i8 34, ptr %11650, align 4, !tbaa !17
  %11651 = getelementptr inbounds i8, ptr %11597, i64 232
  %11652 = load ptr, ptr %11651, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %11652, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %95) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %95, i8 0, i64 40, i1 false)
  %11653 = load i32, ptr @test_count, align 4, !tbaa !5
  %11654 = add nsw i32 %11653, 1
  store i32 %11654, ptr @test_count, align 4, !tbaa !5
  %11655 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %95, i32 noundef 0) #12
  %11656 = icmp eq i32 %11655, -1
  br i1 %11656, label %11657, label %11679

11657:                                            ; preds = %11649
  %11658 = load i32, ptr %1317, align 4, !tbaa !5
  %11659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11660 = call i32 @s2n_print_stacktrace(ptr noundef %11659) #12
  %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) #12
  %11666 = call i32 @isatty(i32 noundef %11665) #12
  %.not1881 = icmp eq i32 %11666, 0
  br i1 %.not1881, label %11667, label %11668

11667:                                            ; preds = %11663, %11657
  br label %11668

11668:                                            ; preds = %11663, %11667
  %.str.26.sink5924 = phi ptr [ @.str.26, %11667 ], [ @.str.23, %11663 ]
  store i32 %11658, ptr %1317, 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 %1263, align 4, !tbaa !5
  %11672 = call ptr @s2n_strerror(i32 noundef %11671, ptr noundef nonnull @.str.25) #12
  %11673 = load i32, ptr %1263, align 4, !tbaa !5
  %11674 = call ptr @s2n_strerror_debug(i32 noundef %11673, ptr noundef nonnull @.str.25) #12
  %11675 = load i32, ptr %1317, align 4, !tbaa !5
  %11676 = call ptr @strerror(i32 noundef %11675) #12
  %11677 = load i32, ptr %1317, align 4, !tbaa !5
  %11678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11669, ptr noundef nonnull %.str.26.sink5924, i32 noundef %11670, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 1268, ptr noundef %11672, ptr noundef %11674, ptr noundef %11676, i32 noundef %11677) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11679:                                            ; preds = %11649
  %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 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %95, ptr noundef nonnull %95, ptr noundef nonnull %11597) #12
  %11683 = icmp eq i32 %11682, -1
  br i1 %11683, label %11684, label %11706

11684:                                            ; preds = %11679
  %11685 = load i32, ptr %1317, align 4, !tbaa !5
  %11686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11687 = call i32 @s2n_print_stacktrace(ptr noundef %11686) #12
  %11688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11689 = trunc nuw i8 %11688 to i1
  br i1 %11689, label %11690, label %11694

11690:                                            ; preds = %11684
  %11691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11692 = call i32 @fileno(ptr noundef %11691) #12
  %11693 = call i32 @isatty(i32 noundef %11692) #12
  %.not1880 = icmp eq i32 %11693, 0
  br i1 %.not1880, label %11694, label %11695

11694:                                            ; preds = %11690, %11684
  br label %11695

11695:                                            ; preds = %11690, %11694
  %.str.26.sink5933 = phi ptr [ @.str.26, %11694 ], [ @.str.23, %11690 ]
  store i32 %11685, ptr %1317, align 4, !tbaa !5
  %11696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11697 = load i32, ptr @test_count, align 4, !tbaa !5
  %11698 = load i32, ptr %1263, align 4, !tbaa !5
  %11699 = call ptr @s2n_strerror(i32 noundef %11698, ptr noundef nonnull @.str.25) #12
  %11700 = load i32, ptr %1263, align 4, !tbaa !5
  %11701 = call ptr @s2n_strerror_debug(i32 noundef %11700, ptr noundef nonnull @.str.25) #12
  %11702 = load i32, ptr %1317, align 4, !tbaa !5
  %11703 = call ptr @strerror(i32 noundef %11702) #12
  %11704 = load i32, ptr %1317, align 4, !tbaa !5
  %11705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11696, ptr noundef nonnull %.str.26.sink5933, i32 noundef %11697, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.22, i32 noundef 1269, ptr noundef %11699, ptr noundef %11701, ptr noundef %11703, i32 noundef %11704) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11706:                                            ; preds = %11679
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %96) #12
  store i32 0, ptr %96, align 4, !tbaa !5
  %11707 = load i32, ptr @test_count, align 4, !tbaa !5
  %11708 = add nsw i32 %11707, 1
  store i32 %11708, ptr @test_count, align 4, !tbaa !5
  %11709 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %11597, ptr noundef nonnull %96)
  %11710 = call zeroext i1 @s2n_result_is_ok(i32 %11709)
  br i1 %11710, label %11733, label %11711

11711:                                            ; preds = %11706
  %11712 = load i32, ptr %1317, align 4, !tbaa !5
  %11713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11714 = call i32 @s2n_print_stacktrace(ptr noundef %11713) #12
  %11715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11716 = trunc nuw i8 %11715 to i1
  br i1 %11716, label %11717, label %11721

11717:                                            ; preds = %11711
  %11718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11719 = call i32 @fileno(ptr noundef %11718) #12
  %11720 = call i32 @isatty(i32 noundef %11719) #12
  %.not1760 = icmp eq i32 %11720, 0
  br i1 %.not1760, label %11721, label %11722

11721:                                            ; preds = %11717, %11711
  br label %11722

11722:                                            ; preds = %11717, %11721
  %.str.26.sink5942 = phi ptr [ @.str.26, %11721 ], [ @.str.23, %11717 ]
  store i32 %11712, ptr %1317, align 4, !tbaa !5
  %11723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11724 = load i32, ptr @test_count, align 4, !tbaa !5
  %11725 = load i32, ptr %1263, align 4, !tbaa !5
  %11726 = call ptr @s2n_strerror(i32 noundef %11725, ptr noundef nonnull @.str.25) #12
  %11727 = load i32, ptr %1263, align 4, !tbaa !5
  %11728 = call ptr @s2n_strerror_debug(i32 noundef %11727, ptr noundef nonnull @.str.25) #12
  %11729 = load i32, ptr %1317, align 4, !tbaa !5
  %11730 = call ptr @strerror(i32 noundef %11729) #12
  %11731 = load i32, ptr %1317, align 4, !tbaa !5
  %11732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11723, ptr noundef nonnull %.str.26.sink5942, i32 noundef %11724, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1272, ptr noundef %11726, ptr noundef %11728, ptr noundef %11730, i32 noundef %11731) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11733:                                            ; preds = %11706
  %11734 = load i32, ptr @test_count, align 4, !tbaa !5
  %11735 = add nsw i32 %11734, 1
  store i32 %11735, ptr @test_count, align 4, !tbaa !5
  %11736 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %11597, i16 noundef zeroext 1)
  %11737 = call zeroext i1 @s2n_result_is_ok(i32 %11736)
  br i1 %11737, label %11760, label %11738

11738:                                            ; preds = %11733
  %11739 = load i32, ptr %1317, align 4, !tbaa !5
  %11740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11741 = call i32 @s2n_print_stacktrace(ptr noundef %11740) #12
  %11742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11743 = trunc nuw i8 %11742 to i1
  br i1 %11743, label %11744, label %11748

11744:                                            ; preds = %11738
  %11745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11746 = call i32 @fileno(ptr noundef %11745) #12
  %11747 = call i32 @isatty(i32 noundef %11746) #12
  %.not1761 = icmp eq i32 %11747, 0
  br i1 %.not1761, label %11748, label %11749

11748:                                            ; preds = %11744, %11738
  br label %11749

11749:                                            ; preds = %11744, %11748
  %.str.26.sink5951 = phi ptr [ @.str.26, %11748 ], [ @.str.23, %11744 ]
  store i32 %11739, ptr %1317, align 4, !tbaa !5
  %11750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11751 = load i32, ptr @test_count, align 4, !tbaa !5
  %11752 = load i32, ptr %1263, align 4, !tbaa !5
  %11753 = call ptr @s2n_strerror(i32 noundef %11752, ptr noundef nonnull @.str.25) #12
  %11754 = load i32, ptr %1263, align 4, !tbaa !5
  %11755 = call ptr @s2n_strerror_debug(i32 noundef %11754, ptr noundef nonnull @.str.25) #12
  %11756 = load i32, ptr %1317, align 4, !tbaa !5
  %11757 = call ptr @strerror(i32 noundef %11756) #12
  %11758 = load i32, ptr %1317, align 4, !tbaa !5
  %11759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11750, ptr noundef nonnull %.str.26.sink5951, i32 noundef %11751, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.22, i32 noundef 1273, ptr noundef %11753, ptr noundef %11755, ptr noundef %11757, i32 noundef %11758) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11760:                                            ; preds = %11733
  %11761 = load i32, ptr @test_count, align 4, !tbaa !5
  %11762 = add nsw i32 %11761, 1
  store i32 %11762, ptr @test_count, align 4, !tbaa !5
  %11763 = getelementptr inbounds i8, ptr %95, i64 28
  %11764 = load i32, ptr %11763, align 4, !tbaa !51
  %11765 = getelementptr inbounds i8, ptr %95, i64 24
  %11766 = load i32, ptr %11765, align 8, !tbaa !52
  %11767 = icmp eq i32 %11764, %11766
  br i1 %11767, label %11768, label %11790

11768:                                            ; preds = %11760
  %11769 = load i32, ptr %1317, align 4, !tbaa !5
  %11770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11771 = call i32 @s2n_print_stacktrace(ptr noundef %11770) #12
  %11772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11773 = trunc nuw i8 %11772 to i1
  br i1 %11773, label %11774, label %11778

11774:                                            ; preds = %11768
  %11775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11776 = call i32 @fileno(ptr noundef %11775) #12
  %11777 = call i32 @isatty(i32 noundef %11776) #12
  %.not1879 = icmp eq i32 %11777, 0
  br i1 %.not1879, label %11778, label %11779

11778:                                            ; preds = %11774, %11768
  br label %11779

11779:                                            ; preds = %11774, %11778
  %.str.26.sink5960 = phi ptr [ @.str.26, %11778 ], [ @.str.23, %11774 ]
  store i32 %11769, ptr %1317, align 4, !tbaa !5
  %11780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11781 = load i32, ptr @test_count, align 4, !tbaa !5
  %11782 = load i32, ptr %1263, align 4, !tbaa !5
  %11783 = call ptr @s2n_strerror(i32 noundef %11782, ptr noundef nonnull @.str.25) #12
  %11784 = load i32, ptr %1263, align 4, !tbaa !5
  %11785 = call ptr @s2n_strerror_debug(i32 noundef %11784, ptr noundef nonnull @.str.25) #12
  %11786 = load i32, ptr %1317, align 4, !tbaa !5
  %11787 = call ptr @strerror(i32 noundef %11786) #12
  %11788 = load i32, ptr %1317, align 4, !tbaa !5
  %11789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11780, ptr noundef nonnull %.str.26.sink5960, i32 noundef %11781, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.22, i32 noundef 1274, ptr noundef %11783, ptr noundef %11785, ptr noundef %11787, i32 noundef %11788) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11790:                                            ; preds = %11760
  %11791 = add nsw i32 %11761, 2
  store i32 %11791, ptr @test_count, align 4, !tbaa !5
  %11792 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %95) #12
  %11793 = icmp eq i32 %11792, -1
  br i1 %11793, label %11794, label %11816

11794:                                            ; preds = %11790
  %11795 = load i32, ptr %1317, align 4, !tbaa !5
  %11796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11797 = call i32 @s2n_print_stacktrace(ptr noundef %11796) #12
  %11798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11799 = trunc nuw i8 %11798 to i1
  br i1 %11799, label %11800, label %11804

11800:                                            ; preds = %11794
  %11801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11802 = call i32 @fileno(ptr noundef %11801) #12
  %11803 = call i32 @isatty(i32 noundef %11802) #12
  %.not1878 = icmp eq i32 %11803, 0
  br i1 %.not1878, label %11804, label %11805

11804:                                            ; preds = %11800, %11794
  br label %11805

11805:                                            ; preds = %11800, %11804
  %.str.26.sink5969 = phi ptr [ @.str.26, %11804 ], [ @.str.23, %11800 ]
  store i32 %11795, ptr %1317, align 4, !tbaa !5
  %11806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11807 = load i32, ptr @test_count, align 4, !tbaa !5
  %11808 = load i32, ptr %1263, align 4, !tbaa !5
  %11809 = call ptr @s2n_strerror(i32 noundef %11808, ptr noundef nonnull @.str.25) #12
  %11810 = load i32, ptr %1263, align 4, !tbaa !5
  %11811 = call ptr @s2n_strerror_debug(i32 noundef %11810, ptr noundef nonnull @.str.25) #12
  %11812 = load i32, ptr %1317, align 4, !tbaa !5
  %11813 = call ptr @strerror(i32 noundef %11812) #12
  %11814 = load i32, ptr %1317, align 4, !tbaa !5
  %11815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11806, ptr noundef nonnull %.str.26.sink5969, i32 noundef %11807, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.22, i32 noundef 1275, ptr noundef %11809, ptr noundef %11811, ptr noundef %11813, i32 noundef %11814) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11816:                                            ; preds = %11790
  %11817 = load i32, ptr @test_count, align 4, !tbaa !5
  %11818 = add nsw i32 %11817, 1
  store i32 %11818, ptr @test_count, align 4, !tbaa !5
  %11819 = call i32 @s2n_connection_add_new_tickets_to_send(ptr noundef nonnull %11597, i8 noundef zeroext 1) #12
  %11820 = icmp eq i32 %11819, -1
  br i1 %11820, label %11821, label %11843

11821:                                            ; preds = %11816
  %11822 = load i32, ptr %1317, align 4, !tbaa !5
  %11823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11824 = call i32 @s2n_print_stacktrace(ptr noundef %11823) #12
  %11825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11826 = trunc nuw i8 %11825 to i1
  br i1 %11826, label %11827, label %11831

11827:                                            ; preds = %11821
  %11828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11829 = call i32 @fileno(ptr noundef %11828) #12
  %11830 = call i32 @isatty(i32 noundef %11829) #12
  %.not1877 = icmp eq i32 %11830, 0
  br i1 %.not1877, label %11831, label %11832

11831:                                            ; preds = %11827, %11821
  br label %11832

11832:                                            ; preds = %11827, %11831
  %.str.26.sink5978 = phi ptr [ @.str.26, %11831 ], [ @.str.23, %11827 ]
  store i32 %11822, ptr %1317, align 4, !tbaa !5
  %11833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11834 = load i32, ptr @test_count, align 4, !tbaa !5
  %11835 = load i32, ptr %1263, align 4, !tbaa !5
  %11836 = call ptr @s2n_strerror(i32 noundef %11835, ptr noundef nonnull @.str.25) #12
  %11837 = load i32, ptr %1263, align 4, !tbaa !5
  %11838 = call ptr @s2n_strerror_debug(i32 noundef %11837, ptr noundef nonnull @.str.25) #12
  %11839 = load i32, ptr %1317, align 4, !tbaa !5
  %11840 = call ptr @strerror(i32 noundef %11839) #12
  %11841 = load i32, ptr %1317, align 4, !tbaa !5
  %11842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11833, ptr noundef nonnull %.str.26.sink5978, i32 noundef %11834, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.22, i32 noundef 1278, ptr noundef %11836, ptr noundef %11838, ptr noundef %11840, i32 noundef %11841) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11843:                                            ; preds = %11816
  %11844 = load i32, ptr @test_count, align 4, !tbaa !5
  %11845 = add nsw i32 %11844, 1
  store i32 %11845, ptr @test_count, align 4, !tbaa !5
  %11846 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %11597, ptr noundef nonnull %96)
  %11847 = call zeroext i1 @s2n_result_is_ok(i32 %11846)
  br i1 %11847, label %11870, label %11848

11848:                                            ; preds = %11843
  %11849 = load i32, ptr %1317, align 4, !tbaa !5
  %11850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11851 = call i32 @s2n_print_stacktrace(ptr noundef %11850) #12
  %11852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11853 = trunc nuw i8 %11852 to i1
  br i1 %11853, label %11854, label %11858

11854:                                            ; preds = %11848
  %11855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11856 = call i32 @fileno(ptr noundef %11855) #12
  %11857 = call i32 @isatty(i32 noundef %11856) #12
  %.not1762 = icmp eq i32 %11857, 0
  br i1 %.not1762, label %11858, label %11859

11858:                                            ; preds = %11854, %11848
  br label %11859

11859:                                            ; preds = %11854, %11858
  %.str.26.sink5987 = phi ptr [ @.str.26, %11858 ], [ @.str.23, %11854 ]
  store i32 %11849, ptr %1317, align 4, !tbaa !5
  %11860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11861 = load i32, ptr @test_count, align 4, !tbaa !5
  %11862 = load i32, ptr %1263, align 4, !tbaa !5
  %11863 = call ptr @s2n_strerror(i32 noundef %11862, ptr noundef nonnull @.str.25) #12
  %11864 = load i32, ptr %1263, align 4, !tbaa !5
  %11865 = call ptr @s2n_strerror_debug(i32 noundef %11864, ptr noundef nonnull @.str.25) #12
  %11866 = load i32, ptr %1317, align 4, !tbaa !5
  %11867 = call ptr @strerror(i32 noundef %11866) #12
  %11868 = load i32, ptr %1317, align 4, !tbaa !5
  %11869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11860, ptr noundef nonnull %.str.26.sink5987, i32 noundef %11861, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1279, ptr noundef %11863, ptr noundef %11865, ptr noundef %11867, i32 noundef %11868) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11870:                                            ; preds = %11843
  %11871 = load i32, ptr @test_count, align 4, !tbaa !5
  %11872 = add nsw i32 %11871, 1
  store i32 %11872, ptr @test_count, align 4, !tbaa !5
  %11873 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %11597, i16 noundef zeroext 2)
  %11874 = call zeroext i1 @s2n_result_is_ok(i32 %11873)
  br i1 %11874, label %11897, label %11875

11875:                                            ; preds = %11870
  %11876 = load i32, ptr %1317, align 4, !tbaa !5
  %11877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11878 = call i32 @s2n_print_stacktrace(ptr noundef %11877) #12
  %11879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11880 = trunc nuw i8 %11879 to i1
  br i1 %11880, label %11881, label %11885

11881:                                            ; preds = %11875
  %11882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11883 = call i32 @fileno(ptr noundef %11882) #12
  %11884 = call i32 @isatty(i32 noundef %11883) #12
  %.not1763 = icmp eq i32 %11884, 0
  br i1 %.not1763, label %11885, label %11886

11885:                                            ; preds = %11881, %11875
  br label %11886

11886:                                            ; preds = %11881, %11885
  %.str.26.sink5996 = phi ptr [ @.str.26, %11885 ], [ @.str.23, %11881 ]
  store i32 %11876, ptr %1317, align 4, !tbaa !5
  %11887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11888 = load i32, ptr @test_count, align 4, !tbaa !5
  %11889 = load i32, ptr %1263, align 4, !tbaa !5
  %11890 = call ptr @s2n_strerror(i32 noundef %11889, ptr noundef nonnull @.str.25) #12
  %11891 = load i32, ptr %1263, align 4, !tbaa !5
  %11892 = call ptr @s2n_strerror_debug(i32 noundef %11891, ptr noundef nonnull @.str.25) #12
  %11893 = load i32, ptr %1317, align 4, !tbaa !5
  %11894 = call ptr @strerror(i32 noundef %11893) #12
  %11895 = load i32, ptr %1317, align 4, !tbaa !5
  %11896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11887, ptr noundef nonnull %.str.26.sink5996, i32 noundef %11888, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.22, i32 noundef 1280, ptr noundef %11890, ptr noundef %11892, ptr noundef %11894, i32 noundef %11895) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11897:                                            ; preds = %11870
  %11898 = load i32, ptr @test_count, align 4, !tbaa !5
  %11899 = add nsw i32 %11898, 1
  store i32 %11899, ptr @test_count, align 4, !tbaa !5
  %11900 = load i32, ptr %11763, align 4, !tbaa !51
  %11901 = load i32, ptr %11765, align 8, !tbaa !52
  %11902 = icmp eq i32 %11900, %11901
  br i1 %11902, label %11903, label %11925

11903:                                            ; preds = %11897
  %11904 = load i32, ptr %1317, align 4, !tbaa !5
  %11905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11906 = call i32 @s2n_print_stacktrace(ptr noundef %11905) #12
  %11907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11908 = trunc nuw i8 %11907 to i1
  br i1 %11908, label %11909, label %11913

11909:                                            ; preds = %11903
  %11910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11911 = call i32 @fileno(ptr noundef %11910) #12
  %11912 = call i32 @isatty(i32 noundef %11911) #12
  %.not1876 = icmp eq i32 %11912, 0
  br i1 %.not1876, label %11913, label %11914

11913:                                            ; preds = %11909, %11903
  br label %11914

11914:                                            ; preds = %11909, %11913
  %.str.26.sink6005 = phi ptr [ @.str.26, %11913 ], [ @.str.23, %11909 ]
  store i32 %11904, ptr %1317, align 4, !tbaa !5
  %11915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11916 = load i32, ptr @test_count, align 4, !tbaa !5
  %11917 = load i32, ptr %1263, align 4, !tbaa !5
  %11918 = call ptr @s2n_strerror(i32 noundef %11917, ptr noundef nonnull @.str.25) #12
  %11919 = load i32, ptr %1263, align 4, !tbaa !5
  %11920 = call ptr @s2n_strerror_debug(i32 noundef %11919, ptr noundef nonnull @.str.25) #12
  %11921 = load i32, ptr %1317, align 4, !tbaa !5
  %11922 = call ptr @strerror(i32 noundef %11921) #12
  %11923 = load i32, ptr %1317, align 4, !tbaa !5
  %11924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11915, ptr noundef nonnull %.str.26.sink6005, i32 noundef %11916, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.22, i32 noundef 1281, ptr noundef %11918, ptr noundef %11920, ptr noundef %11922, i32 noundef %11923) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11925:                                            ; preds = %11897
  %11926 = add nsw i32 %11898, 2
  store i32 %11926, ptr @test_count, align 4, !tbaa !5
  %11927 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %95) #12
  %11928 = icmp eq i32 %11927, -1
  br i1 %11928, label %11929, label %11951

11929:                                            ; preds = %11925
  %11930 = load i32, ptr %1317, align 4, !tbaa !5
  %11931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11932 = call i32 @s2n_print_stacktrace(ptr noundef %11931) #12
  %11933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11934 = trunc nuw i8 %11933 to i1
  br i1 %11934, label %11935, label %11939

11935:                                            ; preds = %11929
  %11936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11937 = call i32 @fileno(ptr noundef %11936) #12
  %11938 = call i32 @isatty(i32 noundef %11937) #12
  %.not1875 = icmp eq i32 %11938, 0
  br i1 %.not1875, label %11939, label %11940

11939:                                            ; preds = %11935, %11929
  br label %11940

11940:                                            ; preds = %11935, %11939
  %.str.26.sink6014 = phi ptr [ @.str.26, %11939 ], [ @.str.23, %11935 ]
  store i32 %11930, ptr %1317, align 4, !tbaa !5
  %11941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11942 = load i32, ptr @test_count, align 4, !tbaa !5
  %11943 = load i32, ptr %1263, align 4, !tbaa !5
  %11944 = call ptr @s2n_strerror(i32 noundef %11943, ptr noundef nonnull @.str.25) #12
  %11945 = load i32, ptr %1263, align 4, !tbaa !5
  %11946 = call ptr @s2n_strerror_debug(i32 noundef %11945, ptr noundef nonnull @.str.25) #12
  %11947 = load i32, ptr %1317, align 4, !tbaa !5
  %11948 = call ptr @strerror(i32 noundef %11947) #12
  %11949 = load i32, ptr %1317, align 4, !tbaa !5
  %11950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11941, ptr noundef nonnull %.str.26.sink6014, i32 noundef %11942, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.22, i32 noundef 1282, ptr noundef %11944, ptr noundef %11946, ptr noundef %11948, i32 noundef %11949) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11951:                                            ; preds = %11925
  %11952 = load i32, ptr @test_count, align 4, !tbaa !5
  %11953 = add nsw i32 %11952, 1
  store i32 %11953, ptr @test_count, align 4, !tbaa !5
  %11954 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %11484, i8 noundef zeroext 0) #12
  %11955 = icmp eq i32 %11954, -1
  br i1 %11955, label %11956, label %11978

11956:                                            ; preds = %11951
  %11957 = load i32, ptr %1317, align 4, !tbaa !5
  %11958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11959 = call i32 @s2n_print_stacktrace(ptr noundef %11958) #12
  %11960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11961 = trunc nuw i8 %11960 to i1
  br i1 %11961, label %11962, label %11966

11962:                                            ; preds = %11956
  %11963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11964 = call i32 @fileno(ptr noundef %11963) #12
  %11965 = call i32 @isatty(i32 noundef %11964) #12
  %.not1874 = icmp eq i32 %11965, 0
  br i1 %.not1874, label %11966, label %11967

11966:                                            ; preds = %11962, %11956
  br label %11967

11967:                                            ; preds = %11962, %11966
  %.str.26.sink6023 = phi ptr [ @.str.26, %11966 ], [ @.str.23, %11962 ]
  store i32 %11957, ptr %1317, align 4, !tbaa !5
  %11968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11969 = load i32, ptr @test_count, align 4, !tbaa !5
  %11970 = load i32, ptr %1263, align 4, !tbaa !5
  %11971 = call ptr @s2n_strerror(i32 noundef %11970, ptr noundef nonnull @.str.25) #12
  %11972 = load i32, ptr %1263, align 4, !tbaa !5
  %11973 = call ptr @s2n_strerror_debug(i32 noundef %11972, ptr noundef nonnull @.str.25) #12
  %11974 = load i32, ptr %1317, align 4, !tbaa !5
  %11975 = call ptr @strerror(i32 noundef %11974) #12
  %11976 = load i32, ptr %1317, align 4, !tbaa !5
  %11977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11968, ptr noundef nonnull %.str.26.sink6023, i32 noundef %11969, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.22, i32 noundef 1285, ptr noundef %11971, ptr noundef %11973, ptr noundef %11975, i32 noundef %11976) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11978:                                            ; preds = %11951
  %11979 = load i32, ptr @test_count, align 4, !tbaa !5
  %11980 = add nsw i32 %11979, 1
  store i32 %11980, ptr @test_count, align 4, !tbaa !5
  %11981 = call i32 @s2n_connection_add_new_tickets_to_send(ptr noundef nonnull %11597, i8 noundef zeroext 1) #12
  %11982 = icmp eq i32 %11981, -1
  br i1 %11982, label %11983, label %12005

11983:                                            ; preds = %11978
  %11984 = load i32, ptr %1317, align 4, !tbaa !5
  %11985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11986 = call i32 @s2n_print_stacktrace(ptr noundef %11985) #12
  %11987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11988 = trunc nuw i8 %11987 to i1
  br i1 %11988, label %11989, label %11993

11989:                                            ; preds = %11983
  %11990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11991 = call i32 @fileno(ptr noundef %11990) #12
  %11992 = call i32 @isatty(i32 noundef %11991) #12
  %.not1873 = icmp eq i32 %11992, 0
  br i1 %.not1873, label %11993, label %11994

11993:                                            ; preds = %11989, %11983
  br label %11994

11994:                                            ; preds = %11989, %11993
  %.str.26.sink6032 = phi ptr [ @.str.26, %11993 ], [ @.str.23, %11989 ]
  store i32 %11984, ptr %1317, align 4, !tbaa !5
  %11995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11996 = load i32, ptr @test_count, align 4, !tbaa !5
  %11997 = load i32, ptr %1263, align 4, !tbaa !5
  %11998 = call ptr @s2n_strerror(i32 noundef %11997, ptr noundef nonnull @.str.25) #12
  %11999 = load i32, ptr %1263, align 4, !tbaa !5
  %12000 = call ptr @s2n_strerror_debug(i32 noundef %11999, ptr noundef nonnull @.str.25) #12
  %12001 = load i32, ptr %1317, align 4, !tbaa !5
  %12002 = call ptr @strerror(i32 noundef %12001) #12
  %12003 = load i32, ptr %1317, align 4, !tbaa !5
  %12004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11995, ptr noundef nonnull %.str.26.sink6032, i32 noundef %11996, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.22, i32 noundef 1288, ptr noundef %11998, ptr noundef %12000, ptr noundef %12002, i32 noundef %12003) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12005:                                            ; preds = %11978
  %12006 = load i32, ptr @test_count, align 4, !tbaa !5
  %12007 = add nsw i32 %12006, 1
  store i32 %12007, ptr @test_count, align 4, !tbaa !5
  %12008 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %11597, ptr noundef nonnull %96)
  %12009 = call zeroext i1 @s2n_result_is_ok(i32 %12008)
  br i1 %12009, label %12032, label %12010

12010:                                            ; preds = %12005
  %12011 = load i32, ptr %1317, align 4, !tbaa !5
  %12012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12013 = call i32 @s2n_print_stacktrace(ptr noundef %12012) #12
  %12014 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12015 = trunc nuw i8 %12014 to i1
  br i1 %12015, label %12016, label %12020

12016:                                            ; preds = %12010
  %12017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12018 = call i32 @fileno(ptr noundef %12017) #12
  %12019 = call i32 @isatty(i32 noundef %12018) #12
  %.not1764 = icmp eq i32 %12019, 0
  br i1 %.not1764, label %12020, label %12021

12020:                                            ; preds = %12016, %12010
  br label %12021

12021:                                            ; preds = %12016, %12020
  %.str.26.sink6041 = phi ptr [ @.str.26, %12020 ], [ @.str.23, %12016 ]
  store i32 %12011, ptr %1317, align 4, !tbaa !5
  %12022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12023 = load i32, ptr @test_count, align 4, !tbaa !5
  %12024 = load i32, ptr %1263, align 4, !tbaa !5
  %12025 = call ptr @s2n_strerror(i32 noundef %12024, ptr noundef nonnull @.str.25) #12
  %12026 = load i32, ptr %1263, align 4, !tbaa !5
  %12027 = call ptr @s2n_strerror_debug(i32 noundef %12026, ptr noundef nonnull @.str.25) #12
  %12028 = load i32, ptr %1317, align 4, !tbaa !5
  %12029 = call ptr @strerror(i32 noundef %12028) #12
  %12030 = load i32, ptr %1317, align 4, !tbaa !5
  %12031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12022, ptr noundef nonnull %.str.26.sink6041, i32 noundef %12023, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1289, ptr noundef %12025, ptr noundef %12027, ptr noundef %12029, i32 noundef %12030) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12032:                                            ; preds = %12005
  %12033 = load i32, ptr @test_count, align 4, !tbaa !5
  %12034 = add nsw i32 %12033, 1
  store i32 %12034, ptr @test_count, align 4, !tbaa !5
  %12035 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %11597, i16 noundef zeroext 2)
  %12036 = call zeroext i1 @s2n_result_is_ok(i32 %12035)
  br i1 %12036, label %12059, label %12037

12037:                                            ; preds = %12032
  %12038 = load i32, ptr %1317, align 4, !tbaa !5
  %12039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12040 = call i32 @s2n_print_stacktrace(ptr noundef %12039) #12
  %12041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12042 = trunc nuw i8 %12041 to i1
  br i1 %12042, label %12043, label %12047

12043:                                            ; preds = %12037
  %12044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12045 = call i32 @fileno(ptr noundef %12044) #12
  %12046 = call i32 @isatty(i32 noundef %12045) #12
  %.not1765 = icmp eq i32 %12046, 0
  br i1 %.not1765, label %12047, label %12048

12047:                                            ; preds = %12043, %12037
  br label %12048

12048:                                            ; preds = %12043, %12047
  %.str.26.sink6050 = phi ptr [ @.str.26, %12047 ], [ @.str.23, %12043 ]
  store i32 %12038, ptr %1317, align 4, !tbaa !5
  %12049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12050 = load i32, ptr @test_count, align 4, !tbaa !5
  %12051 = load i32, ptr %1263, align 4, !tbaa !5
  %12052 = call ptr @s2n_strerror(i32 noundef %12051, ptr noundef nonnull @.str.25) #12
  %12053 = load i32, ptr %1263, align 4, !tbaa !5
  %12054 = call ptr @s2n_strerror_debug(i32 noundef %12053, ptr noundef nonnull @.str.25) #12
  %12055 = load i32, ptr %1317, align 4, !tbaa !5
  %12056 = call ptr @strerror(i32 noundef %12055) #12
  %12057 = load i32, ptr %1317, align 4, !tbaa !5
  %12058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12049, ptr noundef nonnull %.str.26.sink6050, i32 noundef %12050, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.22, i32 noundef 1290, ptr noundef %12052, ptr noundef %12054, ptr noundef %12056, i32 noundef %12057) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12059:                                            ; preds = %12032
  %12060 = load i32, ptr @test_count, align 4, !tbaa !5
  %12061 = add nsw i32 %12060, 1
  store i32 %12061, ptr @test_count, align 4, !tbaa !5
  %12062 = load i32, ptr %11763, align 4, !tbaa !51
  %12063 = load i32, ptr %11765, align 8, !tbaa !52
  %12064 = icmp eq i32 %12062, %12063
  br i1 %12064, label %12087, label %12065

12065:                                            ; preds = %12059
  %12066 = load i32, ptr %1317, align 4, !tbaa !5
  %12067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12068 = call i32 @s2n_print_stacktrace(ptr noundef %12067) #12
  %12069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12070 = trunc nuw i8 %12069 to i1
  br i1 %12070, label %12071, label %12075

12071:                                            ; preds = %12065
  %12072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12073 = call i32 @fileno(ptr noundef %12072) #12
  %12074 = call i32 @isatty(i32 noundef %12073) #12
  %.not1766 = icmp eq i32 %12074, 0
  br i1 %.not1766, label %12075, label %12076

12075:                                            ; preds = %12071, %12065
  br label %12076

12076:                                            ; preds = %12071, %12075
  %.str.26.sink6059 = phi ptr [ @.str.26, %12075 ], [ @.str.23, %12071 ]
  store i32 %12066, ptr %1317, align 4, !tbaa !5
  %12077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12078 = load i32, ptr @test_count, align 4, !tbaa !5
  %12079 = load i32, ptr %1263, align 4, !tbaa !5
  %12080 = call ptr @s2n_strerror(i32 noundef %12079, ptr noundef nonnull @.str.25) #12
  %12081 = load i32, ptr %1263, align 4, !tbaa !5
  %12082 = call ptr @s2n_strerror_debug(i32 noundef %12081, ptr noundef nonnull @.str.25) #12
  %12083 = load i32, ptr %1317, align 4, !tbaa !5
  %12084 = call ptr @strerror(i32 noundef %12083) #12
  %12085 = load i32, ptr %1317, align 4, !tbaa !5
  %12086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12077, ptr noundef nonnull %.str.26.sink6059, i32 noundef %12078, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.22, i32 noundef 1291, ptr noundef %12080, ptr noundef %12082, ptr noundef %12084, i32 noundef %12085) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12087:                                            ; preds = %12059
  %12088 = add nsw i32 %12060, 2
  store i32 %12088, ptr @test_count, align 4, !tbaa !5
  %12089 = call i32 @s2n_stuffer_free(ptr noundef nonnull %95) #12
  %12090 = icmp eq i32 %12089, -1
  br i1 %12090, label %12091, label %12113

12091:                                            ; preds = %12087
  %12092 = load i32, ptr %1317, align 4, !tbaa !5
  %12093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12094 = call i32 @s2n_print_stacktrace(ptr noundef %12093) #12
  %12095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12096 = trunc nuw i8 %12095 to i1
  br i1 %12096, label %12097, label %12101

12097:                                            ; preds = %12091
  %12098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12099 = call i32 @fileno(ptr noundef %12098) #12
  %12100 = call i32 @isatty(i32 noundef %12099) #12
  %.not1872 = icmp eq i32 %12100, 0
  br i1 %.not1872, label %12101, label %12102

12101:                                            ; preds = %12097, %12091
  br label %12102

12102:                                            ; preds = %12097, %12101
  %.str.26.sink6068 = phi ptr [ @.str.26, %12101 ], [ @.str.23, %12097 ]
  store i32 %12092, ptr %1317, align 4, !tbaa !5
  %12103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12104 = load i32, ptr @test_count, align 4, !tbaa !5
  %12105 = load i32, ptr %1263, align 4, !tbaa !5
  %12106 = call ptr @s2n_strerror(i32 noundef %12105, ptr noundef nonnull @.str.25) #12
  %12107 = load i32, ptr %1263, align 4, !tbaa !5
  %12108 = call ptr @s2n_strerror_debug(i32 noundef %12107, ptr noundef nonnull @.str.25) #12
  %12109 = load i32, ptr %1317, align 4, !tbaa !5
  %12110 = call ptr @strerror(i32 noundef %12109) #12
  %12111 = load i32, ptr %1317, align 4, !tbaa !5
  %12112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12103, ptr noundef nonnull %.str.26.sink6068, i32 noundef %12104, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.22, i32 noundef 1293, ptr noundef %12106, ptr noundef %12108, ptr noundef %12110, i32 noundef %12111) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12113:                                            ; preds = %12087
  %12114 = load i32, ptr @test_count, align 4, !tbaa !5
  %12115 = add nsw i32 %12114, 1
  store i32 %12115, ptr @test_count, align 4, !tbaa !5
  %12116 = call i32 @s2n_connection_free(ptr noundef nonnull %11597) #12
  %12117 = icmp eq i32 %12116, -1
  br i1 %12117, label %12118, label %12140

12118:                                            ; preds = %12113
  %12119 = load i32, ptr %1317, align 4, !tbaa !5
  %12120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12121 = call i32 @s2n_print_stacktrace(ptr noundef %12120) #12
  %12122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12123 = trunc nuw i8 %12122 to i1
  br i1 %12123, label %12124, label %12128

12124:                                            ; preds = %12118
  %12125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12126 = call i32 @fileno(ptr noundef %12125) #12
  %12127 = call i32 @isatty(i32 noundef %12126) #12
  %.not1871 = icmp eq i32 %12127, 0
  br i1 %.not1871, label %12128, label %12129

12128:                                            ; preds = %12124, %12118
  br label %12129

12129:                                            ; preds = %12124, %12128
  %.str.26.sink6077 = phi ptr [ @.str.26, %12128 ], [ @.str.23, %12124 ]
  store i32 %12119, ptr %1317, align 4, !tbaa !5
  %12130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12131 = load i32, ptr @test_count, align 4, !tbaa !5
  %12132 = load i32, ptr %1263, align 4, !tbaa !5
  %12133 = call ptr @s2n_strerror(i32 noundef %12132, ptr noundef nonnull @.str.25) #12
  %12134 = load i32, ptr %1263, align 4, !tbaa !5
  %12135 = call ptr @s2n_strerror_debug(i32 noundef %12134, ptr noundef nonnull @.str.25) #12
  %12136 = load i32, ptr %1317, align 4, !tbaa !5
  %12137 = call ptr @strerror(i32 noundef %12136) #12
  %12138 = load i32, ptr %1317, align 4, !tbaa !5
  %12139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12130, ptr noundef nonnull %.str.26.sink6077, i32 noundef %12131, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 1294, ptr noundef %12133, ptr noundef %12135, ptr noundef %12137, i32 noundef %12138) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12140:                                            ; preds = %12113
  %12141 = load i32, ptr @test_count, align 4, !tbaa !5
  %12142 = add nsw i32 %12141, 1
  store i32 %12142, ptr @test_count, align 4, !tbaa !5
  %12143 = call i32 @s2n_config_free(ptr noundef nonnull %11484) #12
  %12144 = icmp eq i32 %12143, -1
  br i1 %12144, label %12145, label %12167

12145:                                            ; preds = %12140
  %12146 = load i32, ptr %1317, align 4, !tbaa !5
  %12147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12148 = call i32 @s2n_print_stacktrace(ptr noundef %12147) #12
  %12149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12150 = trunc nuw i8 %12149 to i1
  br i1 %12150, label %12151, label %12155

12151:                                            ; preds = %12145
  %12152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12153 = call i32 @fileno(ptr noundef %12152) #12
  %12154 = call i32 @isatty(i32 noundef %12153) #12
  %.not1870 = icmp eq i32 %12154, 0
  br i1 %.not1870, label %12155, label %12156

12155:                                            ; preds = %12151, %12145
  br label %12156

12156:                                            ; preds = %12151, %12155
  %.str.26.sink6086 = phi ptr [ @.str.26, %12155 ], [ @.str.23, %12151 ]
  store i32 %12146, ptr %1317, align 4, !tbaa !5
  %12157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12158 = load i32, ptr @test_count, align 4, !tbaa !5
  %12159 = load i32, ptr %1263, align 4, !tbaa !5
  %12160 = call ptr @s2n_strerror(i32 noundef %12159, ptr noundef nonnull @.str.25) #12
  %12161 = load i32, ptr %1263, align 4, !tbaa !5
  %12162 = call ptr @s2n_strerror_debug(i32 noundef %12161, ptr noundef nonnull @.str.25) #12
  %12163 = load i32, ptr %1317, align 4, !tbaa !5
  %12164 = call ptr @strerror(i32 noundef %12163) #12
  %12165 = load i32, ptr %1317, align 4, !tbaa !5
  %12166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12157, ptr noundef nonnull %.str.26.sink6086, i32 noundef %12158, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 1295, ptr noundef %12160, ptr noundef %12162, ptr noundef %12164, i32 noundef %12165) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12167:                                            ; preds = %12140
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %96) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %95) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %94) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %93) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %97) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %97, ptr noundef nonnull align 16 dereferenceable(16) @__const.main.test_data.198, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #12
  store i64 0, ptr %98, align 8, !tbaa !15
  %12168 = call ptr @s2n_config_new() #12
  %12169 = load i32, ptr @test_count, align 4, !tbaa !5
  %12170 = add nsw i32 %12169, 1
  store i32 %12170, ptr @test_count, align 4, !tbaa !5
  %12171 = icmp eq ptr %12168, null
  br i1 %12171, label %12172, label %12194

12172:                                            ; preds = %12167
  %12173 = load i32, ptr %1317, align 4, !tbaa !5
  %12174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12175 = call i32 @s2n_print_stacktrace(ptr noundef %12174) #12
  %12176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12177 = trunc nuw i8 %12176 to i1
  br i1 %12177, label %12178, label %12182

12178:                                            ; preds = %12172
  %12179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12180 = call i32 @fileno(ptr noundef %12179) #12
  %12181 = call i32 @isatty(i32 noundef %12180) #12
  %.not1869 = icmp eq i32 %12181, 0
  br i1 %.not1869, label %12182, label %12183

12182:                                            ; preds = %12178, %12172
  br label %12183

12183:                                            ; preds = %12178, %12182
  %.str.26.sink6095 = phi ptr [ @.str.26, %12182 ], [ @.str.23, %12178 ]
  store i32 %12173, ptr %1317, align 4, !tbaa !5
  %12184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12185 = load i32, ptr @test_count, align 4, !tbaa !5
  %12186 = load i32, ptr %1263, align 4, !tbaa !5
  %12187 = call ptr @s2n_strerror(i32 noundef %12186, ptr noundef nonnull @.str.25) #12
  %12188 = load i32, ptr %1263, align 4, !tbaa !5
  %12189 = call ptr @s2n_strerror_debug(i32 noundef %12188, ptr noundef nonnull @.str.25) #12
  %12190 = load i32, ptr %1317, align 4, !tbaa !5
  %12191 = call ptr @strerror(i32 noundef %12190) #12
  %12192 = load i32, ptr %1317, align 4, !tbaa !5
  %12193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12184, ptr noundef nonnull %.str.26.sink6095, i32 noundef %12185, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 1304, ptr noundef %12187, ptr noundef %12189, ptr noundef %12191, i32 noundef %12192) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12194:                                            ; preds = %12167
  %12195 = add nsw i32 %12169, 2
  store i32 %12195, ptr @test_count, align 4, !tbaa !5
  %12196 = call i32 @s2n_config_set_initial_ticket_count(ptr noundef nonnull %12168, i8 noundef zeroext 1) #12
  %12197 = icmp eq i32 %12196, -1
  br i1 %12197, label %12198, label %12220

12198:                                            ; preds = %12194
  %12199 = load i32, ptr %1317, align 4, !tbaa !5
  %12200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12201 = call i32 @s2n_print_stacktrace(ptr noundef %12200) #12
  %12202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12203 = trunc nuw i8 %12202 to i1
  br i1 %12203, label %12204, label %12208

12204:                                            ; preds = %12198
  %12205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12206 = call i32 @fileno(ptr noundef %12205) #12
  %12207 = call i32 @isatty(i32 noundef %12206) #12
  %.not1868 = icmp eq i32 %12207, 0
  br i1 %.not1868, label %12208, label %12209

12208:                                            ; preds = %12204, %12198
  br label %12209

12209:                                            ; preds = %12204, %12208
  %.str.26.sink6104 = phi ptr [ @.str.26, %12208 ], [ @.str.23, %12204 ]
  store i32 %12199, ptr %1317, align 4, !tbaa !5
  %12210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12211 = load i32, ptr @test_count, align 4, !tbaa !5
  %12212 = load i32, ptr %1263, align 4, !tbaa !5
  %12213 = call ptr @s2n_strerror(i32 noundef %12212, ptr noundef nonnull @.str.25) #12
  %12214 = load i32, ptr %1263, align 4, !tbaa !5
  %12215 = call ptr @s2n_strerror_debug(i32 noundef %12214, ptr noundef nonnull @.str.25) #12
  %12216 = load i32, ptr %1317, align 4, !tbaa !5
  %12217 = call ptr @strerror(i32 noundef %12216) #12
  %12218 = load i32, ptr %1317, align 4, !tbaa !5
  %12219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12210, ptr noundef nonnull %.str.26.sink6104, i32 noundef %12211, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.22, i32 noundef 1305, ptr noundef %12213, ptr noundef %12215, ptr noundef %12217, i32 noundef %12218) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12220:                                            ; preds = %12194
  %12221 = load i32, ptr @test_count, align 4, !tbaa !5
  %12222 = add nsw i32 %12221, 1
  store i32 %12222, ptr @test_count, align 4, !tbaa !5
  %12223 = getelementptr inbounds i8, ptr %12168, i64 80
  %12224 = load ptr, ptr %12223, align 8, !tbaa !83
  %12225 = getelementptr inbounds i8, ptr %12168, i64 104
  %12226 = load ptr, ptr %12225, align 8, !tbaa !84
  %12227 = call i32 %12224(ptr noundef %12226, ptr noundef nonnull %98) #12
  %12228 = icmp eq i32 %12227, -1
  br i1 %12228, label %12229, label %12251

12229:                                            ; preds = %12220
  %12230 = load i32, ptr %1317, align 4, !tbaa !5
  %12231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12232 = call i32 @s2n_print_stacktrace(ptr noundef %12231) #12
  %12233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12234 = trunc nuw i8 %12233 to i1
  br i1 %12234, label %12235, label %12239

12235:                                            ; preds = %12229
  %12236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12237 = call i32 @fileno(ptr noundef %12236) #12
  %12238 = call i32 @isatty(i32 noundef %12237) #12
  %.not1867 = icmp eq i32 %12238, 0
  br i1 %.not1867, label %12239, label %12240

12239:                                            ; preds = %12235, %12229
  br label %12240

12240:                                            ; preds = %12235, %12239
  %.str.26.sink6113 = phi ptr [ @.str.26, %12239 ], [ @.str.23, %12235 ]
  store i32 %12230, ptr %1317, align 4, !tbaa !5
  %12241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12242 = load i32, ptr @test_count, align 4, !tbaa !5
  %12243 = load i32, ptr %1263, align 4, !tbaa !5
  %12244 = call ptr @s2n_strerror(i32 noundef %12243, ptr noundef nonnull @.str.25) #12
  %12245 = load i32, ptr %1263, align 4, !tbaa !5
  %12246 = call ptr @s2n_strerror_debug(i32 noundef %12245, ptr noundef nonnull @.str.25) #12
  %12247 = load i32, ptr %1317, align 4, !tbaa !5
  %12248 = call ptr @strerror(i32 noundef %12247) #12
  %12249 = load i32, ptr %1317, align 4, !tbaa !5
  %12250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12241, ptr noundef nonnull %.str.26.sink6113, i32 noundef %12242, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.22, i32 noundef 1306, ptr noundef %12244, ptr noundef %12246, ptr noundef %12248, i32 noundef %12249) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12251:                                            ; preds = %12220
  %12252 = load i32, ptr @test_count, align 4, !tbaa !5
  %12253 = add nsw i32 %12252, 1
  store i32 %12253, ptr @test_count, align 4, !tbaa !5
  %12254 = load i64, ptr %98, align 8, !tbaa !15
  %12255 = udiv i64 %12254, 1000000000
  %12256 = call i32 @s2n_config_add_ticket_crypto_key(ptr noundef nonnull %12168, ptr noundef nonnull %97, i32 noundef 16, ptr noundef nonnull %97, i32 noundef 16, i64 noundef %12255) #12
  %12257 = icmp eq i32 %12256, -1
  br i1 %12257, label %12258, label %12280

12258:                                            ; preds = %12251
  %12259 = load i32, ptr %1317, align 4, !tbaa !5
  %12260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12261 = call i32 @s2n_print_stacktrace(ptr noundef %12260) #12
  %12262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12263 = trunc nuw i8 %12262 to i1
  br i1 %12263, label %12264, label %12268

12264:                                            ; preds = %12258
  %12265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12266 = call i32 @fileno(ptr noundef %12265) #12
  %12267 = call i32 @isatty(i32 noundef %12266) #12
  %.not1866 = icmp eq i32 %12267, 0
  br i1 %.not1866, label %12268, label %12269

12268:                                            ; preds = %12264, %12258
  br label %12269

12269:                                            ; preds = %12264, %12268
  %.str.26.sink6122 = phi ptr [ @.str.26, %12268 ], [ @.str.23, %12264 ]
  store i32 %12259, ptr %1317, align 4, !tbaa !5
  %12270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12271 = load i32, ptr @test_count, align 4, !tbaa !5
  %12272 = load i32, ptr %1263, align 4, !tbaa !5
  %12273 = call ptr @s2n_strerror(i32 noundef %12272, ptr noundef nonnull @.str.25) #12
  %12274 = load i32, ptr %1263, align 4, !tbaa !5
  %12275 = call ptr @s2n_strerror_debug(i32 noundef %12274, ptr noundef nonnull @.str.25) #12
  %12276 = load i32, ptr %1317, align 4, !tbaa !5
  %12277 = call ptr @strerror(i32 noundef %12276) #12
  %12278 = load i32, ptr %1317, align 4, !tbaa !5
  %12279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12270, ptr noundef nonnull %.str.26.sink6122, i32 noundef %12271, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.22, i32 noundef 1308, ptr noundef %12273, ptr noundef %12275, ptr noundef %12277, i32 noundef %12278) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12280:                                            ; preds = %12251
  %12281 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %12282 = load i32, ptr @test_count, align 4, !tbaa !5
  %12283 = add nsw i32 %12282, 1
  store i32 %12283, ptr @test_count, align 4, !tbaa !5
  %12284 = icmp eq ptr %12281, null
  br i1 %12284, label %12285, label %12307

12285:                                            ; preds = %12280
  %12286 = load i32, ptr %1317, align 4, !tbaa !5
  %12287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12288 = call i32 @s2n_print_stacktrace(ptr noundef %12287) #12
  %12289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12290 = trunc nuw i8 %12289 to i1
  br i1 %12290, label %12291, label %12295

12291:                                            ; preds = %12285
  %12292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12293 = call i32 @fileno(ptr noundef %12292) #12
  %12294 = call i32 @isatty(i32 noundef %12293) #12
  %.not1865 = icmp eq i32 %12294, 0
  br i1 %.not1865, label %12295, label %12296

12295:                                            ; preds = %12291, %12285
  br label %12296

12296:                                            ; preds = %12291, %12295
  %.str.26.sink6131 = phi ptr [ @.str.26, %12295 ], [ @.str.23, %12291 ]
  store i32 %12286, ptr %1317, align 4, !tbaa !5
  %12297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12298 = load i32, ptr @test_count, align 4, !tbaa !5
  %12299 = load i32, ptr %1263, align 4, !tbaa !5
  %12300 = call ptr @s2n_strerror(i32 noundef %12299, ptr noundef nonnull @.str.25) #12
  %12301 = load i32, ptr %1263, align 4, !tbaa !5
  %12302 = call ptr @s2n_strerror_debug(i32 noundef %12301, ptr noundef nonnull @.str.25) #12
  %12303 = load i32, ptr %1317, align 4, !tbaa !5
  %12304 = call ptr @strerror(i32 noundef %12303) #12
  %12305 = load i32, ptr %1317, align 4, !tbaa !5
  %12306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12297, ptr noundef nonnull %.str.26.sink6131, i32 noundef %12298, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 1311, ptr noundef %12300, ptr noundef %12302, ptr noundef %12304, i32 noundef %12305) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12307:                                            ; preds = %12280
  %12308 = add nsw i32 %12282, 2
  store i32 %12308, ptr @test_count, align 4, !tbaa !5
  %12309 = call i32 @s2n_connection_set_config(ptr noundef nonnull %12281, ptr noundef nonnull %12168) #12
  %12310 = icmp eq i32 %12309, -1
  br i1 %12310, label %12311, label %12333

12311:                                            ; preds = %12307
  %12312 = load i32, ptr %1317, align 4, !tbaa !5
  %12313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12314 = call i32 @s2n_print_stacktrace(ptr noundef %12313) #12
  %12315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12316 = trunc nuw i8 %12315 to i1
  br i1 %12316, label %12317, label %12321

12317:                                            ; preds = %12311
  %12318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12319 = call i32 @fileno(ptr noundef %12318) #12
  %12320 = call i32 @isatty(i32 noundef %12319) #12
  %.not1864 = icmp eq i32 %12320, 0
  br i1 %.not1864, label %12321, label %12322

12321:                                            ; preds = %12317, %12311
  br label %12322

12322:                                            ; preds = %12317, %12321
  %.str.26.sink6140 = phi ptr [ @.str.26, %12321 ], [ @.str.23, %12317 ]
  store i32 %12312, ptr %1317, align 4, !tbaa !5
  %12323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12324 = load i32, ptr @test_count, align 4, !tbaa !5
  %12325 = load i32, ptr %1263, align 4, !tbaa !5
  %12326 = call ptr @s2n_strerror(i32 noundef %12325, ptr noundef nonnull @.str.25) #12
  %12327 = load i32, ptr %1263, align 4, !tbaa !5
  %12328 = call ptr @s2n_strerror_debug(i32 noundef %12327, ptr noundef nonnull @.str.25) #12
  %12329 = load i32, ptr %1317, align 4, !tbaa !5
  %12330 = call ptr @strerror(i32 noundef %12329) #12
  %12331 = load i32, ptr %1317, align 4, !tbaa !5
  %12332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12323, ptr noundef nonnull %.str.26.sink6140, i32 noundef %12324, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 1312, ptr noundef %12326, ptr noundef %12328, ptr noundef %12330, i32 noundef %12331) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12333:                                            ; preds = %12307
  %12334 = getelementptr inbounds i8, ptr %12281, i64 220
  store i8 34, ptr %12334, align 4, !tbaa !17
  %12335 = getelementptr inbounds i8, ptr %12281, i64 232
  %12336 = load ptr, ptr %12335, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %12336, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %99) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %99, i8 0, i64 40, i1 false)
  %12337 = load i32, ptr @test_count, align 4, !tbaa !5
  %12338 = add nsw i32 %12337, 1
  store i32 %12338, ptr @test_count, align 4, !tbaa !5
  %12339 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %99, i32 noundef 0) #12
  %12340 = icmp eq i32 %12339, -1
  br i1 %12340, label %12341, label %12363

12341:                                            ; preds = %12333
  %12342 = load i32, ptr %1317, align 4, !tbaa !5
  %12343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12344 = call i32 @s2n_print_stacktrace(ptr noundef %12343) #12
  %12345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12346 = trunc nuw i8 %12345 to i1
  br i1 %12346, label %12347, label %12351

12347:                                            ; preds = %12341
  %12348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12349 = call i32 @fileno(ptr noundef %12348) #12
  %12350 = call i32 @isatty(i32 noundef %12349) #12
  %.not1863 = icmp eq i32 %12350, 0
  br i1 %.not1863, label %12351, label %12352

12351:                                            ; preds = %12347, %12341
  br label %12352

12352:                                            ; preds = %12347, %12351
  %.str.26.sink6149 = phi ptr [ @.str.26, %12351 ], [ @.str.23, %12347 ]
  store i32 %12342, ptr %1317, align 4, !tbaa !5
  %12353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12354 = load i32, ptr @test_count, align 4, !tbaa !5
  %12355 = load i32, ptr %1263, align 4, !tbaa !5
  %12356 = call ptr @s2n_strerror(i32 noundef %12355, ptr noundef nonnull @.str.25) #12
  %12357 = load i32, ptr %1263, align 4, !tbaa !5
  %12358 = call ptr @s2n_strerror_debug(i32 noundef %12357, ptr noundef nonnull @.str.25) #12
  %12359 = load i32, ptr %1317, align 4, !tbaa !5
  %12360 = call ptr @strerror(i32 noundef %12359) #12
  %12361 = load i32, ptr %1317, align 4, !tbaa !5
  %12362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12353, ptr noundef nonnull %.str.26.sink6149, i32 noundef %12354, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 1318, ptr noundef %12356, ptr noundef %12358, ptr noundef %12360, i32 noundef %12361) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12363:                                            ; preds = %12333
  %12364 = load i32, ptr @test_count, align 4, !tbaa !5
  %12365 = add nsw i32 %12364, 1
  store i32 %12365, ptr @test_count, align 4, !tbaa !5
  %12366 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %99, ptr noundef nonnull %99, ptr noundef nonnull %12281) #12
  %12367 = icmp eq i32 %12366, -1
  br i1 %12367, label %12368, label %12390

12368:                                            ; preds = %12363
  %12369 = load i32, ptr %1317, align 4, !tbaa !5
  %12370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12371 = call i32 @s2n_print_stacktrace(ptr noundef %12370) #12
  %12372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12373 = trunc nuw i8 %12372 to i1
  br i1 %12373, label %12374, label %12378

12374:                                            ; preds = %12368
  %12375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12376 = call i32 @fileno(ptr noundef %12375) #12
  %12377 = call i32 @isatty(i32 noundef %12376) #12
  %.not1862 = icmp eq i32 %12377, 0
  br i1 %.not1862, label %12378, label %12379

12378:                                            ; preds = %12374, %12368
  br label %12379

12379:                                            ; preds = %12374, %12378
  %.str.26.sink6158 = phi ptr [ @.str.26, %12378 ], [ @.str.23, %12374 ]
  store i32 %12369, ptr %1317, align 4, !tbaa !5
  %12380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12381 = load i32, ptr @test_count, align 4, !tbaa !5
  %12382 = load i32, ptr %1263, align 4, !tbaa !5
  %12383 = call ptr @s2n_strerror(i32 noundef %12382, ptr noundef nonnull @.str.25) #12
  %12384 = load i32, ptr %1263, align 4, !tbaa !5
  %12385 = call ptr @s2n_strerror_debug(i32 noundef %12384, ptr noundef nonnull @.str.25) #12
  %12386 = load i32, ptr %1317, align 4, !tbaa !5
  %12387 = call ptr @strerror(i32 noundef %12386) #12
  %12388 = load i32, ptr %1317, align 4, !tbaa !5
  %12389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12380, ptr noundef nonnull %.str.26.sink6158, i32 noundef %12381, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.22, i32 noundef 1319, ptr noundef %12383, ptr noundef %12385, ptr noundef %12387, i32 noundef %12388) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12390:                                            ; preds = %12363
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %100) #12
  store i32 0, ptr %100, align 4, !tbaa !5
  %12391 = load i32, ptr @test_count, align 4, !tbaa !5
  %12392 = add nsw i32 %12391, 1
  store i32 %12392, ptr @test_count, align 4, !tbaa !5
  %12393 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %12281, ptr noundef nonnull %100)
  %12394 = call zeroext i1 @s2n_result_is_ok(i32 %12393)
  br i1 %12394, label %12417, label %12395

12395:                                            ; preds = %12390
  %12396 = load i32, ptr %1317, align 4, !tbaa !5
  %12397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12398 = call i32 @s2n_print_stacktrace(ptr noundef %12397) #12
  %12399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12400 = trunc nuw i8 %12399 to i1
  br i1 %12400, label %12401, label %12405

12401:                                            ; preds = %12395
  %12402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12403 = call i32 @fileno(ptr noundef %12402) #12
  %12404 = call i32 @isatty(i32 noundef %12403) #12
  %.not1767 = icmp eq i32 %12404, 0
  br i1 %.not1767, label %12405, label %12406

12405:                                            ; preds = %12401, %12395
  br label %12406

12406:                                            ; preds = %12401, %12405
  %.str.26.sink6167 = phi ptr [ @.str.26, %12405 ], [ @.str.23, %12401 ]
  store i32 %12396, ptr %1317, align 4, !tbaa !5
  %12407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12408 = load i32, ptr @test_count, align 4, !tbaa !5
  %12409 = load i32, ptr %1263, align 4, !tbaa !5
  %12410 = call ptr @s2n_strerror(i32 noundef %12409, ptr noundef nonnull @.str.25) #12
  %12411 = load i32, ptr %1263, align 4, !tbaa !5
  %12412 = call ptr @s2n_strerror_debug(i32 noundef %12411, ptr noundef nonnull @.str.25) #12
  %12413 = load i32, ptr %1317, align 4, !tbaa !5
  %12414 = call ptr @strerror(i32 noundef %12413) #12
  %12415 = load i32, ptr %1317, align 4, !tbaa !5
  %12416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12407, ptr noundef nonnull %.str.26.sink6167, i32 noundef %12408, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1322, ptr noundef %12410, ptr noundef %12412, ptr noundef %12414, i32 noundef %12415) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12417:                                            ; preds = %12390
  %12418 = load i32, ptr @test_count, align 4, !tbaa !5
  %12419 = add nsw i32 %12418, 1
  store i32 %12419, ptr @test_count, align 4, !tbaa !5
  %12420 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %12281, i16 noundef zeroext 1)
  %12421 = call zeroext i1 @s2n_result_is_ok(i32 %12420)
  br i1 %12421, label %12444, label %12422

12422:                                            ; preds = %12417
  %12423 = load i32, ptr %1317, align 4, !tbaa !5
  %12424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12425 = call i32 @s2n_print_stacktrace(ptr noundef %12424) #12
  %12426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12427 = trunc nuw i8 %12426 to i1
  br i1 %12427, label %12428, label %12432

12428:                                            ; preds = %12422
  %12429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12430 = call i32 @fileno(ptr noundef %12429) #12
  %12431 = call i32 @isatty(i32 noundef %12430) #12
  %.not1768 = icmp eq i32 %12431, 0
  br i1 %.not1768, label %12432, label %12433

12432:                                            ; preds = %12428, %12422
  br label %12433

12433:                                            ; preds = %12428, %12432
  %.str.26.sink6176 = phi ptr [ @.str.26, %12432 ], [ @.str.23, %12428 ]
  store i32 %12423, ptr %1317, align 4, !tbaa !5
  %12434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12435 = load i32, ptr @test_count, align 4, !tbaa !5
  %12436 = load i32, ptr %1263, align 4, !tbaa !5
  %12437 = call ptr @s2n_strerror(i32 noundef %12436, ptr noundef nonnull @.str.25) #12
  %12438 = load i32, ptr %1263, align 4, !tbaa !5
  %12439 = call ptr @s2n_strerror_debug(i32 noundef %12438, ptr noundef nonnull @.str.25) #12
  %12440 = load i32, ptr %1317, align 4, !tbaa !5
  %12441 = call ptr @strerror(i32 noundef %12440) #12
  %12442 = load i32, ptr %1317, align 4, !tbaa !5
  %12443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12434, ptr noundef nonnull %.str.26.sink6176, i32 noundef %12435, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.22, i32 noundef 1323, ptr noundef %12437, ptr noundef %12439, ptr noundef %12441, i32 noundef %12442) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12444:                                            ; preds = %12417
  %12445 = load i32, ptr @test_count, align 4, !tbaa !5
  %12446 = add nsw i32 %12445, 1
  store i32 %12446, ptr @test_count, align 4, !tbaa !5
  %12447 = getelementptr inbounds i8, ptr %99, i64 28
  %12448 = load i32, ptr %12447, align 4, !tbaa !51
  %12449 = getelementptr inbounds i8, ptr %99, i64 24
  %12450 = load i32, ptr %12449, align 8, !tbaa !52
  %12451 = icmp eq i32 %12448, %12450
  br i1 %12451, label %12452, label %12474

12452:                                            ; preds = %12444
  %12453 = load i32, ptr %1317, align 4, !tbaa !5
  %12454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12455 = call i32 @s2n_print_stacktrace(ptr noundef %12454) #12
  %12456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12457 = trunc nuw i8 %12456 to i1
  br i1 %12457, label %12458, label %12462

12458:                                            ; preds = %12452
  %12459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12460 = call i32 @fileno(ptr noundef %12459) #12
  %12461 = call i32 @isatty(i32 noundef %12460) #12
  %.not1861 = icmp eq i32 %12461, 0
  br i1 %.not1861, label %12462, label %12463

12462:                                            ; preds = %12458, %12452
  br label %12463

12463:                                            ; preds = %12458, %12462
  %.str.26.sink6185 = phi ptr [ @.str.26, %12462 ], [ @.str.23, %12458 ]
  store i32 %12453, ptr %1317, align 4, !tbaa !5
  %12464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12465 = load i32, ptr @test_count, align 4, !tbaa !5
  %12466 = load i32, ptr %1263, align 4, !tbaa !5
  %12467 = call ptr @s2n_strerror(i32 noundef %12466, ptr noundef nonnull @.str.25) #12
  %12468 = load i32, ptr %1263, align 4, !tbaa !5
  %12469 = call ptr @s2n_strerror_debug(i32 noundef %12468, ptr noundef nonnull @.str.25) #12
  %12470 = load i32, ptr %1317, align 4, !tbaa !5
  %12471 = call ptr @strerror(i32 noundef %12470) #12
  %12472 = load i32, ptr %1317, align 4, !tbaa !5
  %12473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12464, ptr noundef nonnull %.str.26.sink6185, i32 noundef %12465, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.22, i32 noundef 1324, ptr noundef %12467, ptr noundef %12469, ptr noundef %12471, i32 noundef %12472) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12474:                                            ; preds = %12444
  %12475 = add nsw i32 %12445, 2
  store i32 %12475, ptr @test_count, align 4, !tbaa !5
  %12476 = call i32 @s2n_stuffer_free(ptr noundef nonnull %99) #12
  %12477 = icmp eq i32 %12476, -1
  br i1 %12477, label %12478, label %12500

12478:                                            ; preds = %12474
  %12479 = load i32, ptr %1317, align 4, !tbaa !5
  %12480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12481 = call i32 @s2n_print_stacktrace(ptr noundef %12480) #12
  %12482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12483 = trunc nuw i8 %12482 to i1
  br i1 %12483, label %12484, label %12488

12484:                                            ; preds = %12478
  %12485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12486 = call i32 @fileno(ptr noundef %12485) #12
  %12487 = call i32 @isatty(i32 noundef %12486) #12
  %.not1860 = icmp eq i32 %12487, 0
  br i1 %.not1860, label %12488, label %12489

12488:                                            ; preds = %12484, %12478
  br label %12489

12489:                                            ; preds = %12484, %12488
  %.str.26.sink6194 = phi ptr [ @.str.26, %12488 ], [ @.str.23, %12484 ]
  store i32 %12479, ptr %1317, align 4, !tbaa !5
  %12490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12491 = load i32, ptr @test_count, align 4, !tbaa !5
  %12492 = load i32, ptr %1263, align 4, !tbaa !5
  %12493 = call ptr @s2n_strerror(i32 noundef %12492, ptr noundef nonnull @.str.25) #12
  %12494 = load i32, ptr %1263, align 4, !tbaa !5
  %12495 = call ptr @s2n_strerror_debug(i32 noundef %12494, ptr noundef nonnull @.str.25) #12
  %12496 = load i32, ptr %1317, align 4, !tbaa !5
  %12497 = call ptr @strerror(i32 noundef %12496) #12
  %12498 = load i32, ptr %1317, align 4, !tbaa !5
  %12499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12490, ptr noundef nonnull %.str.26.sink6194, i32 noundef %12491, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.22, i32 noundef 1326, ptr noundef %12493, ptr noundef %12495, ptr noundef %12497, i32 noundef %12498) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12500:                                            ; preds = %12474
  %12501 = load i32, ptr @test_count, align 4, !tbaa !5
  %12502 = add nsw i32 %12501, 1
  store i32 %12502, ptr @test_count, align 4, !tbaa !5
  %12503 = call i32 @s2n_connection_free(ptr noundef nonnull %12281) #12
  %12504 = icmp eq i32 %12503, -1
  br i1 %12504, label %12505, label %12527

12505:                                            ; preds = %12500
  %12506 = load i32, ptr %1317, align 4, !tbaa !5
  %12507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12508 = call i32 @s2n_print_stacktrace(ptr noundef %12507) #12
  %12509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12510 = trunc nuw i8 %12509 to i1
  br i1 %12510, label %12511, label %12515

12511:                                            ; preds = %12505
  %12512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12513 = call i32 @fileno(ptr noundef %12512) #12
  %12514 = call i32 @isatty(i32 noundef %12513) #12
  %.not1859 = icmp eq i32 %12514, 0
  br i1 %.not1859, label %12515, label %12516

12515:                                            ; preds = %12511, %12505
  br label %12516

12516:                                            ; preds = %12511, %12515
  %.str.26.sink6203 = phi ptr [ @.str.26, %12515 ], [ @.str.23, %12511 ]
  store i32 %12506, ptr %1317, align 4, !tbaa !5
  %12517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12518 = load i32, ptr @test_count, align 4, !tbaa !5
  %12519 = load i32, ptr %1263, align 4, !tbaa !5
  %12520 = call ptr @s2n_strerror(i32 noundef %12519, ptr noundef nonnull @.str.25) #12
  %12521 = load i32, ptr %1263, align 4, !tbaa !5
  %12522 = call ptr @s2n_strerror_debug(i32 noundef %12521, ptr noundef nonnull @.str.25) #12
  %12523 = load i32, ptr %1317, align 4, !tbaa !5
  %12524 = call ptr @strerror(i32 noundef %12523) #12
  %12525 = load i32, ptr %1317, align 4, !tbaa !5
  %12526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12517, ptr noundef nonnull %.str.26.sink6203, i32 noundef %12518, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 1327, ptr noundef %12520, ptr noundef %12522, ptr noundef %12524, i32 noundef %12525) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12527:                                            ; preds = %12500
  %12528 = load i32, ptr @test_count, align 4, !tbaa !5
  %12529 = add nsw i32 %12528, 1
  store i32 %12529, ptr @test_count, align 4, !tbaa !5
  %12530 = call i32 @s2n_config_free(ptr noundef nonnull %12168) #12
  %12531 = icmp eq i32 %12530, -1
  br i1 %12531, label %12532, label %12554

12532:                                            ; preds = %12527
  %12533 = load i32, ptr %1317, align 4, !tbaa !5
  %12534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12535 = call i32 @s2n_print_stacktrace(ptr noundef %12534) #12
  %12536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12537 = trunc nuw i8 %12536 to i1
  br i1 %12537, label %12538, label %12542

12538:                                            ; preds = %12532
  %12539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12540 = call i32 @fileno(ptr noundef %12539) #12
  %12541 = call i32 @isatty(i32 noundef %12540) #12
  %.not1858 = icmp eq i32 %12541, 0
  br i1 %.not1858, label %12542, label %12543

12542:                                            ; preds = %12538, %12532
  br label %12543

12543:                                            ; preds = %12538, %12542
  %.str.26.sink6212 = phi ptr [ @.str.26, %12542 ], [ @.str.23, %12538 ]
  store i32 %12533, ptr %1317, align 4, !tbaa !5
  %12544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12545 = load i32, ptr @test_count, align 4, !tbaa !5
  %12546 = load i32, ptr %1263, align 4, !tbaa !5
  %12547 = call ptr @s2n_strerror(i32 noundef %12546, ptr noundef nonnull @.str.25) #12
  %12548 = load i32, ptr %1263, align 4, !tbaa !5
  %12549 = call ptr @s2n_strerror_debug(i32 noundef %12548, ptr noundef nonnull @.str.25) #12
  %12550 = load i32, ptr %1317, align 4, !tbaa !5
  %12551 = call ptr @strerror(i32 noundef %12550) #12
  %12552 = load i32, ptr %1317, align 4, !tbaa !5
  %12553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12544, ptr noundef nonnull %.str.26.sink6212, i32 noundef %12545, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 1328, ptr noundef %12547, ptr noundef %12549, ptr noundef %12551, i32 noundef %12552) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12554:                                            ; preds = %12527
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %100) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %99) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %97) #12
  %12555 = load i32, ptr @test_count, align 4, !tbaa !5
  %12556 = add nsw i32 %12555, 1
  store i32 %12556, ptr @test_count, align 4, !tbaa !5
  %12557 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %12558 = icmp eq ptr %12557, null
  br i1 %12558, label %12559, label %12581

12559:                                            ; preds = %12554
  %12560 = load i32, ptr %1317, align 4, !tbaa !5
  %12561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12562 = call i32 @s2n_print_stacktrace(ptr noundef %12561) #12
  %12563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12564 = trunc nuw i8 %12563 to i1
  br i1 %12564, label %12565, label %12569

12565:                                            ; preds = %12559
  %12566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12567 = call i32 @fileno(ptr noundef %12566) #12
  %12568 = call i32 @isatty(i32 noundef %12567) #12
  %.not1857 = icmp eq i32 %12568, 0
  br i1 %.not1857, label %12569, label %12570

12569:                                            ; preds = %12565, %12559
  br label %12570

12570:                                            ; preds = %12565, %12569
  %.str.26.sink6221 = phi ptr [ @.str.26, %12569 ], [ @.str.23, %12565 ]
  store i32 %12560, ptr %1317, align 4, !tbaa !5
  %12571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12572 = load i32, ptr @test_count, align 4, !tbaa !5
  %12573 = load i32, ptr %1263, align 4, !tbaa !5
  %12574 = call ptr @s2n_strerror(i32 noundef %12573, ptr noundef nonnull @.str.25) #12
  %12575 = load i32, ptr %1263, align 4, !tbaa !5
  %12576 = call ptr @s2n_strerror_debug(i32 noundef %12575, ptr noundef nonnull @.str.25) #12
  %12577 = load i32, ptr %1317, align 4, !tbaa !5
  %12578 = call ptr @strerror(i32 noundef %12577) #12
  %12579 = load i32, ptr %1317, align 4, !tbaa !5
  %12580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12571, ptr noundef nonnull %.str.26.sink6221, i32 noundef %12572, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.22, i32 noundef 1335, ptr noundef %12574, ptr noundef %12576, ptr noundef %12578, i32 noundef %12579) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12581:                                            ; preds = %12554
  %12582 = load i32, ptr @test_count, align 4, !tbaa !5
  %12583 = add nsw i32 %12582, 1
  store i32 %12583, ptr @test_count, align 4, !tbaa !5
  %12584 = call ptr @s2n_config_new() #12
  %12585 = icmp eq ptr %12584, null
  br i1 %12585, label %12586, label %12608

12586:                                            ; preds = %12581
  %12587 = load i32, ptr %1317, align 4, !tbaa !5
  %12588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12589 = call i32 @s2n_print_stacktrace(ptr noundef %12588) #12
  %12590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12591 = trunc nuw i8 %12590 to i1
  br i1 %12591, label %12592, label %12596

12592:                                            ; preds = %12586
  %12593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12594 = call i32 @fileno(ptr noundef %12593) #12
  %12595 = call i32 @isatty(i32 noundef %12594) #12
  %.not1856 = icmp eq i32 %12595, 0
  br i1 %.not1856, label %12596, label %12597

12596:                                            ; preds = %12592, %12586
  br label %12597

12597:                                            ; preds = %12592, %12596
  %.str.26.sink6230 = phi ptr [ @.str.26, %12596 ], [ @.str.23, %12592 ]
  store i32 %12587, ptr %1317, align 4, !tbaa !5
  %12598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12599 = load i32, ptr @test_count, align 4, !tbaa !5
  %12600 = load i32, ptr %1263, align 4, !tbaa !5
  %12601 = call ptr @s2n_strerror(i32 noundef %12600, ptr noundef nonnull @.str.25) #12
  %12602 = load i32, ptr %1263, align 4, !tbaa !5
  %12603 = call ptr @s2n_strerror_debug(i32 noundef %12602, ptr noundef nonnull @.str.25) #12
  %12604 = load i32, ptr %1317, align 4, !tbaa !5
  %12605 = call ptr @strerror(i32 noundef %12604) #12
  %12606 = load i32, ptr %1317, align 4, !tbaa !5
  %12607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12598, ptr noundef nonnull %.str.26.sink6230, i32 noundef %12599, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.22, i32 noundef 1336, ptr noundef %12601, ptr noundef %12603, ptr noundef %12605, i32 noundef %12606) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12608:                                            ; preds = %12581
  %12609 = load i32, ptr @test_count, align 4, !tbaa !5
  %12610 = add nsw i32 %12609, 1
  store i32 %12610, ptr @test_count, align 4, !tbaa !5
  %12611 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %12584) #12
  %12612 = call zeroext i1 @s2n_result_is_ok(i32 %12611)
  br i1 %12612, label %12635, label %12613

12613:                                            ; preds = %12608
  %12614 = load i32, ptr %1317, align 4, !tbaa !5
  %12615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12616 = call i32 @s2n_print_stacktrace(ptr noundef %12615) #12
  %12617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12618 = trunc nuw i8 %12617 to i1
  br i1 %12618, label %12619, label %12623

12619:                                            ; preds = %12613
  %12620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12621 = call i32 @fileno(ptr noundef %12620) #12
  %12622 = call i32 @isatty(i32 noundef %12621) #12
  %.not1769 = icmp eq i32 %12622, 0
  br i1 %.not1769, label %12623, label %12624

12623:                                            ; preds = %12619, %12613
  br label %12624

12624:                                            ; preds = %12619, %12623
  %.str.26.sink6239 = phi ptr [ @.str.26, %12623 ], [ @.str.23, %12619 ]
  store i32 %12614, ptr %1317, align 4, !tbaa !5
  %12625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12626 = load i32, ptr @test_count, align 4, !tbaa !5
  %12627 = load i32, ptr %1263, align 4, !tbaa !5
  %12628 = call ptr @s2n_strerror(i32 noundef %12627, ptr noundef nonnull @.str.25) #12
  %12629 = load i32, ptr %1263, align 4, !tbaa !5
  %12630 = call ptr @s2n_strerror_debug(i32 noundef %12629, ptr noundef nonnull @.str.25) #12
  %12631 = load i32, ptr %1317, align 4, !tbaa !5
  %12632 = call ptr @strerror(i32 noundef %12631) #12
  %12633 = load i32, ptr %1317, align 4, !tbaa !5
  %12634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12625, ptr noundef nonnull %.str.26.sink6239, i32 noundef %12626, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 1338, ptr noundef %12628, ptr noundef %12630, ptr noundef %12632, i32 noundef %12633) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12635:                                            ; preds = %12608
  %12636 = load i32, ptr @test_count, align 4, !tbaa !5
  %12637 = add nsw i32 %12636, 1
  store i32 %12637, ptr @test_count, align 4, !tbaa !5
  %12638 = call i32 @s2n_connection_set_config(ptr noundef nonnull %12557, ptr noundef nonnull %12584) #12
  %12639 = icmp eq i32 %12638, -1
  br i1 %12639, label %12640, label %12662

12640:                                            ; preds = %12635
  %12641 = load i32, ptr %1317, align 4, !tbaa !5
  %12642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12643 = call i32 @s2n_print_stacktrace(ptr noundef %12642) #12
  %12644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12645 = trunc nuw i8 %12644 to i1
  br i1 %12645, label %12646, label %12650

12646:                                            ; preds = %12640
  %12647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12648 = call i32 @fileno(ptr noundef %12647) #12
  %12649 = call i32 @isatty(i32 noundef %12648) #12
  %.not1855 = icmp eq i32 %12649, 0
  br i1 %.not1855, label %12650, label %12651

12650:                                            ; preds = %12646, %12640
  br label %12651

12651:                                            ; preds = %12646, %12650
  %.str.26.sink6248 = phi ptr [ @.str.26, %12650 ], [ @.str.23, %12646 ]
  store i32 %12641, ptr %1317, align 4, !tbaa !5
  %12652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12653 = load i32, ptr @test_count, align 4, !tbaa !5
  %12654 = load i32, ptr %1263, align 4, !tbaa !5
  %12655 = call ptr @s2n_strerror(i32 noundef %12654, ptr noundef nonnull @.str.25) #12
  %12656 = load i32, ptr %1263, align 4, !tbaa !5
  %12657 = call ptr @s2n_strerror_debug(i32 noundef %12656, ptr noundef nonnull @.str.25) #12
  %12658 = load i32, ptr %1317, align 4, !tbaa !5
  %12659 = call ptr @strerror(i32 noundef %12658) #12
  %12660 = load i32, ptr %1317, align 4, !tbaa !5
  %12661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12652, ptr noundef nonnull %.str.26.sink6248, i32 noundef %12653, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 1339, ptr noundef %12655, ptr noundef %12657, ptr noundef %12659, i32 noundef %12660) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12662:                                            ; preds = %12635
  %12663 = getelementptr inbounds i8, ptr %12557, i64 220
  store i8 34, ptr %12663, align 4, !tbaa !17
  %12664 = getelementptr inbounds i8, ptr %12557, i64 232
  %12665 = load ptr, ptr %12664, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %12665, align 8, !tbaa !44
  %12666 = getelementptr inbounds i8, ptr %12557, i64 4084
  store i16 5, ptr %12666, align 4, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %101) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %101, i8 0, i64 40, i1 false)
  %12667 = load i32, ptr @test_count, align 4, !tbaa !5
  %12668 = add nsw i32 %12667, 1
  store i32 %12668, ptr @test_count, align 4, !tbaa !5
  %12669 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %101, i32 noundef 0) #12
  %12670 = icmp eq i32 %12669, -1
  br i1 %12670, label %12671, label %12693

12671:                                            ; preds = %12662
  %12672 = load i32, ptr %1317, align 4, !tbaa !5
  %12673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12674 = call i32 @s2n_print_stacktrace(ptr noundef %12673) #12
  %12675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12676 = trunc nuw i8 %12675 to i1
  br i1 %12676, label %12677, label %12681

12677:                                            ; preds = %12671
  %12678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12679 = call i32 @fileno(ptr noundef %12678) #12
  %12680 = call i32 @isatty(i32 noundef %12679) #12
  %.not1854 = icmp eq i32 %12680, 0
  br i1 %.not1854, label %12681, label %12682

12681:                                            ; preds = %12677, %12671
  br label %12682

12682:                                            ; preds = %12677, %12681
  %.str.26.sink6257 = phi ptr [ @.str.26, %12681 ], [ @.str.23, %12677 ]
  store i32 %12672, ptr %1317, align 4, !tbaa !5
  %12683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12684 = load i32, ptr @test_count, align 4, !tbaa !5
  %12685 = load i32, ptr %1263, align 4, !tbaa !5
  %12686 = call ptr @s2n_strerror(i32 noundef %12685, ptr noundef nonnull @.str.25) #12
  %12687 = load i32, ptr %1263, align 4, !tbaa !5
  %12688 = call ptr @s2n_strerror_debug(i32 noundef %12687, ptr noundef nonnull @.str.25) #12
  %12689 = load i32, ptr %1317, align 4, !tbaa !5
  %12690 = call ptr @strerror(i32 noundef %12689) #12
  %12691 = load i32, ptr %1317, align 4, !tbaa !5
  %12692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12683, ptr noundef nonnull %.str.26.sink6257, i32 noundef %12684, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.22, i32 noundef 1348, ptr noundef %12686, ptr noundef %12688, ptr noundef %12690, i32 noundef %12691) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12693:                                            ; preds = %12662
  %12694 = load i32, ptr @test_count, align 4, !tbaa !5
  %12695 = add nsw i32 %12694, 1
  store i32 %12695, ptr @test_count, align 4, !tbaa !5
  %12696 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %101, ptr noundef nonnull %101, ptr noundef nonnull %12557) #12
  %12697 = icmp eq i32 %12696, -1
  br i1 %12697, label %12698, label %12720

12698:                                            ; preds = %12693
  %12699 = load i32, ptr %1317, align 4, !tbaa !5
  %12700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12701 = call i32 @s2n_print_stacktrace(ptr noundef %12700) #12
  %12702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12703 = trunc nuw i8 %12702 to i1
  br i1 %12703, label %12704, label %12708

12704:                                            ; preds = %12698
  %12705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12706 = call i32 @fileno(ptr noundef %12705) #12
  %12707 = call i32 @isatty(i32 noundef %12706) #12
  %.not1853 = icmp eq i32 %12707, 0
  br i1 %.not1853, label %12708, label %12709

12708:                                            ; preds = %12704, %12698
  br label %12709

12709:                                            ; preds = %12704, %12708
  %.str.26.sink6266 = phi ptr [ @.str.26, %12708 ], [ @.str.23, %12704 ]
  store i32 %12699, ptr %1317, align 4, !tbaa !5
  %12710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12711 = load i32, ptr @test_count, align 4, !tbaa !5
  %12712 = load i32, ptr %1263, align 4, !tbaa !5
  %12713 = call ptr @s2n_strerror(i32 noundef %12712, ptr noundef nonnull @.str.25) #12
  %12714 = load i32, ptr %1263, align 4, !tbaa !5
  %12715 = call ptr @s2n_strerror_debug(i32 noundef %12714, ptr noundef nonnull @.str.25) #12
  %12716 = load i32, ptr %1317, align 4, !tbaa !5
  %12717 = call ptr @strerror(i32 noundef %12716) #12
  %12718 = load i32, ptr %1317, align 4, !tbaa !5
  %12719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12710, ptr noundef nonnull %.str.26.sink6266, i32 noundef %12711, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.22, i32 noundef 1349, ptr noundef %12713, ptr noundef %12715, ptr noundef %12717, i32 noundef %12718) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12720:                                            ; preds = %12693
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %102) #12
  store i32 0, ptr %102, align 4, !tbaa !5
  %12721 = load i32, ptr @test_count, align 4, !tbaa !5
  %12722 = add nsw i32 %12721, 1
  store i32 %12722, ptr @test_count, align 4, !tbaa !5
  %12723 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %12557, ptr noundef nonnull %102)
  %12724 = call zeroext i1 @s2n_result_is_ok(i32 %12723)
  br i1 %12724, label %12747, label %12725

12725:                                            ; preds = %12720
  %12726 = load i32, ptr %1317, align 4, !tbaa !5
  %12727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12728 = call i32 @s2n_print_stacktrace(ptr noundef %12727) #12
  %12729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12730 = trunc nuw i8 %12729 to i1
  br i1 %12730, label %12731, label %12735

12731:                                            ; preds = %12725
  %12732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12733 = call i32 @fileno(ptr noundef %12732) #12
  %12734 = call i32 @isatty(i32 noundef %12733) #12
  %.not1770 = icmp eq i32 %12734, 0
  br i1 %.not1770, label %12735, label %12736

12735:                                            ; preds = %12731, %12725
  br label %12736

12736:                                            ; preds = %12731, %12735
  %.str.26.sink6275 = phi ptr [ @.str.26, %12735 ], [ @.str.23, %12731 ]
  store i32 %12726, ptr %1317, align 4, !tbaa !5
  %12737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12738 = load i32, ptr @test_count, align 4, !tbaa !5
  %12739 = load i32, ptr %1263, align 4, !tbaa !5
  %12740 = call ptr @s2n_strerror(i32 noundef %12739, ptr noundef nonnull @.str.25) #12
  %12741 = load i32, ptr %1263, align 4, !tbaa !5
  %12742 = call ptr @s2n_strerror_debug(i32 noundef %12741, ptr noundef nonnull @.str.25) #12
  %12743 = load i32, ptr %1317, align 4, !tbaa !5
  %12744 = call ptr @strerror(i32 noundef %12743) #12
  %12745 = load i32, ptr %1317, align 4, !tbaa !5
  %12746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12737, ptr noundef nonnull %.str.26.sink6275, i32 noundef %12738, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1352, ptr noundef %12740, ptr noundef %12742, ptr noundef %12744, i32 noundef %12745) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12747:                                            ; preds = %12720
  %12748 = load i32, ptr @test_count, align 4, !tbaa !5
  %12749 = add nsw i32 %12748, 1
  store i32 %12749, ptr @test_count, align 4, !tbaa !5
  %12750 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %12557, i16 noundef zeroext 5)
  %12751 = call zeroext i1 @s2n_result_is_ok(i32 %12750)
  br i1 %12751, label %12774, label %12752

12752:                                            ; preds = %12747
  %12753 = load i32, ptr %1317, align 4, !tbaa !5
  %12754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12755 = call i32 @s2n_print_stacktrace(ptr noundef %12754) #12
  %12756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12757 = trunc nuw i8 %12756 to i1
  br i1 %12757, label %12758, label %12762

12758:                                            ; preds = %12752
  %12759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12760 = call i32 @fileno(ptr noundef %12759) #12
  %12761 = call i32 @isatty(i32 noundef %12760) #12
  %.not1771 = icmp eq i32 %12761, 0
  br i1 %.not1771, label %12762, label %12763

12762:                                            ; preds = %12758, %12752
  br label %12763

12763:                                            ; preds = %12758, %12762
  %.str.26.sink6284 = phi ptr [ @.str.26, %12762 ], [ @.str.23, %12758 ]
  store i32 %12753, ptr %1317, align 4, !tbaa !5
  %12764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12765 = load i32, ptr @test_count, align 4, !tbaa !5
  %12766 = load i32, ptr %1263, align 4, !tbaa !5
  %12767 = call ptr @s2n_strerror(i32 noundef %12766, ptr noundef nonnull @.str.25) #12
  %12768 = load i32, ptr %1263, align 4, !tbaa !5
  %12769 = call ptr @s2n_strerror_debug(i32 noundef %12768, ptr noundef nonnull @.str.25) #12
  %12770 = load i32, ptr %1317, align 4, !tbaa !5
  %12771 = call ptr @strerror(i32 noundef %12770) #12
  %12772 = load i32, ptr %1317, align 4, !tbaa !5
  %12773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12764, ptr noundef nonnull %.str.26.sink6284, i32 noundef %12765, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.22, i32 noundef 1353, ptr noundef %12767, ptr noundef %12769, ptr noundef %12771, i32 noundef %12772) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12774:                                            ; preds = %12747
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %103) #12
  store i16 0, ptr %103, align 2, !tbaa !54
  %12775 = load i32, ptr @test_count, align 4, !tbaa !5
  %12776 = add nsw i32 %12775, 1
  store i32 %12776, ptr @test_count, align 4, !tbaa !5
  %12777 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %101, i32 noundef 3) #12
  %12778 = icmp eq i32 %12777, -1
  br i1 %12778, label %12863, label %12885

12779:                                            ; preds = %12938
  %12780 = load i32, ptr @test_count, align 4, !tbaa !5
  %12781 = add nsw i32 %12780, 1
  store i32 %12781, ptr @test_count, align 4, !tbaa !5
  %12782 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %101, i32 noundef 3) #12
  %12783 = icmp eq i32 %12782, -1
  br i1 %12783, label %12863, label %12784

12784:                                            ; preds = %12779
  %12785 = load i32, ptr @test_count, align 4, !tbaa !5
  %12786 = add nsw i32 %12785, 1
  store i32 %12786, ptr @test_count, align 4, !tbaa !5
  %12787 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %101, ptr noundef nonnull %103) #12
  %12788 = icmp eq i32 %12787, -1
  br i1 %12788, label %12890, label %12789

12789:                                            ; preds = %12784
  %12790 = load i32, ptr @test_count, align 4, !tbaa !5
  %12791 = add nsw i32 %12790, 1
  store i32 %12791, ptr @test_count, align 4, !tbaa !5
  %12792 = load i16, ptr %103, align 2, !tbaa !54
  %.not1848.1 = icmp eq i16 %12792, 0
  br i1 %.not1848.1, label %12916, label %12793

12793:                                            ; preds = %12789
  %12794 = add nsw i32 %12790, 2
  store i32 %12794, ptr @test_count, align 4, !tbaa !5
  %12795 = zext i16 %12792 to i32
  %12796 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %101, i32 noundef %12795) #12
  %12797 = icmp eq i32 %12796, -1
  br i1 %12797, label %12943, label %12798

12798:                                            ; preds = %12793
  %12799 = load i32, ptr @test_count, align 4, !tbaa !5
  %12800 = add nsw i32 %12799, 1
  store i32 %12800, ptr @test_count, align 4, !tbaa !5
  %12801 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %101, i32 noundef 3) #12
  %12802 = icmp eq i32 %12801, -1
  br i1 %12802, label %12863, label %12803

12803:                                            ; preds = %12798
  %12804 = load i32, ptr @test_count, align 4, !tbaa !5
  %12805 = add nsw i32 %12804, 1
  store i32 %12805, ptr @test_count, align 4, !tbaa !5
  %12806 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %101, ptr noundef nonnull %103) #12
  %12807 = icmp eq i32 %12806, -1
  br i1 %12807, label %12890, label %12808

12808:                                            ; preds = %12803
  %12809 = load i32, ptr @test_count, align 4, !tbaa !5
  %12810 = add nsw i32 %12809, 1
  store i32 %12810, ptr @test_count, align 4, !tbaa !5
  %12811 = load i16, ptr %103, align 2, !tbaa !54
  %.not1848.2 = icmp eq i16 %12811, 0
  br i1 %.not1848.2, label %12916, label %12812

12812:                                            ; preds = %12808
  %12813 = add nsw i32 %12809, 2
  store i32 %12813, ptr @test_count, align 4, !tbaa !5
  %12814 = zext i16 %12811 to i32
  %12815 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %101, i32 noundef %12814) #12
  %12816 = icmp eq i32 %12815, -1
  br i1 %12816, label %12943, label %12817

12817:                                            ; preds = %12812
  %12818 = load i32, ptr @test_count, align 4, !tbaa !5
  %12819 = add nsw i32 %12818, 1
  store i32 %12819, ptr @test_count, align 4, !tbaa !5
  %12820 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %101, i32 noundef 3) #12
  %12821 = icmp eq i32 %12820, -1
  br i1 %12821, label %12863, label %12822

12822:                                            ; preds = %12817
  %12823 = load i32, ptr @test_count, align 4, !tbaa !5
  %12824 = add nsw i32 %12823, 1
  store i32 %12824, ptr @test_count, align 4, !tbaa !5
  %12825 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %101, ptr noundef nonnull %103) #12
  %12826 = icmp eq i32 %12825, -1
  br i1 %12826, label %12890, label %12827

12827:                                            ; preds = %12822
  %12828 = load i32, ptr @test_count, align 4, !tbaa !5
  %12829 = add nsw i32 %12828, 1
  store i32 %12829, ptr @test_count, align 4, !tbaa !5
  %12830 = load i16, ptr %103, align 2, !tbaa !54
  %.not1848.3 = icmp eq i16 %12830, 0
  br i1 %.not1848.3, label %12916, label %12831

12831:                                            ; preds = %12827
  %12832 = add nsw i32 %12828, 2
  store i32 %12832, ptr @test_count, align 4, !tbaa !5
  %12833 = zext i16 %12830 to i32
  %12834 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %101, i32 noundef %12833) #12
  %12835 = icmp eq i32 %12834, -1
  br i1 %12835, label %12943, label %12836

12836:                                            ; preds = %12831
  %12837 = load i32, ptr @test_count, align 4, !tbaa !5
  %12838 = add nsw i32 %12837, 1
  store i32 %12838, ptr @test_count, align 4, !tbaa !5
  %12839 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %101, i32 noundef 3) #12
  %12840 = icmp eq i32 %12839, -1
  br i1 %12840, label %12863, label %12841

12841:                                            ; preds = %12836
  %12842 = load i32, ptr @test_count, align 4, !tbaa !5
  %12843 = add nsw i32 %12842, 1
  store i32 %12843, ptr @test_count, align 4, !tbaa !5
  %12844 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %101, ptr noundef nonnull %103) #12
  %12845 = icmp eq i32 %12844, -1
  br i1 %12845, label %12890, label %12846

12846:                                            ; preds = %12841
  %12847 = load i32, ptr @test_count, align 4, !tbaa !5
  %12848 = add nsw i32 %12847, 1
  store i32 %12848, ptr @test_count, align 4, !tbaa !5
  %12849 = load i16, ptr %103, align 2, !tbaa !54
  %.not1848.4 = icmp eq i16 %12849, 0
  br i1 %.not1848.4, label %12916, label %12850

12850:                                            ; preds = %12846
  %12851 = add nsw i32 %12847, 2
  store i32 %12851, ptr @test_count, align 4, !tbaa !5
  %12852 = zext i16 %12849 to i32
  %12853 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %101, i32 noundef %12852) #12
  %12854 = icmp eq i32 %12853, -1
  br i1 %12854, label %12943, label %12855

12855:                                            ; preds = %12850
  %12856 = load i32, ptr @test_count, align 4, !tbaa !5
  %12857 = add nsw i32 %12856, 1
  store i32 %12857, ptr @test_count, align 4, !tbaa !5
  %12858 = getelementptr inbounds i8, ptr %101, i64 28
  %12859 = load i32, ptr %12858, align 4, !tbaa !51
  %12860 = getelementptr inbounds i8, ptr %101, i64 24
  %12861 = load i32, ptr %12860, align 8, !tbaa !52
  %12862 = icmp eq i32 %12859, %12861
  br i1 %12862, label %12987, label %12965

12863:                                            ; preds = %12836, %12817, %12798, %12779, %12774
  %12864 = load i32, ptr %1317, align 4, !tbaa !5
  %12865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12866 = call i32 @s2n_print_stacktrace(ptr noundef %12865) #12
  %12867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12868 = trunc nuw i8 %12867 to i1
  br i1 %12868, label %12869, label %12873

12869:                                            ; preds = %12863
  %12870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12871 = call i32 @fileno(ptr noundef %12870) #12
  %12872 = call i32 @isatty(i32 noundef %12871) #12
  %.not1852 = icmp eq i32 %12872, 0
  br i1 %.not1852, label %12873, label %12874

12873:                                            ; preds = %12869, %12863
  br label %12874

12874:                                            ; preds = %12869, %12873
  %.str.26.sink6293 = phi ptr [ @.str.26, %12873 ], [ @.str.23, %12869 ]
  store i32 %12864, ptr %1317, align 4, !tbaa !5
  %12875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12876 = load i32, ptr @test_count, align 4, !tbaa !5
  %12877 = load i32, ptr %1263, align 4, !tbaa !5
  %12878 = call ptr @s2n_strerror(i32 noundef %12877, ptr noundef nonnull @.str.25) #12
  %12879 = load i32, ptr %1263, align 4, !tbaa !5
  %12880 = call ptr @s2n_strerror_debug(i32 noundef %12879, ptr noundef nonnull @.str.25) #12
  %12881 = load i32, ptr %1317, align 4, !tbaa !5
  %12882 = call ptr @strerror(i32 noundef %12881) #12
  %12883 = load i32, ptr %1317, align 4, !tbaa !5
  %12884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12875, ptr noundef nonnull %.str.26.sink6293, i32 noundef %12876, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.22, i32 noundef 1358, ptr noundef %12878, ptr noundef %12880, ptr noundef %12882, i32 noundef %12883) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12885:                                            ; preds = %12774
  %12886 = load i32, ptr @test_count, align 4, !tbaa !5
  %12887 = add nsw i32 %12886, 1
  store i32 %12887, ptr @test_count, align 4, !tbaa !5
  %12888 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %101, ptr noundef nonnull %103) #12
  %12889 = icmp eq i32 %12888, -1
  br i1 %12889, label %12890, label %12912

12890:                                            ; preds = %12841, %12822, %12803, %12784, %12885
  %12891 = load i32, ptr %1317, align 4, !tbaa !5
  %12892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12893 = call i32 @s2n_print_stacktrace(ptr noundef %12892) #12
  %12894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12895 = trunc nuw i8 %12894 to i1
  br i1 %12895, label %12896, label %12900

12896:                                            ; preds = %12890
  %12897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12898 = call i32 @fileno(ptr noundef %12897) #12
  %12899 = call i32 @isatty(i32 noundef %12898) #12
  %.not1851 = icmp eq i32 %12899, 0
  br i1 %.not1851, label %12900, label %12901

12900:                                            ; preds = %12896, %12890
  br label %12901

12901:                                            ; preds = %12896, %12900
  %.str.26.sink6302 = phi ptr [ @.str.26, %12900 ], [ @.str.23, %12896 ]
  store i32 %12891, ptr %1317, align 4, !tbaa !5
  %12902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12903 = load i32, ptr @test_count, align 4, !tbaa !5
  %12904 = load i32, ptr %1263, align 4, !tbaa !5
  %12905 = call ptr @s2n_strerror(i32 noundef %12904, ptr noundef nonnull @.str.25) #12
  %12906 = load i32, ptr %1263, align 4, !tbaa !5
  %12907 = call ptr @s2n_strerror_debug(i32 noundef %12906, ptr noundef nonnull @.str.25) #12
  %12908 = load i32, ptr %1317, align 4, !tbaa !5
  %12909 = call ptr @strerror(i32 noundef %12908) #12
  %12910 = load i32, ptr %1317, align 4, !tbaa !5
  %12911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12902, ptr noundef nonnull %.str.26.sink6302, i32 noundef %12903, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.22, i32 noundef 1359, ptr noundef %12905, ptr noundef %12907, ptr noundef %12909, i32 noundef %12910) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12912:                                            ; preds = %12885
  %12913 = load i32, ptr @test_count, align 4, !tbaa !5
  %12914 = add nsw i32 %12913, 1
  store i32 %12914, ptr @test_count, align 4, !tbaa !5
  %12915 = load i16, ptr %103, align 2, !tbaa !54
  %.not1848 = icmp eq i16 %12915, 0
  br i1 %.not1848, label %12916, label %12938

12916:                                            ; preds = %12846, %12827, %12808, %12789, %12912
  %12917 = load i32, ptr %1317, align 4, !tbaa !5
  %12918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12919 = call i32 @s2n_print_stacktrace(ptr noundef %12918) #12
  %12920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12921 = trunc nuw i8 %12920 to i1
  br i1 %12921, label %12922, label %12926

12922:                                            ; preds = %12916
  %12923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12924 = call i32 @fileno(ptr noundef %12923) #12
  %12925 = call i32 @isatty(i32 noundef %12924) #12
  %.not1849 = icmp eq i32 %12925, 0
  br i1 %.not1849, label %12926, label %12927

12926:                                            ; preds = %12922, %12916
  br label %12927

12927:                                            ; preds = %12922, %12926
  %.str.26.sink6311 = phi ptr [ @.str.26, %12926 ], [ @.str.23, %12922 ]
  store i32 %12917, ptr %1317, align 4, !tbaa !5
  %12928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12929 = load i32, ptr @test_count, align 4, !tbaa !5
  %12930 = load i32, ptr %1263, align 4, !tbaa !5
  %12931 = call ptr @s2n_strerror(i32 noundef %12930, ptr noundef nonnull @.str.25) #12
  %12932 = load i32, ptr %1263, align 4, !tbaa !5
  %12933 = call ptr @s2n_strerror_debug(i32 noundef %12932, ptr noundef nonnull @.str.25) #12
  %12934 = load i32, ptr %1317, align 4, !tbaa !5
  %12935 = call ptr @strerror(i32 noundef %12934) #12
  %12936 = load i32, ptr %1317, align 4, !tbaa !5
  %12937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12928, ptr noundef nonnull %.str.26.sink6311, i32 noundef %12929, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.22, i32 noundef 1360, ptr noundef %12931, ptr noundef %12933, ptr noundef %12935, i32 noundef %12936) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12938:                                            ; preds = %12912
  %12939 = add nsw i32 %12913, 2
  store i32 %12939, ptr @test_count, align 4, !tbaa !5
  %12940 = zext i16 %12915 to i32
  %12941 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %101, i32 noundef %12940) #12
  %12942 = icmp eq i32 %12941, -1
  br i1 %12942, label %12943, label %12779

12943:                                            ; preds = %12850, %12831, %12812, %12793, %12938
  %12944 = load i32, ptr %1317, align 4, !tbaa !5
  %12945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12946 = call i32 @s2n_print_stacktrace(ptr noundef %12945) #12
  %12947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12948 = trunc nuw i8 %12947 to i1
  br i1 %12948, label %12949, label %12953

12949:                                            ; preds = %12943
  %12950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12951 = call i32 @fileno(ptr noundef %12950) #12
  %12952 = call i32 @isatty(i32 noundef %12951) #12
  %.not1850 = icmp eq i32 %12952, 0
  br i1 %.not1850, label %12953, label %12954

12953:                                            ; preds = %12949, %12943
  br label %12954

12954:                                            ; preds = %12949, %12953
  %.str.26.sink6320 = phi ptr [ @.str.26, %12953 ], [ @.str.23, %12949 ]
  store i32 %12944, ptr %1317, align 4, !tbaa !5
  %12955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12956 = load i32, ptr @test_count, align 4, !tbaa !5
  %12957 = load i32, ptr %1263, align 4, !tbaa !5
  %12958 = call ptr @s2n_strerror(i32 noundef %12957, ptr noundef nonnull @.str.25) #12
  %12959 = load i32, ptr %1263, align 4, !tbaa !5
  %12960 = call ptr @s2n_strerror_debug(i32 noundef %12959, ptr noundef nonnull @.str.25) #12
  %12961 = load i32, ptr %1317, align 4, !tbaa !5
  %12962 = call ptr @strerror(i32 noundef %12961) #12
  %12963 = load i32, ptr %1317, align 4, !tbaa !5
  %12964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12955, ptr noundef nonnull %.str.26.sink6320, i32 noundef %12956, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.22, i32 noundef 1361, ptr noundef %12958, ptr noundef %12960, ptr noundef %12962, i32 noundef %12963) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12965:                                            ; preds = %12855
  %12966 = load i32, ptr %1317, align 4, !tbaa !5
  %12967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12968 = call i32 @s2n_print_stacktrace(ptr noundef %12967) #12
  %12969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12970 = trunc nuw i8 %12969 to i1
  br i1 %12970, label %12971, label %12975

12971:                                            ; preds = %12965
  %12972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12973 = call i32 @fileno(ptr noundef %12972) #12
  %12974 = call i32 @isatty(i32 noundef %12973) #12
  %.not1772 = icmp eq i32 %12974, 0
  br i1 %.not1772, label %12975, label %12976

12975:                                            ; preds = %12971, %12965
  br label %12976

12976:                                            ; preds = %12971, %12975
  %.str.26.sink6329 = phi ptr [ @.str.26, %12975 ], [ @.str.23, %12971 ]
  store i32 %12966, ptr %1317, align 4, !tbaa !5
  %12977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12978 = load i32, ptr @test_count, align 4, !tbaa !5
  %12979 = load i32, ptr %1263, align 4, !tbaa !5
  %12980 = call ptr @s2n_strerror(i32 noundef %12979, ptr noundef nonnull @.str.25) #12
  %12981 = load i32, ptr %1263, align 4, !tbaa !5
  %12982 = call ptr @s2n_strerror_debug(i32 noundef %12981, ptr noundef nonnull @.str.25) #12
  %12983 = load i32, ptr %1317, align 4, !tbaa !5
  %12984 = call ptr @strerror(i32 noundef %12983) #12
  %12985 = load i32, ptr %1317, align 4, !tbaa !5
  %12986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12977, ptr noundef nonnull %.str.26.sink6329, i32 noundef %12978, ptr noundef nonnull @.str.201, ptr noundef nonnull @.str.22, i32 noundef 1363, ptr noundef %12980, ptr noundef %12982, ptr noundef %12984, i32 noundef %12985) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12987:                                            ; preds = %12855
  %12988 = add nsw i32 %12856, 2
  store i32 %12988, ptr @test_count, align 4, !tbaa !5
  %12989 = call i32 @s2n_stuffer_rewrite(ptr noundef nonnull %101) #12
  %12990 = icmp eq i32 %12989, -1
  br i1 %12990, label %12991, label %13013

12991:                                            ; preds = %12987
  %12992 = load i32, ptr %1317, align 4, !tbaa !5
  %12993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12994 = call i32 @s2n_print_stacktrace(ptr noundef %12993) #12
  %12995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12996 = trunc nuw i8 %12995 to i1
  br i1 %12996, label %12997, label %13001

12997:                                            ; preds = %12991
  %12998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12999 = call i32 @fileno(ptr noundef %12998) #12
  %13000 = call i32 @isatty(i32 noundef %12999) #12
  %.not1847 = icmp eq i32 %13000, 0
  br i1 %.not1847, label %13001, label %13002

13001:                                            ; preds = %12997, %12991
  br label %13002

13002:                                            ; preds = %12997, %13001
  %.str.26.sink6338 = phi ptr [ @.str.26, %13001 ], [ @.str.23, %12997 ]
  store i32 %12992, ptr %1317, align 4, !tbaa !5
  %13003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13004 = load i32, ptr @test_count, align 4, !tbaa !5
  %13005 = load i32, ptr %1263, align 4, !tbaa !5
  %13006 = call ptr @s2n_strerror(i32 noundef %13005, ptr noundef nonnull @.str.25) #12
  %13007 = load i32, ptr %1263, align 4, !tbaa !5
  %13008 = call ptr @s2n_strerror_debug(i32 noundef %13007, ptr noundef nonnull @.str.25) #12
  %13009 = load i32, ptr %1317, align 4, !tbaa !5
  %13010 = call ptr @strerror(i32 noundef %13009) #12
  %13011 = load i32, ptr %1317, align 4, !tbaa !5
  %13012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13003, ptr noundef nonnull %.str.26.sink6338, i32 noundef %13004, ptr noundef nonnull @.str.202, ptr noundef nonnull @.str.22, i32 noundef 1366, ptr noundef %13006, ptr noundef %13008, ptr noundef %13010, i32 noundef %13011) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13013:                                            ; preds = %12987
  %13014 = load i32, ptr @test_count, align 4, !tbaa !5
  %13015 = add nsw i32 %13014, 1
  store i32 %13015, ptr @test_count, align 4, !tbaa !5
  %13016 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %12557, ptr noundef nonnull %102)
  %13017 = call zeroext i1 @s2n_result_is_ok(i32 %13016)
  br i1 %13017, label %13040, label %13018

13018:                                            ; preds = %13013
  %13019 = load i32, ptr %1317, align 4, !tbaa !5
  %13020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13021 = call i32 @s2n_print_stacktrace(ptr noundef %13020) #12
  %13022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13023 = trunc nuw i8 %13022 to i1
  br i1 %13023, label %13024, label %13028

13024:                                            ; preds = %13018
  %13025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13026 = call i32 @fileno(ptr noundef %13025) #12
  %13027 = call i32 @isatty(i32 noundef %13026) #12
  %.not1773 = icmp eq i32 %13027, 0
  br i1 %.not1773, label %13028, label %13029

13028:                                            ; preds = %13024, %13018
  br label %13029

13029:                                            ; preds = %13024, %13028
  %.str.26.sink6347 = phi ptr [ @.str.26, %13028 ], [ @.str.23, %13024 ]
  store i32 %13019, ptr %1317, align 4, !tbaa !5
  %13030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13031 = load i32, ptr @test_count, align 4, !tbaa !5
  %13032 = load i32, ptr %1263, align 4, !tbaa !5
  %13033 = call ptr @s2n_strerror(i32 noundef %13032, ptr noundef nonnull @.str.25) #12
  %13034 = load i32, ptr %1263, align 4, !tbaa !5
  %13035 = call ptr @s2n_strerror_debug(i32 noundef %13034, ptr noundef nonnull @.str.25) #12
  %13036 = load i32, ptr %1317, align 4, !tbaa !5
  %13037 = call ptr @strerror(i32 noundef %13036) #12
  %13038 = load i32, ptr %1317, align 4, !tbaa !5
  %13039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13030, ptr noundef nonnull %.str.26.sink6347, i32 noundef %13031, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1367, ptr noundef %13033, ptr noundef %13035, ptr noundef %13037, i32 noundef %13038) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13040:                                            ; preds = %13013
  %13041 = load i32, ptr @test_count, align 4, !tbaa !5
  %13042 = add nsw i32 %13041, 1
  store i32 %13042, ptr @test_count, align 4, !tbaa !5
  %13043 = load i32, ptr %12858, align 4, !tbaa !51
  %13044 = load i32, ptr %12860, align 8, !tbaa !52
  %13045 = icmp eq i32 %13043, %13044
  br i1 %13045, label %13068, label %13046

13046:                                            ; preds = %13040
  %13047 = load i32, ptr %1317, align 4, !tbaa !5
  %13048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13049 = call i32 @s2n_print_stacktrace(ptr noundef %13048) #12
  %13050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13051 = trunc nuw i8 %13050 to i1
  br i1 %13051, label %13052, label %13056

13052:                                            ; preds = %13046
  %13053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13054 = call i32 @fileno(ptr noundef %13053) #12
  %13055 = call i32 @isatty(i32 noundef %13054) #12
  %.not1774 = icmp eq i32 %13055, 0
  br i1 %.not1774, label %13056, label %13057

13056:                                            ; preds = %13052, %13046
  br label %13057

13057:                                            ; preds = %13052, %13056
  %.str.26.sink6356 = phi ptr [ @.str.26, %13056 ], [ @.str.23, %13052 ]
  store i32 %13047, ptr %1317, align 4, !tbaa !5
  %13058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13059 = load i32, ptr @test_count, align 4, !tbaa !5
  %13060 = load i32, ptr %1263, align 4, !tbaa !5
  %13061 = call ptr @s2n_strerror(i32 noundef %13060, ptr noundef nonnull @.str.25) #12
  %13062 = load i32, ptr %1263, align 4, !tbaa !5
  %13063 = call ptr @s2n_strerror_debug(i32 noundef %13062, ptr noundef nonnull @.str.25) #12
  %13064 = load i32, ptr %1317, align 4, !tbaa !5
  %13065 = call ptr @strerror(i32 noundef %13064) #12
  %13066 = load i32, ptr %1317, align 4, !tbaa !5
  %13067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13058, ptr noundef nonnull %.str.26.sink6356, i32 noundef %13059, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.22, i32 noundef 1368, ptr noundef %13061, ptr noundef %13063, ptr noundef %13065, i32 noundef %13066) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13068:                                            ; preds = %13040
  %13069 = add nsw i32 %13041, 2
  store i32 %13069, ptr @test_count, align 4, !tbaa !5
  %13070 = call i32 @s2n_stuffer_free(ptr noundef nonnull %101) #12
  %13071 = icmp eq i32 %13070, -1
  br i1 %13071, label %13072, label %13094

13072:                                            ; preds = %13068
  %13073 = load i32, ptr %1317, align 4, !tbaa !5
  %13074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13075 = call i32 @s2n_print_stacktrace(ptr noundef %13074) #12
  %13076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13077 = trunc nuw i8 %13076 to i1
  br i1 %13077, label %13078, label %13082

13078:                                            ; preds = %13072
  %13079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13080 = call i32 @fileno(ptr noundef %13079) #12
  %13081 = call i32 @isatty(i32 noundef %13080) #12
  %.not1846 = icmp eq i32 %13081, 0
  br i1 %.not1846, label %13082, label %13083

13082:                                            ; preds = %13078, %13072
  br label %13083

13083:                                            ; preds = %13078, %13082
  %.str.26.sink6365 = phi ptr [ @.str.26, %13082 ], [ @.str.23, %13078 ]
  store i32 %13073, ptr %1317, align 4, !tbaa !5
  %13084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13085 = load i32, ptr @test_count, align 4, !tbaa !5
  %13086 = load i32, ptr %1263, align 4, !tbaa !5
  %13087 = call ptr @s2n_strerror(i32 noundef %13086, ptr noundef nonnull @.str.25) #12
  %13088 = load i32, ptr %1263, align 4, !tbaa !5
  %13089 = call ptr @s2n_strerror_debug(i32 noundef %13088, ptr noundef nonnull @.str.25) #12
  %13090 = load i32, ptr %1317, align 4, !tbaa !5
  %13091 = call ptr @strerror(i32 noundef %13090) #12
  %13092 = load i32, ptr %1317, align 4, !tbaa !5
  %13093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13084, ptr noundef nonnull %.str.26.sink6365, i32 noundef %13085, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.22, i32 noundef 1370, ptr noundef %13087, ptr noundef %13089, ptr noundef %13091, i32 noundef %13092) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13094:                                            ; preds = %13068
  %13095 = load i32, ptr @test_count, align 4, !tbaa !5
  %13096 = add nsw i32 %13095, 1
  store i32 %13096, ptr @test_count, align 4, !tbaa !5
  %13097 = call i32 @s2n_connection_free(ptr noundef nonnull %12557) #12
  %13098 = icmp eq i32 %13097, -1
  br i1 %13098, label %13099, label %13121

13099:                                            ; preds = %13094
  %13100 = load i32, ptr %1317, align 4, !tbaa !5
  %13101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13102 = call i32 @s2n_print_stacktrace(ptr noundef %13101) #12
  %13103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13104 = trunc nuw i8 %13103 to i1
  br i1 %13104, label %13105, label %13109

13105:                                            ; preds = %13099
  %13106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13107 = call i32 @fileno(ptr noundef %13106) #12
  %13108 = call i32 @isatty(i32 noundef %13107) #12
  %.not1845 = icmp eq i32 %13108, 0
  br i1 %.not1845, label %13109, label %13110

13109:                                            ; preds = %13105, %13099
  br label %13110

13110:                                            ; preds = %13105, %13109
  %.str.26.sink6374 = phi ptr [ @.str.26, %13109 ], [ @.str.23, %13105 ]
  store i32 %13100, ptr %1317, align 4, !tbaa !5
  %13111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13112 = load i32, ptr @test_count, align 4, !tbaa !5
  %13113 = load i32, ptr %1263, align 4, !tbaa !5
  %13114 = call ptr @s2n_strerror(i32 noundef %13113, ptr noundef nonnull @.str.25) #12
  %13115 = load i32, ptr %1263, align 4, !tbaa !5
  %13116 = call ptr @s2n_strerror_debug(i32 noundef %13115, ptr noundef nonnull @.str.25) #12
  %13117 = load i32, ptr %1317, align 4, !tbaa !5
  %13118 = call ptr @strerror(i32 noundef %13117) #12
  %13119 = load i32, ptr %1317, align 4, !tbaa !5
  %13120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13111, ptr noundef nonnull %.str.26.sink6374, i32 noundef %13112, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 1371, ptr noundef %13114, ptr noundef %13116, ptr noundef %13118, i32 noundef %13119) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13121:                                            ; preds = %13094
  %13122 = load i32, ptr @test_count, align 4, !tbaa !5
  %13123 = add nsw i32 %13122, 1
  store i32 %13123, ptr @test_count, align 4, !tbaa !5
  %13124 = call i32 @s2n_config_free(ptr noundef nonnull %12584) #12
  %13125 = icmp eq i32 %13124, -1
  br i1 %13125, label %13126, label %13148

13126:                                            ; preds = %13121
  %13127 = load i32, ptr %1317, align 4, !tbaa !5
  %13128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13129 = call i32 @s2n_print_stacktrace(ptr noundef %13128) #12
  %13130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13131 = trunc nuw i8 %13130 to i1
  br i1 %13131, label %13132, label %13136

13132:                                            ; preds = %13126
  %13133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13134 = call i32 @fileno(ptr noundef %13133) #12
  %13135 = call i32 @isatty(i32 noundef %13134) #12
  %.not1844 = icmp eq i32 %13135, 0
  br i1 %.not1844, label %13136, label %13137

13136:                                            ; preds = %13132, %13126
  br label %13137

13137:                                            ; preds = %13132, %13136
  %.str.26.sink6383 = phi ptr [ @.str.26, %13136 ], [ @.str.23, %13132 ]
  store i32 %13127, ptr %1317, align 4, !tbaa !5
  %13138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13139 = load i32, ptr @test_count, align 4, !tbaa !5
  %13140 = load i32, ptr %1263, align 4, !tbaa !5
  %13141 = call ptr @s2n_strerror(i32 noundef %13140, ptr noundef nonnull @.str.25) #12
  %13142 = load i32, ptr %1263, align 4, !tbaa !5
  %13143 = call ptr @s2n_strerror_debug(i32 noundef %13142, ptr noundef nonnull @.str.25) #12
  %13144 = load i32, ptr %1317, align 4, !tbaa !5
  %13145 = call ptr @strerror(i32 noundef %13144) #12
  %13146 = load i32, ptr %1317, align 4, !tbaa !5
  %13147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13138, ptr noundef nonnull %.str.26.sink6383, i32 noundef %13139, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 1372, ptr noundef %13141, ptr noundef %13143, ptr noundef %13145, i32 noundef %13146) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13148:                                            ; preds = %13121
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %103) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %102) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %101) #12
  %13149 = call ptr @s2n_config_new() #12
  %13150 = load i32, ptr @test_count, align 4, !tbaa !5
  %13151 = add nsw i32 %13150, 1
  store i32 %13151, ptr @test_count, align 4, !tbaa !5
  %13152 = icmp eq ptr %13149, null
  br i1 %13152, label %13153, label %13175

13153:                                            ; preds = %13148
  %13154 = load i32, ptr %1317, align 4, !tbaa !5
  %13155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13156 = call i32 @s2n_print_stacktrace(ptr noundef %13155) #12
  %13157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13158 = trunc nuw i8 %13157 to i1
  br i1 %13158, label %13159, label %13163

13159:                                            ; preds = %13153
  %13160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13161 = call i32 @fileno(ptr noundef %13160) #12
  %13162 = call i32 @isatty(i32 noundef %13161) #12
  %.not1843 = icmp eq i32 %13162, 0
  br i1 %.not1843, label %13163, label %13164

13163:                                            ; preds = %13159, %13153
  br label %13164

13164:                                            ; preds = %13159, %13163
  %.str.26.sink6392 = phi ptr [ @.str.26, %13163 ], [ @.str.23, %13159 ]
  store i32 %13154, ptr %1317, align 4, !tbaa !5
  %13165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13166 = load i32, ptr @test_count, align 4, !tbaa !5
  %13167 = load i32, ptr %1263, align 4, !tbaa !5
  %13168 = call ptr @s2n_strerror(i32 noundef %13167, ptr noundef nonnull @.str.25) #12
  %13169 = load i32, ptr %1263, align 4, !tbaa !5
  %13170 = call ptr @s2n_strerror_debug(i32 noundef %13169, ptr noundef nonnull @.str.25) #12
  %13171 = load i32, ptr %1317, align 4, !tbaa !5
  %13172 = call ptr @strerror(i32 noundef %13171) #12
  %13173 = load i32, ptr %1317, align 4, !tbaa !5
  %13174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13165, ptr noundef nonnull %.str.26.sink6392, i32 noundef %13166, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.22, i32 noundef 1378, ptr noundef %13168, ptr noundef %13170, ptr noundef %13172, i32 noundef %13173) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13175:                                            ; preds = %13148
  %13176 = add nsw i32 %13150, 2
  store i32 %13176, ptr @test_count, align 4, !tbaa !5
  %13177 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %13149) #12
  %13178 = call zeroext i1 @s2n_result_is_ok(i32 %13177)
  br i1 %13178, label %13201, label %13179

13179:                                            ; preds = %13175
  %13180 = load i32, ptr %1317, align 4, !tbaa !5
  %13181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13182 = call i32 @s2n_print_stacktrace(ptr noundef %13181) #12
  %13183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13184 = trunc nuw i8 %13183 to i1
  br i1 %13184, label %13185, label %13189

13185:                                            ; preds = %13179
  %13186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13187 = call i32 @fileno(ptr noundef %13186) #12
  %13188 = call i32 @isatty(i32 noundef %13187) #12
  %.not1775 = icmp eq i32 %13188, 0
  br i1 %.not1775, label %13189, label %13190

13189:                                            ; preds = %13185, %13179
  br label %13190

13190:                                            ; preds = %13185, %13189
  %.str.26.sink6401 = phi ptr [ @.str.26, %13189 ], [ @.str.23, %13185 ]
  store i32 %13180, ptr %1317, align 4, !tbaa !5
  %13191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13192 = load i32, ptr @test_count, align 4, !tbaa !5
  %13193 = load i32, ptr %1263, align 4, !tbaa !5
  %13194 = call ptr @s2n_strerror(i32 noundef %13193, ptr noundef nonnull @.str.25) #12
  %13195 = load i32, ptr %1263, align 4, !tbaa !5
  %13196 = call ptr @s2n_strerror_debug(i32 noundef %13195, ptr noundef nonnull @.str.25) #12
  %13197 = load i32, ptr %1317, align 4, !tbaa !5
  %13198 = call ptr @strerror(i32 noundef %13197) #12
  %13199 = load i32, ptr %1317, align 4, !tbaa !5
  %13200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13191, ptr noundef nonnull %.str.26.sink6401, i32 noundef %13192, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 1379, ptr noundef %13194, ptr noundef %13196, ptr noundef %13198, i32 noundef %13199) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13201:                                            ; preds = %13175
  %13202 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %13203 = load i32, ptr @test_count, align 4, !tbaa !5
  %13204 = add nsw i32 %13203, 1
  store i32 %13204, ptr @test_count, align 4, !tbaa !5
  %13205 = icmp eq ptr %13202, null
  br i1 %13205, label %13206, label %13228

13206:                                            ; preds = %13201
  %13207 = load i32, ptr %1317, align 4, !tbaa !5
  %13208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13209 = call i32 @s2n_print_stacktrace(ptr noundef %13208) #12
  %13210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13211 = trunc nuw i8 %13210 to i1
  br i1 %13211, label %13212, label %13216

13212:                                            ; preds = %13206
  %13213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13214 = call i32 @fileno(ptr noundef %13213) #12
  %13215 = call i32 @isatty(i32 noundef %13214) #12
  %.not1842 = icmp eq i32 %13215, 0
  br i1 %.not1842, label %13216, label %13217

13216:                                            ; preds = %13212, %13206
  br label %13217

13217:                                            ; preds = %13212, %13216
  %.str.26.sink6410 = phi ptr [ @.str.26, %13216 ], [ @.str.23, %13212 ]
  store i32 %13207, ptr %1317, align 4, !tbaa !5
  %13218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13219 = load i32, ptr @test_count, align 4, !tbaa !5
  %13220 = load i32, ptr %1263, align 4, !tbaa !5
  %13221 = call ptr @s2n_strerror(i32 noundef %13220, ptr noundef nonnull @.str.25) #12
  %13222 = load i32, ptr %1263, align 4, !tbaa !5
  %13223 = call ptr @s2n_strerror_debug(i32 noundef %13222, ptr noundef nonnull @.str.25) #12
  %13224 = load i32, ptr %1317, align 4, !tbaa !5
  %13225 = call ptr @strerror(i32 noundef %13224) #12
  %13226 = load i32, ptr %1317, align 4, !tbaa !5
  %13227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13218, ptr noundef nonnull %.str.26.sink6410, i32 noundef %13219, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.22, i32 noundef 1382, ptr noundef %13221, ptr noundef %13223, ptr noundef %13225, i32 noundef %13226) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13228:                                            ; preds = %13201
  %13229 = add nsw i32 %13203, 2
  store i32 %13229, ptr @test_count, align 4, !tbaa !5
  %13230 = call i32 @s2n_connection_set_config(ptr noundef nonnull %13202, ptr noundef nonnull %13149) #12
  %13231 = icmp eq i32 %13230, -1
  br i1 %13231, label %13232, label %13254

13232:                                            ; preds = %13228
  %13233 = load i32, ptr %1317, align 4, !tbaa !5
  %13234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13235 = call i32 @s2n_print_stacktrace(ptr noundef %13234) #12
  %13236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13237 = trunc nuw i8 %13236 to i1
  br i1 %13237, label %13238, label %13242

13238:                                            ; preds = %13232
  %13239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13240 = call i32 @fileno(ptr noundef %13239) #12
  %13241 = call i32 @isatty(i32 noundef %13240) #12
  %.not1841 = icmp eq i32 %13241, 0
  br i1 %.not1841, label %13242, label %13243

13242:                                            ; preds = %13238, %13232
  br label %13243

13243:                                            ; preds = %13238, %13242
  %.str.26.sink6419 = phi ptr [ @.str.26, %13242 ], [ @.str.23, %13238 ]
  store i32 %13233, ptr %1317, align 4, !tbaa !5
  %13244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13245 = load i32, ptr @test_count, align 4, !tbaa !5
  %13246 = load i32, ptr %1263, align 4, !tbaa !5
  %13247 = call ptr @s2n_strerror(i32 noundef %13246, ptr noundef nonnull @.str.25) #12
  %13248 = load i32, ptr %1263, align 4, !tbaa !5
  %13249 = call ptr @s2n_strerror_debug(i32 noundef %13248, ptr noundef nonnull @.str.25) #12
  %13250 = load i32, ptr %1317, align 4, !tbaa !5
  %13251 = call ptr @strerror(i32 noundef %13250) #12
  %13252 = load i32, ptr %1317, align 4, !tbaa !5
  %13253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13244, ptr noundef nonnull %.str.26.sink6419, i32 noundef %13245, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.22, i32 noundef 1383, ptr noundef %13247, ptr noundef %13249, ptr noundef %13251, i32 noundef %13252) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13254:                                            ; preds = %13228
  %13255 = getelementptr inbounds i8, ptr %13202, i64 220
  store i8 34, ptr %13255, align 4, !tbaa !17
  %13256 = getelementptr inbounds i8, ptr %13202, i64 232
  %13257 = load ptr, ptr %13256, align 8, !tbaa !43
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %13257, align 8, !tbaa !44
  %13258 = load i32, ptr @test_count, align 4, !tbaa !5
  %13259 = add nsw i32 %13258, 1
  store i32 %13259, ptr @test_count, align 4, !tbaa !5
  %13260 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %13202, i32 noundef 10) #12
  %13261 = icmp eq i32 %13260, -1
  br i1 %13261, label %13262, label %13284

13262:                                            ; preds = %13254
  %13263 = load i32, ptr %1317, align 4, !tbaa !5
  %13264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13265 = call i32 @s2n_print_stacktrace(ptr noundef %13264) #12
  %13266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13267 = trunc nuw i8 %13266 to i1
  br i1 %13267, label %13268, label %13272

13268:                                            ; preds = %13262
  %13269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13270 = call i32 @fileno(ptr noundef %13269) #12
  %13271 = call i32 @isatty(i32 noundef %13270) #12
  %.not1840 = icmp eq i32 %13271, 0
  br i1 %.not1840, label %13272, label %13273

13272:                                            ; preds = %13268, %13262
  br label %13273

13273:                                            ; preds = %13268, %13272
  %.str.26.sink6428 = phi ptr [ @.str.26, %13272 ], [ @.str.23, %13268 ]
  store i32 %13263, ptr %1317, align 4, !tbaa !5
  %13274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13275 = load i32, ptr @test_count, align 4, !tbaa !5
  %13276 = load i32, ptr %1263, align 4, !tbaa !5
  %13277 = call ptr @s2n_strerror(i32 noundef %13276, ptr noundef nonnull @.str.25) #12
  %13278 = load i32, ptr %1263, align 4, !tbaa !5
  %13279 = call ptr @s2n_strerror_debug(i32 noundef %13278, ptr noundef nonnull @.str.25) #12
  %13280 = load i32, ptr %1317, align 4, !tbaa !5
  %13281 = call ptr @strerror(i32 noundef %13280) #12
  %13282 = load i32, ptr %1317, align 4, !tbaa !5
  %13283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13274, ptr noundef nonnull %.str.26.sink6428, i32 noundef %13275, ptr noundef nonnull @.str.203, ptr noundef nonnull @.str.22, i32 noundef 1390, ptr noundef %13277, ptr noundef %13279, ptr noundef %13281, i32 noundef %13282) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13284:                                            ; preds = %13254
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %104) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %104, i8 0, i64 40, i1 false)
  %13285 = load i32, ptr @test_count, align 4, !tbaa !5
  %13286 = add nsw i32 %13285, 1
  store i32 %13286, ptr @test_count, align 4, !tbaa !5
  %13287 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %104, i32 noundef 0) #12
  %13288 = icmp eq i32 %13287, -1
  br i1 %13288, label %13289, label %13311

13289:                                            ; preds = %13284
  %13290 = load i32, ptr %1317, align 4, !tbaa !5
  %13291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13292 = call i32 @s2n_print_stacktrace(ptr noundef %13291) #12
  %13293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13294 = trunc nuw i8 %13293 to i1
  br i1 %13294, label %13295, label %13299

13295:                                            ; preds = %13289
  %13296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13297 = call i32 @fileno(ptr noundef %13296) #12
  %13298 = call i32 @isatty(i32 noundef %13297) #12
  %.not1839 = icmp eq i32 %13298, 0
  br i1 %.not1839, label %13299, label %13300

13299:                                            ; preds = %13295, %13289
  br label %13300

13300:                                            ; preds = %13295, %13299
  %.str.26.sink6437 = phi ptr [ @.str.26, %13299 ], [ @.str.23, %13295 ]
  store i32 %13290, ptr %1317, align 4, !tbaa !5
  %13301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13302 = load i32, ptr @test_count, align 4, !tbaa !5
  %13303 = load i32, ptr %1263, align 4, !tbaa !5
  %13304 = call ptr @s2n_strerror(i32 noundef %13303, ptr noundef nonnull @.str.25) #12
  %13305 = load i32, ptr %1263, align 4, !tbaa !5
  %13306 = call ptr @s2n_strerror_debug(i32 noundef %13305, ptr noundef nonnull @.str.25) #12
  %13307 = load i32, ptr %1317, align 4, !tbaa !5
  %13308 = call ptr @strerror(i32 noundef %13307) #12
  %13309 = load i32, ptr %1317, align 4, !tbaa !5
  %13310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13301, ptr noundef nonnull %.str.26.sink6437, i32 noundef %13302, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.22, i32 noundef 1394, ptr noundef %13304, ptr noundef %13306, ptr noundef %13308, i32 noundef %13309) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13311:                                            ; preds = %13284
  %13312 = load i32, ptr @test_count, align 4, !tbaa !5
  %13313 = add nsw i32 %13312, 1
  store i32 %13313, ptr @test_count, align 4, !tbaa !5
  %13314 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %104, ptr noundef nonnull %104, ptr noundef nonnull %13202) #12
  %13315 = icmp eq i32 %13314, -1
  br i1 %13315, label %13316, label %13338

13316:                                            ; preds = %13311
  %13317 = load i32, ptr %1317, align 4, !tbaa !5
  %13318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13319 = call i32 @s2n_print_stacktrace(ptr noundef %13318) #12
  %13320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13321 = trunc nuw i8 %13320 to i1
  br i1 %13321, label %13322, label %13326

13322:                                            ; preds = %13316
  %13323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13324 = call i32 @fileno(ptr noundef %13323) #12
  %13325 = call i32 @isatty(i32 noundef %13324) #12
  %.not1838 = icmp eq i32 %13325, 0
  br i1 %.not1838, label %13326, label %13327

13326:                                            ; preds = %13322, %13316
  br label %13327

13327:                                            ; preds = %13322, %13326
  %.str.26.sink6446 = phi ptr [ @.str.26, %13326 ], [ @.str.23, %13322 ]
  store i32 %13317, ptr %1317, align 4, !tbaa !5
  %13328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13329 = load i32, ptr @test_count, align 4, !tbaa !5
  %13330 = load i32, ptr %1263, align 4, !tbaa !5
  %13331 = call ptr @s2n_strerror(i32 noundef %13330, ptr noundef nonnull @.str.25) #12
  %13332 = load i32, ptr %1263, align 4, !tbaa !5
  %13333 = call ptr @s2n_strerror_debug(i32 noundef %13332, ptr noundef nonnull @.str.25) #12
  %13334 = load i32, ptr %1317, align 4, !tbaa !5
  %13335 = call ptr @strerror(i32 noundef %13334) #12
  %13336 = load i32, ptr %1317, align 4, !tbaa !5
  %13337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13328, ptr noundef nonnull %.str.26.sink6446, i32 noundef %13329, ptr noundef nonnull @.str.204, ptr noundef nonnull @.str.22, i32 noundef 1395, ptr noundef %13331, ptr noundef %13333, ptr noundef %13335, i32 noundef %13336) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13338:                                            ; preds = %13311
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #12
  store i64 0, ptr %105, align 8, !tbaa !15
  %13339 = load i32, ptr @test_count, align 4, !tbaa !5
  %13340 = add nsw i32 %13339, 1
  store i32 %13340, ptr @test_count, align 4, !tbaa !5
  %13341 = call i32 @s2n_connection_get_session_state_size(ptr noundef nonnull %13202, ptr noundef nonnull %105) #12
  %13342 = call zeroext i1 @s2n_result_is_ok(i32 %13341)
  br i1 %13342, label %13365, label %13343

13343:                                            ; preds = %13338
  %13344 = load i32, ptr %1317, align 4, !tbaa !5
  %13345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13346 = call i32 @s2n_print_stacktrace(ptr noundef %13345) #12
  %13347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13348 = trunc nuw i8 %13347 to i1
  br i1 %13348, label %13349, label %13353

13349:                                            ; preds = %13343
  %13350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13351 = call i32 @fileno(ptr noundef %13350) #12
  %13352 = call i32 @isatty(i32 noundef %13351) #12
  %.not1776 = icmp eq i32 %13352, 0
  br i1 %.not1776, label %13353, label %13354

13353:                                            ; preds = %13349, %13343
  br label %13354

13354:                                            ; preds = %13349, %13353
  %.str.26.sink6455 = phi ptr [ @.str.26, %13353 ], [ @.str.23, %13349 ]
  store i32 %13344, ptr %1317, align 4, !tbaa !5
  %13355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13356 = load i32, ptr @test_count, align 4, !tbaa !5
  %13357 = load i32, ptr %1263, align 4, !tbaa !5
  %13358 = call ptr @s2n_strerror(i32 noundef %13357, ptr noundef nonnull @.str.25) #12
  %13359 = load i32, ptr %1263, align 4, !tbaa !5
  %13360 = call ptr @s2n_strerror_debug(i32 noundef %13359, ptr noundef nonnull @.str.25) #12
  %13361 = load i32, ptr %1317, align 4, !tbaa !5
  %13362 = call ptr @strerror(i32 noundef %13361) #12
  %13363 = load i32, ptr %1317, align 4, !tbaa !5
  %13364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13355, ptr noundef nonnull %.str.26.sink6455, i32 noundef %13356, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.22, i32 noundef 1400, ptr noundef %13358, ptr noundef %13360, ptr noundef %13362, i32 noundef %13363) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13365:                                            ; preds = %13338
  %13366 = load i32, ptr @test_count, align 4, !tbaa !5
  %13367 = add nsw i32 %13366, 1
  store i32 %13367, ptr @test_count, align 4, !tbaa !5
  %13368 = load i64, ptr %105, align 8, !tbaa !15
  %13369 = icmp eq i64 %13368, 0
  br i1 %13369, label %13370, label %13392

13370:                                            ; preds = %13365
  %13371 = load i32, ptr %1317, align 4, !tbaa !5
  %13372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13373 = call i32 @s2n_print_stacktrace(ptr noundef %13372) #12
  %13374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13375 = trunc nuw i8 %13374 to i1
  br i1 %13375, label %13376, label %13380

13376:                                            ; preds = %13370
  %13377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13378 = call i32 @fileno(ptr noundef %13377) #12
  %13379 = call i32 @isatty(i32 noundef %13378) #12
  %.not1837 = icmp eq i32 %13379, 0
  br i1 %.not1837, label %13380, label %13381

13380:                                            ; preds = %13376, %13370
  br label %13381

13381:                                            ; preds = %13376, %13380
  %.str.26.sink6464 = phi ptr [ @.str.26, %13380 ], [ @.str.23, %13376 ]
  store i32 %13371, ptr %1317, align 4, !tbaa !5
  %13382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13383 = load i32, ptr @test_count, align 4, !tbaa !5
  %13384 = load i32, ptr %1263, align 4, !tbaa !5
  %13385 = call ptr @s2n_strerror(i32 noundef %13384, ptr noundef nonnull @.str.25) #12
  %13386 = load i32, ptr %1263, align 4, !tbaa !5
  %13387 = call ptr @s2n_strerror_debug(i32 noundef %13386, ptr noundef nonnull @.str.25) #12
  %13388 = load i32, ptr %1317, align 4, !tbaa !5
  %13389 = call ptr @strerror(i32 noundef %13388) #12
  %13390 = load i32, ptr %1317, align 4, !tbaa !5
  %13391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13382, ptr noundef nonnull %.str.26.sink6464, i32 noundef %13383, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.22, i32 noundef 1401, ptr noundef %13385, ptr noundef %13387, ptr noundef %13389, i32 noundef %13390) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13392:                                            ; preds = %13365
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %106) #12
  store i32 0, ptr %106, align 4, !tbaa !5
  %13393 = add nsw i32 %13366, 2
  store i32 %13393, ptr @test_count, align 4, !tbaa !5
  %13394 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %13202, ptr noundef nonnull %106)
  %13395 = call zeroext i1 @s2n_result_is_ok(i32 %13394)
  br i1 %13395, label %13418, label %13396

13396:                                            ; preds = %13392
  %13397 = load i32, ptr %1317, align 4, !tbaa !5
  %13398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13399 = call i32 @s2n_print_stacktrace(ptr noundef %13398) #12
  %13400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13401 = trunc nuw i8 %13400 to i1
  br i1 %13401, label %13402, label %13406

13402:                                            ; preds = %13396
  %13403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13404 = call i32 @fileno(ptr noundef %13403) #12
  %13405 = call i32 @isatty(i32 noundef %13404) #12
  %.not1777 = icmp eq i32 %13405, 0
  br i1 %.not1777, label %13406, label %13407

13406:                                            ; preds = %13402, %13396
  br label %13407

13407:                                            ; preds = %13402, %13406
  %.str.26.sink6473 = phi ptr [ @.str.26, %13406 ], [ @.str.23, %13402 ]
  store i32 %13397, ptr %1317, align 4, !tbaa !5
  %13408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13409 = load i32, ptr @test_count, align 4, !tbaa !5
  %13410 = load i32, ptr %1263, align 4, !tbaa !5
  %13411 = call ptr @s2n_strerror(i32 noundef %13410, ptr noundef nonnull @.str.25) #12
  %13412 = load i32, ptr %1263, align 4, !tbaa !5
  %13413 = call ptr @s2n_strerror_debug(i32 noundef %13412, ptr noundef nonnull @.str.25) #12
  %13414 = load i32, ptr %1317, align 4, !tbaa !5
  %13415 = call ptr @strerror(i32 noundef %13414) #12
  %13416 = load i32, ptr %1317, align 4, !tbaa !5
  %13417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13408, ptr noundef nonnull %.str.26.sink6473, i32 noundef %13409, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1404, ptr noundef %13411, ptr noundef %13413, ptr noundef %13415, i32 noundef %13416) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13418:                                            ; preds = %13392
  %13419 = load i32, ptr @test_count, align 4, !tbaa !5
  %13420 = add nsw i32 %13419, 1
  store i32 %13420, ptr @test_count, align 4, !tbaa !5
  %13421 = getelementptr inbounds i8, ptr %104, i64 28
  %13422 = load i32, ptr %13421, align 4, !tbaa !51
  %13423 = getelementptr inbounds i8, ptr %104, i64 24
  %13424 = load i32, ptr %13423, align 8, !tbaa !52
  %13425 = icmp eq i32 %13422, %13424
  br i1 %13425, label %13426, label %13448

13426:                                            ; preds = %13418
  %13427 = load i32, ptr %1317, align 4, !tbaa !5
  %13428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13429 = call i32 @s2n_print_stacktrace(ptr noundef %13428) #12
  %13430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13431 = trunc nuw i8 %13430 to i1
  br i1 %13431, label %13432, label %13436

13432:                                            ; preds = %13426
  %13433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13434 = call i32 @fileno(ptr noundef %13433) #12
  %13435 = call i32 @isatty(i32 noundef %13434) #12
  %.not1836 = icmp eq i32 %13435, 0
  br i1 %.not1836, label %13436, label %13437

13436:                                            ; preds = %13432, %13426
  br label %13437

13437:                                            ; preds = %13432, %13436
  %.str.26.sink6482 = phi ptr [ @.str.26, %13436 ], [ @.str.23, %13432 ]
  store i32 %13427, ptr %1317, align 4, !tbaa !5
  %13438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13439 = load i32, ptr @test_count, align 4, !tbaa !5
  %13440 = load i32, ptr %1263, align 4, !tbaa !5
  %13441 = call ptr @s2n_strerror(i32 noundef %13440, ptr noundef nonnull @.str.25) #12
  %13442 = load i32, ptr %1263, align 4, !tbaa !5
  %13443 = call ptr @s2n_strerror_debug(i32 noundef %13442, ptr noundef nonnull @.str.25) #12
  %13444 = load i32, ptr %1317, align 4, !tbaa !5
  %13445 = call ptr @strerror(i32 noundef %13444) #12
  %13446 = load i32, ptr %1317, align 4, !tbaa !5
  %13447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13438, ptr noundef nonnull %.str.26.sink6482, i32 noundef %13439, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.22, i32 noundef 1405, ptr noundef %13441, ptr noundef %13443, ptr noundef %13445, i32 noundef %13446) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13448:                                            ; preds = %13418
  %13449 = load i64, ptr %105, align 8, !tbaa !15
  %13450 = trunc i64 %13449 to i32
  %.neg2170 = add i32 %13422, -5
  %13451 = add i32 %13424, %13450
  %13452 = sub i32 %.neg2170, %13451
  %.not1778 = icmp eq i32 %13452, 112
  br i1 %.not1778, label %13479, label %13453

13453:                                            ; preds = %13448
  %13454 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13454, ptr noundef nonnull @.str.208, i32 noundef 112, i32 noundef %13452) #12
  %13456 = load i32, ptr @test_count, align 4, !tbaa !5
  %13457 = add nsw i32 %13456, 1
  store i32 %13457, ptr @test_count, align 4, !tbaa !5
  %13458 = load i32, ptr %1317, align 4, !tbaa !5
  %13459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13460 = call i32 @s2n_print_stacktrace(ptr noundef %13459) #12
  %13461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13462 = trunc nuw i8 %13461 to i1
  br i1 %13462, label %13463, label %13467

13463:                                            ; preds = %13453
  %13464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13465 = call i32 @fileno(ptr noundef %13464) #12
  %13466 = call i32 @isatty(i32 noundef %13465) #12
  %.not1779 = icmp eq i32 %13466, 0
  br i1 %.not1779, label %13467, label %13468

13467:                                            ; preds = %13463, %13453
  br label %13468

13468:                                            ; preds = %13463, %13467
  %.str.26.sink6491 = phi ptr [ @.str.26, %13467 ], [ @.str.23, %13463 ]
  store i32 %13458, ptr %1317, align 4, !tbaa !5
  %13469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13470 = load i32, ptr @test_count, align 4, !tbaa !5
  %13471 = load i32, ptr %1263, align 4, !tbaa !5
  %13472 = call ptr @s2n_strerror(i32 noundef %13471, ptr noundef nonnull @.str.25) #12
  %13473 = load i32, ptr %1263, align 4, !tbaa !5
  %13474 = call ptr @s2n_strerror_debug(i32 noundef %13473, ptr noundef nonnull @.str.25) #12
  %13475 = load i32, ptr %1317, align 4, !tbaa !5
  %13476 = call ptr @strerror(i32 noundef %13475) #12
  %13477 = load i32, ptr %1317, align 4, !tbaa !5
  %13478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13469, ptr noundef nonnull %.str.26.sink6491, i32 noundef %13470, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.22, i32 noundef 1413, ptr noundef %13472, ptr noundef %13474, ptr noundef %13476, i32 noundef %13477) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13479:                                            ; preds = %13448
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %106) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #12
  %13480 = add nsw i32 %13419, 3
  store i32 %13480, ptr @test_count, align 4, !tbaa !5
  %13481 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %104) #12
  %13482 = icmp eq i32 %13481, -1
  br i1 %13482, label %13483, label %13505

13483:                                            ; preds = %13479
  %13484 = load i32, ptr %1317, align 4, !tbaa !5
  %13485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13486 = call i32 @s2n_print_stacktrace(ptr noundef %13485) #12
  %13487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13488 = trunc nuw i8 %13487 to i1
  br i1 %13488, label %13489, label %13493

13489:                                            ; preds = %13483
  %13490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13491 = call i32 @fileno(ptr noundef %13490) #12
  %13492 = call i32 @isatty(i32 noundef %13491) #12
  %.not1835 = icmp eq i32 %13492, 0
  br i1 %.not1835, label %13493, label %13494

13493:                                            ; preds = %13489, %13483
  br label %13494

13494:                                            ; preds = %13489, %13493
  %.str.26.sink6500 = phi ptr [ @.str.26, %13493 ], [ @.str.23, %13489 ]
  store i32 %13484, ptr %1317, align 4, !tbaa !5
  %13495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13496 = load i32, ptr @test_count, align 4, !tbaa !5
  %13497 = load i32, ptr %1263, align 4, !tbaa !5
  %13498 = call ptr @s2n_strerror(i32 noundef %13497, ptr noundef nonnull @.str.25) #12
  %13499 = load i32, ptr %1263, align 4, !tbaa !5
  %13500 = call ptr @s2n_strerror_debug(i32 noundef %13499, ptr noundef nonnull @.str.25) #12
  %13501 = load i32, ptr %1317, align 4, !tbaa !5
  %13502 = call ptr @strerror(i32 noundef %13501) #12
  %13503 = load i32, ptr %1317, align 4, !tbaa !5
  %13504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13495, ptr noundef nonnull %.str.26.sink6500, i32 noundef %13496, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.22, i32 noundef 1416, ptr noundef %13498, ptr noundef %13500, ptr noundef %13502, i32 noundef %13503) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13505:                                            ; preds = %13479
  %13506 = getelementptr inbounds i8, ptr %13202, i64 4084
  %13507 = load i16, ptr %13506, align 4, !tbaa !79
  %13508 = add i16 %13507, 1
  store i16 %13508, ptr %13506, align 4, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 19, ptr nonnull %107) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(19) %107, ptr noundef nonnull align 16 dereferenceable(19) @__const.main.early_data_context, i64 19, i1 false)
  %13509 = load i32, ptr @test_count, align 4, !tbaa !5
  %13510 = add nsw i32 %13509, 1
  store i32 %13510, ptr @test_count, align 4, !tbaa !5
  %13511 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef nonnull %13202, ptr noundef nonnull %107, i16 noundef zeroext 19) #12
  %13512 = icmp eq i32 %13511, -1
  br i1 %13512, label %13513, label %13535

13513:                                            ; preds = %13505
  %13514 = load i32, ptr %1317, align 4, !tbaa !5
  %13515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13516 = call i32 @s2n_print_stacktrace(ptr noundef %13515) #12
  %13517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13518 = trunc nuw i8 %13517 to i1
  br i1 %13518, label %13519, label %13523

13519:                                            ; preds = %13513
  %13520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13521 = call i32 @fileno(ptr noundef %13520) #12
  %13522 = call i32 @isatty(i32 noundef %13521) #12
  %.not1834 = icmp eq i32 %13522, 0
  br i1 %.not1834, label %13523, label %13524

13523:                                            ; preds = %13519, %13513
  br label %13524

13524:                                            ; preds = %13519, %13523
  %.str.26.sink6509 = phi ptr [ @.str.26, %13523 ], [ @.str.23, %13519 ]
  store i32 %13514, ptr %1317, align 4, !tbaa !5
  %13525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13526 = load i32, ptr @test_count, align 4, !tbaa !5
  %13527 = load i32, ptr %1263, align 4, !tbaa !5
  %13528 = call ptr @s2n_strerror(i32 noundef %13527, ptr noundef nonnull @.str.25) #12
  %13529 = load i32, ptr %1263, align 4, !tbaa !5
  %13530 = call ptr @s2n_strerror_debug(i32 noundef %13529, ptr noundef nonnull @.str.25) #12
  %13531 = load i32, ptr %1317, align 4, !tbaa !5
  %13532 = call ptr @strerror(i32 noundef %13531) #12
  %13533 = load i32, ptr %1317, align 4, !tbaa !5
  %13534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13525, ptr noundef nonnull %.str.26.sink6509, i32 noundef %13526, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.22, i32 noundef 1423, ptr noundef %13528, ptr noundef %13530, ptr noundef %13532, i32 noundef %13533) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13535:                                            ; preds = %13505
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #12
  store i64 0, ptr %108, align 8, !tbaa !15
  %13536 = load i32, ptr @test_count, align 4, !tbaa !5
  %13537 = add nsw i32 %13536, 1
  store i32 %13537, ptr @test_count, align 4, !tbaa !5
  %13538 = call i32 @s2n_connection_get_session_state_size(ptr noundef nonnull %13202, ptr noundef nonnull %108) #12
  %13539 = call zeroext i1 @s2n_result_is_ok(i32 %13538)
  br i1 %13539, label %13562, label %13540

13540:                                            ; preds = %13535
  %13541 = load i32, ptr %1317, align 4, !tbaa !5
  %13542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13543 = call i32 @s2n_print_stacktrace(ptr noundef %13542) #12
  %13544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13545 = trunc nuw i8 %13544 to i1
  br i1 %13545, label %13546, label %13550

13546:                                            ; preds = %13540
  %13547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13548 = call i32 @fileno(ptr noundef %13547) #12
  %13549 = call i32 @isatty(i32 noundef %13548) #12
  %.not1780 = icmp eq i32 %13549, 0
  br i1 %.not1780, label %13550, label %13551

13550:                                            ; preds = %13546, %13540
  br label %13551

13551:                                            ; preds = %13546, %13550
  %.str.26.sink6518 = phi ptr [ @.str.26, %13550 ], [ @.str.23, %13546 ]
  store i32 %13541, ptr %1317, align 4, !tbaa !5
  %13552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13553 = load i32, ptr @test_count, align 4, !tbaa !5
  %13554 = load i32, ptr %1263, align 4, !tbaa !5
  %13555 = call ptr @s2n_strerror(i32 noundef %13554, ptr noundef nonnull @.str.25) #12
  %13556 = load i32, ptr %1263, align 4, !tbaa !5
  %13557 = call ptr @s2n_strerror_debug(i32 noundef %13556, ptr noundef nonnull @.str.25) #12
  %13558 = load i32, ptr %1317, align 4, !tbaa !5
  %13559 = call ptr @strerror(i32 noundef %13558) #12
  %13560 = load i32, ptr %1317, align 4, !tbaa !5
  %13561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13552, ptr noundef nonnull %.str.26.sink6518, i32 noundef %13553, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.22, i32 noundef 1426, ptr noundef %13555, ptr noundef %13557, ptr noundef %13559, i32 noundef %13560) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13562:                                            ; preds = %13535
  %13563 = load i32, ptr @test_count, align 4, !tbaa !5
  %13564 = add nsw i32 %13563, 1
  store i32 %13564, ptr @test_count, align 4, !tbaa !5
  %13565 = load i64, ptr %108, align 8, !tbaa !15
  %13566 = icmp eq i64 %13565, 0
  br i1 %13566, label %13567, label %13589

13567:                                            ; preds = %13562
  %13568 = load i32, ptr %1317, align 4, !tbaa !5
  %13569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13570 = call i32 @s2n_print_stacktrace(ptr noundef %13569) #12
  %13571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13572 = trunc nuw i8 %13571 to i1
  br i1 %13572, label %13573, label %13577

13573:                                            ; preds = %13567
  %13574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13575 = call i32 @fileno(ptr noundef %13574) #12
  %13576 = call i32 @isatty(i32 noundef %13575) #12
  %.not1833 = icmp eq i32 %13576, 0
  br i1 %.not1833, label %13577, label %13578

13577:                                            ; preds = %13573, %13567
  br label %13578

13578:                                            ; preds = %13573, %13577
  %.str.26.sink6527 = phi ptr [ @.str.26, %13577 ], [ @.str.23, %13573 ]
  store i32 %13568, ptr %1317, align 4, !tbaa !5
  %13579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13580 = load i32, ptr @test_count, align 4, !tbaa !5
  %13581 = load i32, ptr %1263, align 4, !tbaa !5
  %13582 = call ptr @s2n_strerror(i32 noundef %13581, ptr noundef nonnull @.str.25) #12
  %13583 = load i32, ptr %1263, align 4, !tbaa !5
  %13584 = call ptr @s2n_strerror_debug(i32 noundef %13583, ptr noundef nonnull @.str.25) #12
  %13585 = load i32, ptr %1317, align 4, !tbaa !5
  %13586 = call ptr @strerror(i32 noundef %13585) #12
  %13587 = load i32, ptr %1317, align 4, !tbaa !5
  %13588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13579, ptr noundef nonnull %.str.26.sink6527, i32 noundef %13580, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.22, i32 noundef 1427, ptr noundef %13582, ptr noundef %13584, ptr noundef %13586, i32 noundef %13587) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13589:                                            ; preds = %13562
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %109) #12
  store i32 0, ptr %109, align 4, !tbaa !5
  %13590 = add nsw i32 %13563, 2
  store i32 %13590, ptr @test_count, align 4, !tbaa !5
  %13591 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %13202, ptr noundef nonnull %109)
  %13592 = call zeroext i1 @s2n_result_is_ok(i32 %13591)
  br i1 %13592, label %13615, label %13593

13593:                                            ; preds = %13589
  %13594 = load i32, ptr %1317, align 4, !tbaa !5
  %13595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13596 = call i32 @s2n_print_stacktrace(ptr noundef %13595) #12
  %13597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13598 = trunc nuw i8 %13597 to i1
  br i1 %13598, label %13599, label %13603

13599:                                            ; preds = %13593
  %13600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13601 = call i32 @fileno(ptr noundef %13600) #12
  %13602 = call i32 @isatty(i32 noundef %13601) #12
  %.not1781 = icmp eq i32 %13602, 0
  br i1 %.not1781, label %13603, label %13604

13603:                                            ; preds = %13599, %13593
  br label %13604

13604:                                            ; preds = %13599, %13603
  %.str.26.sink6536 = phi ptr [ @.str.26, %13603 ], [ @.str.23, %13599 ]
  store i32 %13594, ptr %1317, align 4, !tbaa !5
  %13605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13606 = load i32, ptr @test_count, align 4, !tbaa !5
  %13607 = load i32, ptr %1263, align 4, !tbaa !5
  %13608 = call ptr @s2n_strerror(i32 noundef %13607, ptr noundef nonnull @.str.25) #12
  %13609 = load i32, ptr %1263, align 4, !tbaa !5
  %13610 = call ptr @s2n_strerror_debug(i32 noundef %13609, ptr noundef nonnull @.str.25) #12
  %13611 = load i32, ptr %1317, align 4, !tbaa !5
  %13612 = call ptr @strerror(i32 noundef %13611) #12
  %13613 = load i32, ptr %1317, align 4, !tbaa !5
  %13614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13605, ptr noundef nonnull %.str.26.sink6536, i32 noundef %13606, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1430, ptr noundef %13608, ptr noundef %13610, ptr noundef %13612, i32 noundef %13613) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13615:                                            ; preds = %13589
  %13616 = load i32, ptr @test_count, align 4, !tbaa !5
  %13617 = add nsw i32 %13616, 1
  store i32 %13617, ptr @test_count, align 4, !tbaa !5
  %13618 = load i32, ptr %13421, align 4, !tbaa !51
  %13619 = load i32, ptr %13423, align 8, !tbaa !52
  %13620 = icmp eq i32 %13618, %13619
  br i1 %13620, label %13621, label %13643

13621:                                            ; preds = %13615
  %13622 = load i32, ptr %1317, align 4, !tbaa !5
  %13623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13624 = call i32 @s2n_print_stacktrace(ptr noundef %13623) #12
  %13625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13626 = trunc nuw i8 %13625 to i1
  br i1 %13626, label %13627, label %13631

13627:                                            ; preds = %13621
  %13628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13629 = call i32 @fileno(ptr noundef %13628) #12
  %13630 = call i32 @isatty(i32 noundef %13629) #12
  %.not1832 = icmp eq i32 %13630, 0
  br i1 %.not1832, label %13631, label %13632

13631:                                            ; preds = %13627, %13621
  br label %13632

13632:                                            ; preds = %13627, %13631
  %.str.26.sink6545 = phi ptr [ @.str.26, %13631 ], [ @.str.23, %13627 ]
  store i32 %13622, ptr %1317, align 4, !tbaa !5
  %13633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13634 = load i32, ptr @test_count, align 4, !tbaa !5
  %13635 = load i32, ptr %1263, align 4, !tbaa !5
  %13636 = call ptr @s2n_strerror(i32 noundef %13635, ptr noundef nonnull @.str.25) #12
  %13637 = load i32, ptr %1263, align 4, !tbaa !5
  %13638 = call ptr @s2n_strerror_debug(i32 noundef %13637, ptr noundef nonnull @.str.25) #12
  %13639 = load i32, ptr %1317, align 4, !tbaa !5
  %13640 = call ptr @strerror(i32 noundef %13639) #12
  %13641 = load i32, ptr %1317, align 4, !tbaa !5
  %13642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13633, ptr noundef nonnull %.str.26.sink6545, i32 noundef %13634, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.22, i32 noundef 1431, ptr noundef %13636, ptr noundef %13638, ptr noundef %13640, i32 noundef %13641) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13643:                                            ; preds = %13615
  %13644 = load i64, ptr %108, align 8, !tbaa !15
  %13645 = trunc i64 %13644 to i32
  %.neg2173 = add i32 %13618, -5
  %13646 = add i32 %13619, %13645
  %13647 = sub i32 %.neg2173, %13646
  %13648 = add nsw i32 %13616, 2
  store i32 %13648, ptr @test_count, align 4, !tbaa !5
  %13649 = icmp eq i32 %13647, 112
  br i1 %13649, label %13672, label %13650

13650:                                            ; preds = %13643
  %13651 = load i32, ptr %1317, align 4, !tbaa !5
  %13652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13653 = call i32 @s2n_print_stacktrace(ptr noundef %13652) #12
  %13654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13655 = trunc nuw i8 %13654 to i1
  br i1 %13655, label %13656, label %13660

13656:                                            ; preds = %13650
  %13657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13658 = call i32 @fileno(ptr noundef %13657) #12
  %13659 = call i32 @isatty(i32 noundef %13658) #12
  %.not1782 = icmp eq i32 %13659, 0
  br i1 %.not1782, label %13660, label %13661

13660:                                            ; preds = %13656, %13650
  br label %13661

13661:                                            ; preds = %13656, %13660
  %.str.26.sink6554 = phi ptr [ @.str.26, %13660 ], [ @.str.23, %13656 ]
  store i32 %13651, ptr %1317, align 4, !tbaa !5
  %13662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13663 = load i32, ptr @test_count, align 4, !tbaa !5
  %13664 = load i32, ptr %1263, align 4, !tbaa !5
  %13665 = call ptr @s2n_strerror(i32 noundef %13664, ptr noundef nonnull @.str.25) #12
  %13666 = load i32, ptr %1263, align 4, !tbaa !5
  %13667 = call ptr @s2n_strerror_debug(i32 noundef %13666, ptr noundef nonnull @.str.25) #12
  %13668 = load i32, ptr %1317, align 4, !tbaa !5
  %13669 = call ptr @strerror(i32 noundef %13668) #12
  %13670 = load i32, ptr %1317, align 4, !tbaa !5
  %13671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13662, ptr noundef nonnull %.str.26.sink6554, i32 noundef %13663, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.22, i32 noundef 1435, ptr noundef %13665, ptr noundef %13667, ptr noundef %13669, i32 noundef %13670) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13672:                                            ; preds = %13643
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %109) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #12
  call void @llvm.lifetime.end.p0(i64 19, ptr nonnull %107) #12
  %13673 = add nsw i32 %13616, 3
  store i32 %13673, ptr @test_count, align 4, !tbaa !5
  %13674 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %104) #12
  %13675 = icmp eq i32 %13674, -1
  br i1 %13675, label %13676, label %13698

13676:                                            ; preds = %13672
  %13677 = load i32, ptr %1317, align 4, !tbaa !5
  %13678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13679 = call i32 @s2n_print_stacktrace(ptr noundef %13678) #12
  %13680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13681 = trunc nuw i8 %13680 to i1
  br i1 %13681, label %13682, label %13686

13682:                                            ; preds = %13676
  %13683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13684 = call i32 @fileno(ptr noundef %13683) #12
  %13685 = call i32 @isatty(i32 noundef %13684) #12
  %.not1831 = icmp eq i32 %13685, 0
  br i1 %.not1831, label %13686, label %13687

13686:                                            ; preds = %13682, %13676
  br label %13687

13687:                                            ; preds = %13682, %13686
  %.str.26.sink6563 = phi ptr [ @.str.26, %13686 ], [ @.str.23, %13682 ]
  store i32 %13677, ptr %1317, align 4, !tbaa !5
  %13688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13689 = load i32, ptr @test_count, align 4, !tbaa !5
  %13690 = load i32, ptr %1263, align 4, !tbaa !5
  %13691 = call ptr @s2n_strerror(i32 noundef %13690, ptr noundef nonnull @.str.25) #12
  %13692 = load i32, ptr %1263, align 4, !tbaa !5
  %13693 = call ptr @s2n_strerror_debug(i32 noundef %13692, ptr noundef nonnull @.str.25) #12
  %13694 = load i32, ptr %1317, align 4, !tbaa !5
  %13695 = call ptr @strerror(i32 noundef %13694) #12
  %13696 = load i32, ptr %1317, align 4, !tbaa !5
  %13697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13688, ptr noundef nonnull %.str.26.sink6563, i32 noundef %13689, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.22, i32 noundef 1438, ptr noundef %13691, ptr noundef %13693, ptr noundef %13695, i32 noundef %13696) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13698:                                            ; preds = %13672
  %13699 = load i16, ptr %13506, align 4, !tbaa !79
  %13700 = add i16 %13699, 1
  store i16 %13700, ptr %13506, align 4, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 29, ptr nonnull %110) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(29) %110, ptr noundef nonnull align 16 dereferenceable(29) @__const.main.early_data_context.211, i64 29, i1 false)
  %13701 = load i32, ptr @test_count, align 4, !tbaa !5
  %13702 = add nsw i32 %13701, 1
  store i32 %13702, ptr @test_count, align 4, !tbaa !5
  %13703 = call i32 @s2n_connection_set_server_early_data_context(ptr noundef nonnull %13202, ptr noundef nonnull %110, i16 noundef zeroext 29) #12
  %13704 = icmp eq i32 %13703, -1
  br i1 %13704, label %13705, label %13727

13705:                                            ; preds = %13698
  %13706 = load i32, ptr %1317, align 4, !tbaa !5
  %13707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13708 = call i32 @s2n_print_stacktrace(ptr noundef %13707) #12
  %13709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13710 = trunc nuw i8 %13709 to i1
  br i1 %13710, label %13711, label %13715

13711:                                            ; preds = %13705
  %13712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13713 = call i32 @fileno(ptr noundef %13712) #12
  %13714 = call i32 @isatty(i32 noundef %13713) #12
  %.not1830 = icmp eq i32 %13714, 0
  br i1 %.not1830, label %13715, label %13716

13715:                                            ; preds = %13711, %13705
  br label %13716

13716:                                            ; preds = %13711, %13715
  %.str.26.sink6572 = phi ptr [ @.str.26, %13715 ], [ @.str.23, %13711 ]
  store i32 %13706, ptr %1317, align 4, !tbaa !5
  %13717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13718 = load i32, ptr @test_count, align 4, !tbaa !5
  %13719 = load i32, ptr %1263, align 4, !tbaa !5
  %13720 = call ptr @s2n_strerror(i32 noundef %13719, ptr noundef nonnull @.str.25) #12
  %13721 = load i32, ptr %1263, align 4, !tbaa !5
  %13722 = call ptr @s2n_strerror_debug(i32 noundef %13721, ptr noundef nonnull @.str.25) #12
  %13723 = load i32, ptr %1317, align 4, !tbaa !5
  %13724 = call ptr @strerror(i32 noundef %13723) #12
  %13725 = load i32, ptr %1317, align 4, !tbaa !5
  %13726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13717, ptr noundef nonnull %.str.26.sink6572, i32 noundef %13718, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.22, i32 noundef 1445, ptr noundef %13720, ptr noundef %13722, ptr noundef %13724, i32 noundef %13725) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13727:                                            ; preds = %13698
  %13728 = getelementptr inbounds i8, ptr %13202, i64 2528
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(6) %13728, ptr noundef nonnull align 1 dereferenceable(6) @__const.main.app_protocol, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %111) #12
  store i64 0, ptr %111, align 8, !tbaa !15
  %13729 = load i32, ptr @test_count, align 4, !tbaa !5
  %13730 = add nsw i32 %13729, 1
  store i32 %13730, ptr @test_count, align 4, !tbaa !5
  %13731 = call i32 @s2n_connection_get_session_state_size(ptr noundef nonnull %13202, ptr noundef nonnull %111) #12
  %13732 = call zeroext i1 @s2n_result_is_ok(i32 %13731)
  br i1 %13732, label %13755, label %13733

13733:                                            ; preds = %13727
  %13734 = load i32, ptr %1317, align 4, !tbaa !5
  %13735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13736 = call i32 @s2n_print_stacktrace(ptr noundef %13735) #12
  %13737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13738 = trunc nuw i8 %13737 to i1
  br i1 %13738, label %13739, label %13743

13739:                                            ; preds = %13733
  %13740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13741 = call i32 @fileno(ptr noundef %13740) #12
  %13742 = call i32 @isatty(i32 noundef %13741) #12
  %.not1783 = icmp eq i32 %13742, 0
  br i1 %.not1783, label %13743, label %13744

13743:                                            ; preds = %13739, %13733
  br label %13744

13744:                                            ; preds = %13739, %13743
  %.str.26.sink6581 = phi ptr [ @.str.26, %13743 ], [ @.str.23, %13739 ]
  store i32 %13734, ptr %1317, align 4, !tbaa !5
  %13745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13746 = load i32, ptr @test_count, align 4, !tbaa !5
  %13747 = load i32, ptr %1263, align 4, !tbaa !5
  %13748 = call ptr @s2n_strerror(i32 noundef %13747, ptr noundef nonnull @.str.25) #12
  %13749 = load i32, ptr %1263, align 4, !tbaa !5
  %13750 = call ptr @s2n_strerror_debug(i32 noundef %13749, ptr noundef nonnull @.str.25) #12
  %13751 = load i32, ptr %1317, align 4, !tbaa !5
  %13752 = call ptr @strerror(i32 noundef %13751) #12
  %13753 = load i32, ptr %1317, align 4, !tbaa !5
  %13754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13745, ptr noundef nonnull %.str.26.sink6581, i32 noundef %13746, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.22, i32 noundef 1451, ptr noundef %13748, ptr noundef %13750, ptr noundef %13752, i32 noundef %13753) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13755:                                            ; preds = %13727
  %13756 = load i32, ptr @test_count, align 4, !tbaa !5
  %13757 = add nsw i32 %13756, 1
  store i32 %13757, ptr @test_count, align 4, !tbaa !5
  %13758 = load i64, ptr %111, align 8, !tbaa !15
  %13759 = icmp eq i64 %13758, 0
  br i1 %13759, label %13760, label %13782

13760:                                            ; preds = %13755
  %13761 = load i32, ptr %1317, align 4, !tbaa !5
  %13762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13763 = call i32 @s2n_print_stacktrace(ptr noundef %13762) #12
  %13764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13765 = trunc nuw i8 %13764 to i1
  br i1 %13765, label %13766, label %13770

13766:                                            ; preds = %13760
  %13767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13768 = call i32 @fileno(ptr noundef %13767) #12
  %13769 = call i32 @isatty(i32 noundef %13768) #12
  %.not1829 = icmp eq i32 %13769, 0
  br i1 %.not1829, label %13770, label %13771

13770:                                            ; preds = %13766, %13760
  br label %13771

13771:                                            ; preds = %13766, %13770
  %.str.26.sink6590 = phi ptr [ @.str.26, %13770 ], [ @.str.23, %13766 ]
  store i32 %13761, ptr %1317, align 4, !tbaa !5
  %13772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13773 = load i32, ptr @test_count, align 4, !tbaa !5
  %13774 = load i32, ptr %1263, align 4, !tbaa !5
  %13775 = call ptr @s2n_strerror(i32 noundef %13774, ptr noundef nonnull @.str.25) #12
  %13776 = load i32, ptr %1263, align 4, !tbaa !5
  %13777 = call ptr @s2n_strerror_debug(i32 noundef %13776, ptr noundef nonnull @.str.25) #12
  %13778 = load i32, ptr %1317, align 4, !tbaa !5
  %13779 = call ptr @strerror(i32 noundef %13778) #12
  %13780 = load i32, ptr %1317, align 4, !tbaa !5
  %13781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13772, ptr noundef nonnull %.str.26.sink6590, i32 noundef %13773, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.22, i32 noundef 1452, ptr noundef %13775, ptr noundef %13777, ptr noundef %13779, i32 noundef %13780) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13782:                                            ; preds = %13755
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %112) #12
  store i32 0, ptr %112, align 4, !tbaa !5
  %13783 = add nsw i32 %13756, 2
  store i32 %13783, ptr @test_count, align 4, !tbaa !5
  %13784 = call i32 @s2n_tls13_server_nst_send(ptr noundef nonnull %13202, ptr noundef nonnull %112)
  %13785 = call zeroext i1 @s2n_result_is_ok(i32 %13784)
  br i1 %13785, label %13808, label %13786

13786:                                            ; preds = %13782
  %13787 = load i32, ptr %1317, align 4, !tbaa !5
  %13788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13789 = call i32 @s2n_print_stacktrace(ptr noundef %13788) #12
  %13790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13791 = trunc nuw i8 %13790 to i1
  br i1 %13791, label %13792, label %13796

13792:                                            ; preds = %13786
  %13793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13794 = call i32 @fileno(ptr noundef %13793) #12
  %13795 = call i32 @isatty(i32 noundef %13794) #12
  %.not1784 = icmp eq i32 %13795, 0
  br i1 %.not1784, label %13796, label %13797

13796:                                            ; preds = %13792, %13786
  br label %13797

13797:                                            ; preds = %13792, %13796
  %.str.26.sink6599 = phi ptr [ @.str.26, %13796 ], [ @.str.23, %13792 ]
  store i32 %13787, ptr %1317, align 4, !tbaa !5
  %13798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13799 = load i32, ptr @test_count, align 4, !tbaa !5
  %13800 = load i32, ptr %1263, align 4, !tbaa !5
  %13801 = call ptr @s2n_strerror(i32 noundef %13800, ptr noundef nonnull @.str.25) #12
  %13802 = load i32, ptr %1263, align 4, !tbaa !5
  %13803 = call ptr @s2n_strerror_debug(i32 noundef %13802, ptr noundef nonnull @.str.25) #12
  %13804 = load i32, ptr %1317, align 4, !tbaa !5
  %13805 = call ptr @strerror(i32 noundef %13804) #12
  %13806 = load i32, ptr %1317, align 4, !tbaa !5
  %13807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13798, ptr noundef nonnull %.str.26.sink6599, i32 noundef %13799, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.22, i32 noundef 1455, ptr noundef %13801, ptr noundef %13803, ptr noundef %13805, i32 noundef %13806) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13808:                                            ; preds = %13782
  %13809 = load i32, ptr @test_count, align 4, !tbaa !5
  %13810 = add nsw i32 %13809, 1
  store i32 %13810, ptr @test_count, align 4, !tbaa !5
  %13811 = load i32, ptr %13421, align 4, !tbaa !51
  %13812 = load i32, ptr %13423, align 8, !tbaa !52
  %13813 = icmp eq i32 %13811, %13812
  br i1 %13813, label %13814, label %13836

13814:                                            ; preds = %13808
  %13815 = load i32, ptr %1317, align 4, !tbaa !5
  %13816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13817 = call i32 @s2n_print_stacktrace(ptr noundef %13816) #12
  %13818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13819 = trunc nuw i8 %13818 to i1
  br i1 %13819, label %13820, label %13824

13820:                                            ; preds = %13814
  %13821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13822 = call i32 @fileno(ptr noundef %13821) #12
  %13823 = call i32 @isatty(i32 noundef %13822) #12
  %.not1828 = icmp eq i32 %13823, 0
  br i1 %.not1828, label %13824, label %13825

13824:                                            ; preds = %13820, %13814
  br label %13825

13825:                                            ; preds = %13820, %13824
  %.str.26.sink6608 = phi ptr [ @.str.26, %13824 ], [ @.str.23, %13820 ]
  store i32 %13815, ptr %1317, align 4, !tbaa !5
  %13826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13827 = load i32, ptr @test_count, align 4, !tbaa !5
  %13828 = load i32, ptr %1263, align 4, !tbaa !5
  %13829 = call ptr @s2n_strerror(i32 noundef %13828, ptr noundef nonnull @.str.25) #12
  %13830 = load i32, ptr %1263, align 4, !tbaa !5
  %13831 = call ptr @s2n_strerror_debug(i32 noundef %13830, ptr noundef nonnull @.str.25) #12
  %13832 = load i32, ptr %1317, align 4, !tbaa !5
  %13833 = call ptr @strerror(i32 noundef %13832) #12
  %13834 = load i32, ptr %1317, align 4, !tbaa !5
  %13835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13826, ptr noundef nonnull %.str.26.sink6608, i32 noundef %13827, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.22, i32 noundef 1456, ptr noundef %13829, ptr noundef %13831, ptr noundef %13833, i32 noundef %13834) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13836:                                            ; preds = %13808
  %13837 = load i64, ptr %111, align 8, !tbaa !15
  %13838 = trunc i64 %13837 to i32
  %.neg2176 = add i32 %13811, -5
  %13839 = add i32 %13812, %13838
  %13840 = sub i32 %.neg2176, %13839
  %13841 = add nsw i32 %13809, 2
  store i32 %13841, ptr @test_count, align 4, !tbaa !5
  %13842 = icmp eq i32 %13840, 112
  br i1 %13842, label %13865, label %13843

13843:                                            ; preds = %13836
  %13844 = load i32, ptr %1317, align 4, !tbaa !5
  %13845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13846 = call i32 @s2n_print_stacktrace(ptr noundef %13845) #12
  %13847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13848 = trunc nuw i8 %13847 to i1
  br i1 %13848, label %13849, label %13853

13849:                                            ; preds = %13843
  %13850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13851 = call i32 @fileno(ptr noundef %13850) #12
  %13852 = call i32 @isatty(i32 noundef %13851) #12
  %.not1785 = icmp eq i32 %13852, 0
  br i1 %.not1785, label %13853, label %13854

13853:                                            ; preds = %13849, %13843
  br label %13854

13854:                                            ; preds = %13849, %13853
  %.str.26.sink6617 = phi ptr [ @.str.26, %13853 ], [ @.str.23, %13849 ]
  store i32 %13844, ptr %1317, align 4, !tbaa !5
  %13855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13856 = load i32, ptr @test_count, align 4, !tbaa !5
  %13857 = load i32, ptr %1263, align 4, !tbaa !5
  %13858 = call ptr @s2n_strerror(i32 noundef %13857, ptr noundef nonnull @.str.25) #12
  %13859 = load i32, ptr %1263, align 4, !tbaa !5
  %13860 = call ptr @s2n_strerror_debug(i32 noundef %13859, ptr noundef nonnull @.str.25) #12
  %13861 = load i32, ptr %1317, align 4, !tbaa !5
  %13862 = call ptr @strerror(i32 noundef %13861) #12
  %13863 = load i32, ptr %1317, align 4, !tbaa !5
  %13864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13855, ptr noundef nonnull %.str.26.sink6617, i32 noundef %13856, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.22, i32 noundef 1460, ptr noundef %13858, ptr noundef %13860, ptr noundef %13862, i32 noundef %13863) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13865:                                            ; preds = %13836
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %112) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #12
  call void @llvm.lifetime.end.p0(i64 29, ptr nonnull %110) #12
  %13866 = add nsw i32 %13809, 3
  store i32 %13866, ptr @test_count, align 4, !tbaa !5
  %13867 = call i32 @s2n_stuffer_free(ptr noundef nonnull %104) #12
  %13868 = icmp eq i32 %13867, -1
  br i1 %13868, label %13869, label %13891

13869:                                            ; preds = %13865
  %13870 = load i32, ptr %1317, align 4, !tbaa !5
  %13871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13872 = call i32 @s2n_print_stacktrace(ptr noundef %13871) #12
  %13873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13874 = trunc nuw i8 %13873 to i1
  br i1 %13874, label %13875, label %13879

13875:                                            ; preds = %13869
  %13876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13877 = call i32 @fileno(ptr noundef %13876) #12
  %13878 = call i32 @isatty(i32 noundef %13877) #12
  %.not1827 = icmp eq i32 %13878, 0
  br i1 %.not1827, label %13879, label %13880

13879:                                            ; preds = %13875, %13869
  br label %13880

13880:                                            ; preds = %13875, %13879
  %.str.26.sink6626 = phi ptr [ @.str.26, %13879 ], [ @.str.23, %13875 ]
  store i32 %13870, ptr %1317, align 4, !tbaa !5
  %13881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13882 = load i32, ptr @test_count, align 4, !tbaa !5
  %13883 = load i32, ptr %1263, align 4, !tbaa !5
  %13884 = call ptr @s2n_strerror(i32 noundef %13883, ptr noundef nonnull @.str.25) #12
  %13885 = load i32, ptr %1263, align 4, !tbaa !5
  %13886 = call ptr @s2n_strerror_debug(i32 noundef %13885, ptr noundef nonnull @.str.25) #12
  %13887 = load i32, ptr %1317, align 4, !tbaa !5
  %13888 = call ptr @strerror(i32 noundef %13887) #12
  %13889 = load i32, ptr %1317, align 4, !tbaa !5
  %13890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13881, ptr noundef nonnull %.str.26.sink6626, i32 noundef %13882, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.22, i32 noundef 1463, ptr noundef %13884, ptr noundef %13886, ptr noundef %13888, i32 noundef %13889) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13891:                                            ; preds = %13865
  %13892 = load i32, ptr @test_count, align 4, !tbaa !5
  %13893 = add nsw i32 %13892, 1
  store i32 %13893, ptr @test_count, align 4, !tbaa !5
  %13894 = call i32 @s2n_connection_free(ptr noundef nonnull %13202) #12
  %13895 = icmp eq i32 %13894, -1
  br i1 %13895, label %13896, label %13918

13896:                                            ; preds = %13891
  %13897 = load i32, ptr %1317, align 4, !tbaa !5
  %13898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13899 = call i32 @s2n_print_stacktrace(ptr noundef %13898) #12
  %13900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13901 = trunc nuw i8 %13900 to i1
  br i1 %13901, label %13902, label %13906

13902:                                            ; preds = %13896
  %13903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13904 = call i32 @fileno(ptr noundef %13903) #12
  %13905 = call i32 @isatty(i32 noundef %13904) #12
  %.not1826 = icmp eq i32 %13905, 0
  br i1 %.not1826, label %13906, label %13907

13906:                                            ; preds = %13902, %13896
  br label %13907

13907:                                            ; preds = %13902, %13906
  %.str.26.sink6635 = phi ptr [ @.str.26, %13906 ], [ @.str.23, %13902 ]
  store i32 %13897, ptr %1317, align 4, !tbaa !5
  %13908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13909 = load i32, ptr @test_count, align 4, !tbaa !5
  %13910 = load i32, ptr %1263, align 4, !tbaa !5
  %13911 = call ptr @s2n_strerror(i32 noundef %13910, ptr noundef nonnull @.str.25) #12
  %13912 = load i32, ptr %1263, align 4, !tbaa !5
  %13913 = call ptr @s2n_strerror_debug(i32 noundef %13912, ptr noundef nonnull @.str.25) #12
  %13914 = load i32, ptr %1317, align 4, !tbaa !5
  %13915 = call ptr @strerror(i32 noundef %13914) #12
  %13916 = load i32, ptr %1317, align 4, !tbaa !5
  %13917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13908, ptr noundef nonnull %.str.26.sink6635, i32 noundef %13909, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.22, i32 noundef 1464, ptr noundef %13911, ptr noundef %13913, ptr noundef %13915, i32 noundef %13916) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13918:                                            ; preds = %13891
  %13919 = load i32, ptr @test_count, align 4, !tbaa !5
  %13920 = add nsw i32 %13919, 1
  store i32 %13920, ptr @test_count, align 4, !tbaa !5
  %13921 = call i32 @s2n_config_free(ptr noundef nonnull %13149) #12
  %13922 = icmp eq i32 %13921, -1
  br i1 %13922, label %13923, label %13945

13923:                                            ; preds = %13918
  %13924 = load i32, ptr %1317, align 4, !tbaa !5
  %13925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13926 = call i32 @s2n_print_stacktrace(ptr noundef %13925) #12
  %13927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13928 = trunc nuw i8 %13927 to i1
  br i1 %13928, label %13929, label %13933

13929:                                            ; preds = %13923
  %13930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13931 = call i32 @fileno(ptr noundef %13930) #12
  %13932 = call i32 @isatty(i32 noundef %13931) #12
  %.not1825 = icmp eq i32 %13932, 0
  br i1 %.not1825, label %13933, label %13934

13933:                                            ; preds = %13929, %13923
  br label %13934

13934:                                            ; preds = %13929, %13933
  %.str.26.sink6644 = phi ptr [ @.str.26, %13933 ], [ @.str.23, %13929 ]
  store i32 %13924, ptr %1317, align 4, !tbaa !5
  %13935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13936 = load i32, ptr @test_count, align 4, !tbaa !5
  %13937 = load i32, ptr %1263, align 4, !tbaa !5
  %13938 = call ptr @s2n_strerror(i32 noundef %13937, ptr noundef nonnull @.str.25) #12
  %13939 = load i32, ptr %1263, align 4, !tbaa !5
  %13940 = call ptr @s2n_strerror_debug(i32 noundef %13939, ptr noundef nonnull @.str.25) #12
  %13941 = load i32, ptr %1317, align 4, !tbaa !5
  %13942 = call ptr @strerror(i32 noundef %13941) #12
  %13943 = load i32, ptr %1317, align 4, !tbaa !5
  %13944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13935, ptr noundef nonnull %.str.26.sink6644, i32 noundef %13936, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 1465, ptr noundef %13938, ptr noundef %13940, ptr noundef %13942, i32 noundef %13943) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13945:                                            ; preds = %13918
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %104) #12
  %13946 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #12
  br i1 %13946, label %13947, label %14923

13947:                                            ; preds = %13945
  %13948 = load i32, ptr @test_count, align 4, !tbaa !5
  %13949 = add nsw i32 %13948, 1
  store i32 %13949, ptr @test_count, align 4, !tbaa !5
  %13950 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %13951 = icmp eq ptr %13950, null
  br i1 %13951, label %13952, label %13974

13952:                                            ; preds = %13947
  %13953 = load i32, ptr %1317, align 4, !tbaa !5
  %13954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13955 = call i32 @s2n_print_stacktrace(ptr noundef %13954) #12
  %13956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13957 = trunc nuw i8 %13956 to i1
  br i1 %13957, label %13958, label %13962

13958:                                            ; preds = %13952
  %13959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13960 = call i32 @fileno(ptr noundef %13959) #12
  %13961 = call i32 @isatty(i32 noundef %13960) #12
  %.not1824 = icmp eq i32 %13961, 0
  br i1 %.not1824, label %13962, label %13963

13962:                                            ; preds = %13958, %13952
  br label %13963

13963:                                            ; preds = %13958, %13962
  %.str.26.sink6653 = phi ptr [ @.str.26, %13962 ], [ @.str.23, %13958 ]
  store i32 %13953, ptr %1317, align 4, !tbaa !5
  %13964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13965 = load i32, ptr @test_count, align 4, !tbaa !5
  %13966 = load i32, ptr %1263, align 4, !tbaa !5
  %13967 = call ptr @s2n_strerror(i32 noundef %13966, ptr noundef nonnull @.str.25) #12
  %13968 = load i32, ptr %1263, align 4, !tbaa !5
  %13969 = call ptr @s2n_strerror_debug(i32 noundef %13968, ptr noundef nonnull @.str.25) #12
  %13970 = load i32, ptr %1317, align 4, !tbaa !5
  %13971 = call ptr @strerror(i32 noundef %13970) #12
  %13972 = load i32, ptr %1317, align 4, !tbaa !5
  %13973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13964, ptr noundef nonnull %.str.26.sink6653, i32 noundef %13965, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.22, i32 noundef 1473, ptr noundef %13967, ptr noundef %13969, ptr noundef %13971, i32 noundef %13972) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13974:                                            ; preds = %13947
  %13975 = load i32, ptr @test_count, align 4, !tbaa !5
  %13976 = add nsw i32 %13975, 1
  store i32 %13976, ptr @test_count, align 4, !tbaa !5
  %13977 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %13978 = icmp eq ptr %13977, null
  br i1 %13978, label %13979, label %14001

13979:                                            ; preds = %13974
  %13980 = load i32, ptr %1317, align 4, !tbaa !5
  %13981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13982 = call i32 @s2n_print_stacktrace(ptr noundef %13981) #12
  %13983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13984 = trunc nuw i8 %13983 to i1
  br i1 %13984, label %13985, label %13989

13985:                                            ; preds = %13979
  %13986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13987 = call i32 @fileno(ptr noundef %13986) #12
  %13988 = call i32 @isatty(i32 noundef %13987) #12
  %.not1823 = icmp eq i32 %13988, 0
  br i1 %.not1823, label %13989, label %13990

13989:                                            ; preds = %13985, %13979
  br label %13990

13990:                                            ; preds = %13985, %13989
  %.str.26.sink6662 = phi ptr [ @.str.26, %13989 ], [ @.str.23, %13985 ]
  store i32 %13980, ptr %1317, align 4, !tbaa !5
  %13991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13992 = load i32, ptr @test_count, align 4, !tbaa !5
  %13993 = load i32, ptr %1263, align 4, !tbaa !5
  %13994 = call ptr @s2n_strerror(i32 noundef %13993, ptr noundef nonnull @.str.25) #12
  %13995 = load i32, ptr %1263, align 4, !tbaa !5
  %13996 = call ptr @s2n_strerror_debug(i32 noundef %13995, ptr noundef nonnull @.str.25) #12
  %13997 = load i32, ptr %1317, align 4, !tbaa !5
  %13998 = call ptr @strerror(i32 noundef %13997) #12
  %13999 = load i32, ptr %1317, align 4, !tbaa !5
  %14000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13991, ptr noundef nonnull %.str.26.sink6662, i32 noundef %13992, ptr noundef nonnull @.str.214, ptr noundef nonnull @.str.22, i32 noundef 1474, ptr noundef %13994, ptr noundef %13996, ptr noundef %13998, i32 noundef %13999) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14001:                                            ; preds = %13974
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %113) #12
  store ptr null, ptr %113, align 8, !tbaa !9
  %14002 = load i32, ptr @test_count, align 4, !tbaa !5
  %14003 = add nsw i32 %14002, 1
  store i32 %14003, ptr @test_count, align 4, !tbaa !5
  %14004 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %113, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.216) #12
  %14005 = icmp eq i32 %14004, -1
  br i1 %14005, label %14006, label %14028

14006:                                            ; preds = %14001
  %14007 = load i32, ptr %1317, align 4, !tbaa !5
  %14008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14009 = call i32 @s2n_print_stacktrace(ptr noundef %14008) #12
  %14010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14011 = trunc nuw i8 %14010 to i1
  br i1 %14011, label %14012, label %14016

14012:                                            ; preds = %14006
  %14013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14014 = call i32 @fileno(ptr noundef %14013) #12
  %14015 = call i32 @isatty(i32 noundef %14014) #12
  %.not1822 = icmp eq i32 %14015, 0
  br i1 %.not1822, label %14016, label %14017

14016:                                            ; preds = %14012, %14006
  br label %14017

14017:                                            ; preds = %14012, %14016
  %.str.26.sink6671 = phi ptr [ @.str.26, %14016 ], [ @.str.23, %14012 ]
  store i32 %14007, ptr %1317, align 4, !tbaa !5
  %14018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14019 = load i32, ptr @test_count, align 4, !tbaa !5
  %14020 = load i32, ptr %1263, align 4, !tbaa !5
  %14021 = call ptr @s2n_strerror(i32 noundef %14020, ptr noundef nonnull @.str.25) #12
  %14022 = load i32, ptr %1263, align 4, !tbaa !5
  %14023 = call ptr @s2n_strerror_debug(i32 noundef %14022, ptr noundef nonnull @.str.25) #12
  %14024 = load i32, ptr %1317, align 4, !tbaa !5
  %14025 = call ptr @strerror(i32 noundef %14024) #12
  %14026 = load i32, ptr %1317, align 4, !tbaa !5
  %14027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14018, ptr noundef nonnull %.str.26.sink6671, i32 noundef %14019, ptr noundef nonnull @.str.217, ptr noundef nonnull @.str.22, i32 noundef 1479, ptr noundef %14021, ptr noundef %14023, ptr noundef %14025, i32 noundef %14026) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14028:                                            ; preds = %14001
  %14029 = load i32, ptr @test_count, align 4, !tbaa !5
  %14030 = add nsw i32 %14029, 1
  store i32 %14030, ptr @test_count, align 4, !tbaa !5
  %14031 = call ptr @s2n_config_new() #12
  %14032 = icmp eq ptr %14031, null
  br i1 %14032, label %14033, label %14055

14033:                                            ; preds = %14028
  %14034 = load i32, ptr %1317, align 4, !tbaa !5
  %14035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14036 = call i32 @s2n_print_stacktrace(ptr noundef %14035) #12
  %14037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14038 = trunc nuw i8 %14037 to i1
  br i1 %14038, label %14039, label %14043

14039:                                            ; preds = %14033
  %14040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14041 = call i32 @fileno(ptr noundef %14040) #12
  %14042 = call i32 @isatty(i32 noundef %14041) #12
  %.not1821 = icmp eq i32 %14042, 0
  br i1 %.not1821, label %14043, label %14044

14043:                                            ; preds = %14039, %14033
  br label %14044

14044:                                            ; preds = %14039, %14043
  %.str.26.sink6680 = phi ptr [ @.str.26, %14043 ], [ @.str.23, %14039 ]
  store i32 %14034, ptr %1317, align 4, !tbaa !5
  %14045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14046 = load i32, ptr @test_count, align 4, !tbaa !5
  %14047 = load i32, ptr %1263, align 4, !tbaa !5
  %14048 = call ptr @s2n_strerror(i32 noundef %14047, ptr noundef nonnull @.str.25) #12
  %14049 = load i32, ptr %1263, align 4, !tbaa !5
  %14050 = call ptr @s2n_strerror_debug(i32 noundef %14049, ptr noundef nonnull @.str.25) #12
  %14051 = load i32, ptr %1317, align 4, !tbaa !5
  %14052 = call ptr @strerror(i32 noundef %14051) #12
  %14053 = load i32, ptr %1317, align 4, !tbaa !5
  %14054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14045, ptr noundef nonnull %.str.26.sink6680, i32 noundef %14046, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.22, i32 noundef 1481, ptr noundef %14048, ptr noundef %14050, ptr noundef %14052, i32 noundef %14053) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14055:                                            ; preds = %14028
  %14056 = load i32, ptr @test_count, align 4, !tbaa !5
  %14057 = add nsw i32 %14056, 1
  store i32 %14057, ptr @test_count, align 4, !tbaa !5
  %14058 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %14031, ptr noundef nonnull @.str.218) #12
  %14059 = icmp eq i32 %14058, -1
  br i1 %14059, label %14060, label %14082

14060:                                            ; preds = %14055
  %14061 = load i32, ptr %1317, align 4, !tbaa !5
  %14062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14063 = call i32 @s2n_print_stacktrace(ptr noundef %14062) #12
  %14064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14065 = trunc nuw i8 %14064 to i1
  br i1 %14065, label %14066, label %14070

14066:                                            ; preds = %14060
  %14067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14068 = call i32 @fileno(ptr noundef %14067) #12
  %14069 = call i32 @isatty(i32 noundef %14068) #12
  %.not1820 = icmp eq i32 %14069, 0
  br i1 %.not1820, label %14070, label %14071

14070:                                            ; preds = %14066, %14060
  br label %14071

14071:                                            ; preds = %14066, %14070
  %.str.26.sink6689 = phi ptr [ @.str.26, %14070 ], [ @.str.23, %14066 ]
  store i32 %14061, ptr %1317, align 4, !tbaa !5
  %14072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14073 = load i32, ptr @test_count, align 4, !tbaa !5
  %14074 = load i32, ptr %1263, align 4, !tbaa !5
  %14075 = call ptr @s2n_strerror(i32 noundef %14074, ptr noundef nonnull @.str.25) #12
  %14076 = load i32, ptr %1263, align 4, !tbaa !5
  %14077 = call ptr @s2n_strerror_debug(i32 noundef %14076, ptr noundef nonnull @.str.25) #12
  %14078 = load i32, ptr %1317, align 4, !tbaa !5
  %14079 = call ptr @strerror(i32 noundef %14078) #12
  %14080 = load i32, ptr %1317, align 4, !tbaa !5
  %14081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14072, ptr noundef nonnull %.str.26.sink6689, i32 noundef %14073, ptr noundef nonnull @.str.219, ptr noundef nonnull @.str.22, i32 noundef 1482, ptr noundef %14075, ptr noundef %14077, ptr noundef %14079, i32 noundef %14080) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14082:                                            ; preds = %14055
  %14083 = load i32, ptr @test_count, align 4, !tbaa !5
  %14084 = add nsw i32 %14083, 1
  store i32 %14084, ptr @test_count, align 4, !tbaa !5
  %14085 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %14031) #12
  %14086 = icmp eq i32 %14085, -1
  br i1 %14086, label %14087, label %14109

14087:                                            ; preds = %14082
  %14088 = load i32, ptr %1317, align 4, !tbaa !5
  %14089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14090 = call i32 @s2n_print_stacktrace(ptr noundef %14089) #12
  %14091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14092 = trunc nuw i8 %14091 to i1
  br i1 %14092, label %14093, label %14097

14093:                                            ; preds = %14087
  %14094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14095 = call i32 @fileno(ptr noundef %14094) #12
  %14096 = call i32 @isatty(i32 noundef %14095) #12
  %.not1819 = icmp eq i32 %14096, 0
  br i1 %.not1819, label %14097, label %14098

14097:                                            ; preds = %14093, %14087
  br label %14098

14098:                                            ; preds = %14093, %14097
  %.str.26.sink6698 = phi ptr [ @.str.26, %14097 ], [ @.str.23, %14093 ]
  store i32 %14088, ptr %1317, align 4, !tbaa !5
  %14099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14100 = load i32, ptr @test_count, align 4, !tbaa !5
  %14101 = load i32, ptr %1263, align 4, !tbaa !5
  %14102 = call ptr @s2n_strerror(i32 noundef %14101, ptr noundef nonnull @.str.25) #12
  %14103 = load i32, ptr %1263, align 4, !tbaa !5
  %14104 = call ptr @s2n_strerror_debug(i32 noundef %14103, ptr noundef nonnull @.str.25) #12
  %14105 = load i32, ptr %1317, align 4, !tbaa !5
  %14106 = call ptr @strerror(i32 noundef %14105) #12
  %14107 = load i32, ptr %1317, align 4, !tbaa !5
  %14108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14099, ptr noundef nonnull %.str.26.sink6698, i32 noundef %14100, ptr noundef nonnull @.str.220, ptr noundef nonnull @.str.22, i32 noundef 1483, ptr noundef %14102, ptr noundef %14104, ptr noundef %14106, i32 noundef %14107) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14109:                                            ; preds = %14082
  %14110 = load i32, ptr @test_count, align 4, !tbaa !5
  %14111 = add nsw i32 %14110, 1
  store i32 %14111, ptr @test_count, align 4, !tbaa !5
  %14112 = load ptr, ptr %113, align 8, !tbaa !9
  %14113 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %14031, ptr noundef %14112) #12
  %14114 = icmp eq i32 %14113, -1
  br i1 %14114, label %14115, label %14137

14115:                                            ; preds = %14109
  %14116 = load i32, ptr %1317, align 4, !tbaa !5
  %14117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14118 = call i32 @s2n_print_stacktrace(ptr noundef %14117) #12
  %14119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14120 = trunc nuw i8 %14119 to i1
  br i1 %14120, label %14121, label %14125

14121:                                            ; preds = %14115
  %14122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14123 = call i32 @fileno(ptr noundef %14122) #12
  %14124 = call i32 @isatty(i32 noundef %14123) #12
  %.not1818 = icmp eq i32 %14124, 0
  br i1 %.not1818, label %14125, label %14126

14125:                                            ; preds = %14121, %14115
  br label %14126

14126:                                            ; preds = %14121, %14125
  %.str.26.sink6707 = phi ptr [ @.str.26, %14125 ], [ @.str.23, %14121 ]
  store i32 %14116, ptr %1317, align 4, !tbaa !5
  %14127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14128 = load i32, ptr @test_count, align 4, !tbaa !5
  %14129 = load i32, ptr %1263, align 4, !tbaa !5
  %14130 = call ptr @s2n_strerror(i32 noundef %14129, ptr noundef nonnull @.str.25) #12
  %14131 = load i32, ptr %1263, align 4, !tbaa !5
  %14132 = call ptr @s2n_strerror_debug(i32 noundef %14131, ptr noundef nonnull @.str.25) #12
  %14133 = load i32, ptr %1317, align 4, !tbaa !5
  %14134 = call ptr @strerror(i32 noundef %14133) #12
  %14135 = load i32, ptr %1317, align 4, !tbaa !5
  %14136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14127, ptr noundef nonnull %.str.26.sink6707, i32 noundef %14128, ptr noundef nonnull @.str.221, ptr noundef nonnull @.str.22, i32 noundef 1484, ptr noundef %14130, ptr noundef %14132, ptr noundef %14134, i32 noundef %14135) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14137:                                            ; preds = %14109
  %14138 = load i32, ptr @test_count, align 4, !tbaa !5
  %14139 = add nsw i32 %14138, 1
  store i32 %14139, ptr @test_count, align 4, !tbaa !5
  %14140 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %14031, i8 noundef zeroext 1) #12
  %14141 = icmp eq i32 %14140, -1
  br i1 %14141, label %14142, label %14164

14142:                                            ; preds = %14137
  %14143 = load i32, ptr %1317, align 4, !tbaa !5
  %14144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14145 = call i32 @s2n_print_stacktrace(ptr noundef %14144) #12
  %14146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14147 = trunc nuw i8 %14146 to i1
  br i1 %14147, label %14148, label %14152

14148:                                            ; preds = %14142
  %14149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14150 = call i32 @fileno(ptr noundef %14149) #12
  %14151 = call i32 @isatty(i32 noundef %14150) #12
  %.not1817 = icmp eq i32 %14151, 0
  br i1 %.not1817, label %14152, label %14153

14152:                                            ; preds = %14148, %14142
  br label %14153

14153:                                            ; preds = %14148, %14152
  %.str.26.sink6716 = phi ptr [ @.str.26, %14152 ], [ @.str.23, %14148 ]
  store i32 %14143, ptr %1317, align 4, !tbaa !5
  %14154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14155 = load i32, ptr @test_count, align 4, !tbaa !5
  %14156 = load i32, ptr %1263, align 4, !tbaa !5
  %14157 = call ptr @s2n_strerror(i32 noundef %14156, ptr noundef nonnull @.str.25) #12
  %14158 = load i32, ptr %1263, align 4, !tbaa !5
  %14159 = call ptr @s2n_strerror_debug(i32 noundef %14158, ptr noundef nonnull @.str.25) #12
  %14160 = load i32, ptr %1317, align 4, !tbaa !5
  %14161 = call ptr @strerror(i32 noundef %14160) #12
  %14162 = load i32, ptr %1317, align 4, !tbaa !5
  %14163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14154, ptr noundef nonnull %.str.26.sink6716, i32 noundef %14155, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.22, i32 noundef 1485, ptr noundef %14157, ptr noundef %14159, ptr noundef %14161, i32 noundef %14162) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14164:                                            ; preds = %14137
  %14165 = load i32, ptr @test_count, align 4, !tbaa !5
  %14166 = add nsw i32 %14165, 1
  store i32 %14166, ptr @test_count, align 4, !tbaa !5
  %14167 = call i32 @s2n_connection_set_config(ptr noundef nonnull %13950, ptr noundef nonnull %14031) #12
  %14168 = icmp eq i32 %14167, -1
  br i1 %14168, label %14169, label %14191

14169:                                            ; preds = %14164
  %14170 = load i32, ptr %1317, align 4, !tbaa !5
  %14171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14172 = call i32 @s2n_print_stacktrace(ptr noundef %14171) #12
  %14173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14174 = trunc nuw i8 %14173 to i1
  br i1 %14174, label %14175, label %14179

14175:                                            ; preds = %14169
  %14176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14177 = call i32 @fileno(ptr noundef %14176) #12
  %14178 = call i32 @isatty(i32 noundef %14177) #12
  %.not1816 = icmp eq i32 %14178, 0
  br i1 %.not1816, label %14179, label %14180

14179:                                            ; preds = %14175, %14169
  br label %14180

14180:                                            ; preds = %14175, %14179
  %.str.26.sink6725 = phi ptr [ @.str.26, %14179 ], [ @.str.23, %14175 ]
  store i32 %14170, ptr %1317, align 4, !tbaa !5
  %14181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14182 = load i32, ptr @test_count, align 4, !tbaa !5
  %14183 = load i32, ptr %1263, align 4, !tbaa !5
  %14184 = call ptr @s2n_strerror(i32 noundef %14183, ptr noundef nonnull @.str.25) #12
  %14185 = load i32, ptr %1263, align 4, !tbaa !5
  %14186 = call ptr @s2n_strerror_debug(i32 noundef %14185, ptr noundef nonnull @.str.25) #12
  %14187 = load i32, ptr %1317, align 4, !tbaa !5
  %14188 = call ptr @strerror(i32 noundef %14187) #12
  %14189 = load i32, ptr %1317, align 4, !tbaa !5
  %14190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14181, ptr noundef nonnull %.str.26.sink6725, i32 noundef %14182, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.22, i32 noundef 1486, ptr noundef %14184, ptr noundef %14186, ptr noundef %14188, i32 noundef %14189) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14191:                                            ; preds = %14164
  %14192 = load i32, ptr @test_count, align 4, !tbaa !5
  %14193 = add nsw i32 %14192, 1
  store i32 %14193, ptr @test_count, align 4, !tbaa !5
  %14194 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %14031) #12
  %14195 = call zeroext i1 @s2n_result_is_ok(i32 %14194)
  br i1 %14195, label %14218, label %14196

14196:                                            ; preds = %14191
  %14197 = load i32, ptr %1317, align 4, !tbaa !5
  %14198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14199 = call i32 @s2n_print_stacktrace(ptr noundef %14198) #12
  %14200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14201 = trunc nuw i8 %14200 to i1
  br i1 %14201, label %14202, label %14206

14202:                                            ; preds = %14196
  %14203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14204 = call i32 @fileno(ptr noundef %14203) #12
  %14205 = call i32 @isatty(i32 noundef %14204) #12
  %.not1786 = icmp eq i32 %14205, 0
  br i1 %.not1786, label %14206, label %14207

14206:                                            ; preds = %14202, %14196
  br label %14207

14207:                                            ; preds = %14202, %14206
  %.str.26.sink6734 = phi ptr [ @.str.26, %14206 ], [ @.str.23, %14202 ]
  store i32 %14197, ptr %1317, align 4, !tbaa !5
  %14208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14209 = load i32, ptr @test_count, align 4, !tbaa !5
  %14210 = load i32, ptr %1263, align 4, !tbaa !5
  %14211 = call ptr @s2n_strerror(i32 noundef %14210, ptr noundef nonnull @.str.25) #12
  %14212 = load i32, ptr %1263, align 4, !tbaa !5
  %14213 = call ptr @s2n_strerror_debug(i32 noundef %14212, ptr noundef nonnull @.str.25) #12
  %14214 = load i32, ptr %1317, align 4, !tbaa !5
  %14215 = call ptr @strerror(i32 noundef %14214) #12
  %14216 = load i32, ptr %1317, align 4, !tbaa !5
  %14217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14208, ptr noundef nonnull %.str.26.sink6734, i32 noundef %14209, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.22, i32 noundef 1488, ptr noundef %14211, ptr noundef %14213, ptr noundef %14215, i32 noundef %14216) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14218:                                            ; preds = %14191
  %14219 = load i32, ptr @test_count, align 4, !tbaa !5
  %14220 = add nsw i32 %14219, 1
  store i32 %14220, ptr @test_count, align 4, !tbaa !5
  %14221 = call i32 @s2n_connection_set_config(ptr noundef nonnull %13977, ptr noundef nonnull %14031) #12
  %14222 = icmp eq i32 %14221, -1
  br i1 %14222, label %14223, label %14245

14223:                                            ; preds = %14218
  %14224 = load i32, ptr %1317, align 4, !tbaa !5
  %14225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14226 = call i32 @s2n_print_stacktrace(ptr noundef %14225) #12
  %14227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14228 = trunc nuw i8 %14227 to i1
  br i1 %14228, label %14229, label %14233

14229:                                            ; preds = %14223
  %14230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14231 = call i32 @fileno(ptr noundef %14230) #12
  %14232 = call i32 @isatty(i32 noundef %14231) #12
  %.not1815 = icmp eq i32 %14232, 0
  br i1 %.not1815, label %14233, label %14234

14233:                                            ; preds = %14229, %14223
  br label %14234

14234:                                            ; preds = %14229, %14233
  %.str.26.sink6743 = phi ptr [ @.str.26, %14233 ], [ @.str.23, %14229 ]
  store i32 %14224, ptr %1317, align 4, !tbaa !5
  %14235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14236 = load i32, ptr @test_count, align 4, !tbaa !5
  %14237 = load i32, ptr %1263, align 4, !tbaa !5
  %14238 = call ptr @s2n_strerror(i32 noundef %14237, ptr noundef nonnull @.str.25) #12
  %14239 = load i32, ptr %1263, align 4, !tbaa !5
  %14240 = call ptr @s2n_strerror_debug(i32 noundef %14239, ptr noundef nonnull @.str.25) #12
  %14241 = load i32, ptr %1317, align 4, !tbaa !5
  %14242 = call ptr @strerror(i32 noundef %14241) #12
  %14243 = load i32, ptr %1317, align 4, !tbaa !5
  %14244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14235, ptr noundef nonnull %.str.26.sink6743, i32 noundef %14236, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.22, i32 noundef 1489, ptr noundef %14238, ptr noundef %14240, ptr noundef %14242, i32 noundef %14243) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14245:                                            ; preds = %14218
  %14246 = getelementptr inbounds i8, ptr %13977, i64 4084
  store i16 5, ptr %14246, align 4, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %114) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %114, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %115) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %115, i8 0, i64 40, i1 false)
  %14247 = load i32, ptr @test_count, align 4, !tbaa !5
  %14248 = add nsw i32 %14247, 1
  store i32 %14248, ptr @test_count, align 4, !tbaa !5
  %14249 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %114, i32 noundef 0) #12
  %14250 = icmp eq i32 %14249, -1
  br i1 %14250, label %14251, label %14273

14251:                                            ; preds = %14245
  %14252 = load i32, ptr %1317, align 4, !tbaa !5
  %14253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14254 = call i32 @s2n_print_stacktrace(ptr noundef %14253) #12
  %14255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14256 = trunc nuw i8 %14255 to i1
  br i1 %14256, label %14257, label %14261

14257:                                            ; preds = %14251
  %14258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14259 = call i32 @fileno(ptr noundef %14258) #12
  %14260 = call i32 @isatty(i32 noundef %14259) #12
  %.not1814 = icmp eq i32 %14260, 0
  br i1 %.not1814, label %14261, label %14262

14261:                                            ; preds = %14257, %14251
  br label %14262

14262:                                            ; preds = %14257, %14261
  %.str.26.sink6752 = phi ptr [ @.str.26, %14261 ], [ @.str.23, %14257 ]
  store i32 %14252, ptr %1317, align 4, !tbaa !5
  %14263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14264 = load i32, ptr @test_count, align 4, !tbaa !5
  %14265 = load i32, ptr %1263, align 4, !tbaa !5
  %14266 = call ptr @s2n_strerror(i32 noundef %14265, ptr noundef nonnull @.str.25) #12
  %14267 = load i32, ptr %1263, align 4, !tbaa !5
  %14268 = call ptr @s2n_strerror_debug(i32 noundef %14267, ptr noundef nonnull @.str.25) #12
  %14269 = load i32, ptr %1317, align 4, !tbaa !5
  %14270 = call ptr @strerror(i32 noundef %14269) #12
  %14271 = load i32, ptr %1317, align 4, !tbaa !5
  %14272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14263, ptr noundef nonnull %.str.26.sink6752, i32 noundef %14264, ptr noundef nonnull @.str.222, ptr noundef nonnull @.str.22, i32 noundef 1497, ptr noundef %14266, ptr noundef %14268, ptr noundef %14270, i32 noundef %14271) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14273:                                            ; preds = %14245
  %14274 = load i32, ptr @test_count, align 4, !tbaa !5
  %14275 = add nsw i32 %14274, 1
  store i32 %14275, ptr @test_count, align 4, !tbaa !5
  %14276 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %115, i32 noundef 0) #12
  %14277 = icmp eq i32 %14276, -1
  br i1 %14277, label %14278, label %14300

14278:                                            ; preds = %14273
  %14279 = load i32, ptr %1317, align 4, !tbaa !5
  %14280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14281 = call i32 @s2n_print_stacktrace(ptr noundef %14280) #12
  %14282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14283 = trunc nuw i8 %14282 to i1
  br i1 %14283, label %14284, label %14288

14284:                                            ; preds = %14278
  %14285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14286 = call i32 @fileno(ptr noundef %14285) #12
  %14287 = call i32 @isatty(i32 noundef %14286) #12
  %.not1813 = icmp eq i32 %14287, 0
  br i1 %.not1813, label %14288, label %14289

14288:                                            ; preds = %14284, %14278
  br label %14289

14289:                                            ; preds = %14284, %14288
  %.str.26.sink6761 = phi ptr [ @.str.26, %14288 ], [ @.str.23, %14284 ]
  store i32 %14279, ptr %1317, align 4, !tbaa !5
  %14290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14291 = load i32, ptr @test_count, align 4, !tbaa !5
  %14292 = load i32, ptr %1263, align 4, !tbaa !5
  %14293 = call ptr @s2n_strerror(i32 noundef %14292, ptr noundef nonnull @.str.25) #12
  %14294 = load i32, ptr %1263, align 4, !tbaa !5
  %14295 = call ptr @s2n_strerror_debug(i32 noundef %14294, ptr noundef nonnull @.str.25) #12
  %14296 = load i32, ptr %1317, align 4, !tbaa !5
  %14297 = call ptr @strerror(i32 noundef %14296) #12
  %14298 = load i32, ptr %1317, align 4, !tbaa !5
  %14299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14290, ptr noundef nonnull %.str.26.sink6761, i32 noundef %14291, ptr noundef nonnull @.str.223, ptr noundef nonnull @.str.22, i32 noundef 1498, ptr noundef %14293, ptr noundef %14295, ptr noundef %14297, i32 noundef %14298) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14300:                                            ; preds = %14273
  %14301 = load i32, ptr @test_count, align 4, !tbaa !5
  %14302 = add nsw i32 %14301, 1
  store i32 %14302, ptr @test_count, align 4, !tbaa !5
  %14303 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %115, ptr noundef nonnull %114, ptr noundef nonnull %13950) #12
  %14304 = icmp eq i32 %14303, -1
  br i1 %14304, label %14305, label %14327

14305:                                            ; preds = %14300
  %14306 = load i32, ptr %1317, align 4, !tbaa !5
  %14307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14308 = call i32 @s2n_print_stacktrace(ptr noundef %14307) #12
  %14309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14310 = trunc nuw i8 %14309 to i1
  br i1 %14310, label %14311, label %14315

14311:                                            ; preds = %14305
  %14312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14313 = call i32 @fileno(ptr noundef %14312) #12
  %14314 = call i32 @isatty(i32 noundef %14313) #12
  %.not1812 = icmp eq i32 %14314, 0
  br i1 %.not1812, label %14315, label %14316

14315:                                            ; preds = %14311, %14305
  br label %14316

14316:                                            ; preds = %14311, %14315
  %.str.26.sink6770 = phi ptr [ @.str.26, %14315 ], [ @.str.23, %14311 ]
  store i32 %14306, ptr %1317, align 4, !tbaa !5
  %14317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14318 = load i32, ptr @test_count, align 4, !tbaa !5
  %14319 = load i32, ptr %1263, align 4, !tbaa !5
  %14320 = call ptr @s2n_strerror(i32 noundef %14319, ptr noundef nonnull @.str.25) #12
  %14321 = load i32, ptr %1263, align 4, !tbaa !5
  %14322 = call ptr @s2n_strerror_debug(i32 noundef %14321, ptr noundef nonnull @.str.25) #12
  %14323 = load i32, ptr %1317, align 4, !tbaa !5
  %14324 = call ptr @strerror(i32 noundef %14323) #12
  %14325 = load i32, ptr %1317, align 4, !tbaa !5
  %14326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14317, ptr noundef nonnull %.str.26.sink6770, i32 noundef %14318, ptr noundef nonnull @.str.224, ptr noundef nonnull @.str.22, i32 noundef 1500, ptr noundef %14320, ptr noundef %14322, ptr noundef %14324, i32 noundef %14325) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14327:                                            ; preds = %14300
  %14328 = load i32, ptr @test_count, align 4, !tbaa !5
  %14329 = add nsw i32 %14328, 1
  store i32 %14329, ptr @test_count, align 4, !tbaa !5
  %14330 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %114, ptr noundef nonnull %115, ptr noundef nonnull %13977) #12
  %14331 = icmp eq i32 %14330, -1
  br i1 %14331, label %14332, label %14354

14332:                                            ; preds = %14327
  %14333 = load i32, ptr %1317, align 4, !tbaa !5
  %14334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14335 = call i32 @s2n_print_stacktrace(ptr noundef %14334) #12
  %14336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14337 = trunc nuw i8 %14336 to i1
  br i1 %14337, label %14338, label %14342

14338:                                            ; preds = %14332
  %14339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14340 = call i32 @fileno(ptr noundef %14339) #12
  %14341 = call i32 @isatty(i32 noundef %14340) #12
  %.not1811 = icmp eq i32 %14341, 0
  br i1 %.not1811, label %14342, label %14343

14342:                                            ; preds = %14338, %14332
  br label %14343

14343:                                            ; preds = %14338, %14342
  %.str.26.sink6779 = phi ptr [ @.str.26, %14342 ], [ @.str.23, %14338 ]
  store i32 %14333, ptr %1317, align 4, !tbaa !5
  %14344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14345 = load i32, ptr @test_count, align 4, !tbaa !5
  %14346 = load i32, ptr %1263, align 4, !tbaa !5
  %14347 = call ptr @s2n_strerror(i32 noundef %14346, ptr noundef nonnull @.str.25) #12
  %14348 = load i32, ptr %1263, align 4, !tbaa !5
  %14349 = call ptr @s2n_strerror_debug(i32 noundef %14348, ptr noundef nonnull @.str.25) #12
  %14350 = load i32, ptr %1317, align 4, !tbaa !5
  %14351 = call ptr @strerror(i32 noundef %14350) #12
  %14352 = load i32, ptr %1317, align 4, !tbaa !5
  %14353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14344, ptr noundef nonnull %.str.26.sink6779, i32 noundef %14345, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.22, i32 noundef 1501, ptr noundef %14347, ptr noundef %14349, ptr noundef %14351, i32 noundef %14352) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14354:                                            ; preds = %14327
  %14355 = load i32, ptr @test_count, align 4, !tbaa !5
  %14356 = add nsw i32 %14355, 1
  store i32 %14356, ptr @test_count, align 4, !tbaa !5
  %14357 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %13977, ptr noundef nonnull %13950) #12
  %14358 = icmp eq i32 %14357, -1
  br i1 %14358, label %14359, label %14381

14359:                                            ; preds = %14354
  %14360 = load i32, ptr %1317, align 4, !tbaa !5
  %14361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14362 = call i32 @s2n_print_stacktrace(ptr noundef %14361) #12
  %14363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14364 = trunc nuw i8 %14363 to i1
  br i1 %14364, label %14365, label %14369

14365:                                            ; preds = %14359
  %14366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14367 = call i32 @fileno(ptr noundef %14366) #12
  %14368 = call i32 @isatty(i32 noundef %14367) #12
  %.not1810 = icmp eq i32 %14368, 0
  br i1 %.not1810, label %14369, label %14370

14369:                                            ; preds = %14365, %14359
  br label %14370

14370:                                            ; preds = %14365, %14369
  %.str.26.sink6788 = phi ptr [ @.str.26, %14369 ], [ @.str.23, %14365 ]
  store i32 %14360, ptr %1317, align 4, !tbaa !5
  %14371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14372 = load i32, ptr @test_count, align 4, !tbaa !5
  %14373 = load i32, ptr %1263, align 4, !tbaa !5
  %14374 = call ptr @s2n_strerror(i32 noundef %14373, ptr noundef nonnull @.str.25) #12
  %14375 = load i32, ptr %1263, align 4, !tbaa !5
  %14376 = call ptr @s2n_strerror_debug(i32 noundef %14375, ptr noundef nonnull @.str.25) #12
  %14377 = load i32, ptr %1317, align 4, !tbaa !5
  %14378 = call ptr @strerror(i32 noundef %14377) #12
  %14379 = load i32, ptr %1317, align 4, !tbaa !5
  %14380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14371, ptr noundef nonnull %.str.26.sink6788, i32 noundef %14372, ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.22, i32 noundef 1504, ptr noundef %14374, ptr noundef %14376, ptr noundef %14378, i32 noundef %14379) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14381:                                            ; preds = %14354
  %14382 = load i32, ptr @test_count, align 4, !tbaa !5
  %14383 = add nsw i32 %14382, 1
  store i32 %14383, ptr @test_count, align 4, !tbaa !5
  %14384 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %13977, i16 noundef zeroext 5)
  %14385 = call zeroext i1 @s2n_result_is_ok(i32 %14384)
  br i1 %14385, label %14408, label %14386

14386:                                            ; preds = %14381
  %14387 = load i32, ptr %1317, align 4, !tbaa !5
  %14388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14389 = call i32 @s2n_print_stacktrace(ptr noundef %14388) #12
  %14390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14391 = trunc nuw i8 %14390 to i1
  br i1 %14391, label %14392, label %14396

14392:                                            ; preds = %14386
  %14393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14394 = call i32 @fileno(ptr noundef %14393) #12
  %14395 = call i32 @isatty(i32 noundef %14394) #12
  %.not1787 = icmp eq i32 %14395, 0
  br i1 %.not1787, label %14396, label %14397

14396:                                            ; preds = %14392, %14386
  br label %14397

14397:                                            ; preds = %14392, %14396
  %.str.26.sink6797 = phi ptr [ @.str.26, %14396 ], [ @.str.23, %14392 ]
  store i32 %14387, ptr %1317, align 4, !tbaa !5
  %14398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14399 = load i32, ptr @test_count, align 4, !tbaa !5
  %14400 = load i32, ptr %1263, align 4, !tbaa !5
  %14401 = call ptr @s2n_strerror(i32 noundef %14400, ptr noundef nonnull @.str.25) #12
  %14402 = load i32, ptr %1263, align 4, !tbaa !5
  %14403 = call ptr @s2n_strerror_debug(i32 noundef %14402, ptr noundef nonnull @.str.25) #12
  %14404 = load i32, ptr %1317, align 4, !tbaa !5
  %14405 = call ptr @strerror(i32 noundef %14404) #12
  %14406 = load i32, ptr %1317, align 4, !tbaa !5
  %14407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14398, ptr noundef nonnull %.str.26.sink6797, i32 noundef %14399, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.22, i32 noundef 1505, ptr noundef %14401, ptr noundef %14403, ptr noundef %14405, i32 noundef %14406) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14408:                                            ; preds = %14381
  %14409 = load i32, ptr @test_count, align 4, !tbaa !5
  %14410 = add nsw i32 %14409, 1
  store i32 %14410, ptr @test_count, align 4, !tbaa !5
  %14411 = getelementptr inbounds i8, ptr %13977, i64 2024
  %14412 = load i32, ptr %14411, align 8, !tbaa !80
  %14413 = getelementptr inbounds i8, ptr %13977, i64 2044
  %14414 = load i32, ptr %14413, align 4, !tbaa !76
  %14415 = icmp eq i32 %14412, %14414
  br i1 %14415, label %14438, label %14416

14416:                                            ; preds = %14408
  %14417 = load i32, ptr %1317, align 4, !tbaa !5
  %14418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14419 = call i32 @s2n_print_stacktrace(ptr noundef %14418) #12
  %14420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14421 = trunc nuw i8 %14420 to i1
  br i1 %14421, label %14422, label %14426

14422:                                            ; preds = %14416
  %14423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14424 = call i32 @fileno(ptr noundef %14423) #12
  %14425 = call i32 @isatty(i32 noundef %14424) #12
  %.not1788 = icmp eq i32 %14425, 0
  br i1 %.not1788, label %14426, label %14427

14426:                                            ; preds = %14422, %14416
  br label %14427

14427:                                            ; preds = %14422, %14426
  %.str.26.sink6806 = phi ptr [ @.str.26, %14426 ], [ @.str.23, %14422 ]
  store i32 %14417, ptr %1317, align 4, !tbaa !5
  %14428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14429 = load i32, ptr @test_count, align 4, !tbaa !5
  %14430 = load i32, ptr %1263, align 4, !tbaa !5
  %14431 = call ptr @s2n_strerror(i32 noundef %14430, ptr noundef nonnull @.str.25) #12
  %14432 = load i32, ptr %1263, align 4, !tbaa !5
  %14433 = call ptr @s2n_strerror_debug(i32 noundef %14432, ptr noundef nonnull @.str.25) #12
  %14434 = load i32, ptr %1317, align 4, !tbaa !5
  %14435 = call ptr @strerror(i32 noundef %14434) #12
  %14436 = load i32, ptr %1317, align 4, !tbaa !5
  %14437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14428, ptr noundef nonnull %.str.26.sink6806, i32 noundef %14429, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.22, i32 noundef 1509, ptr noundef %14431, ptr noundef %14433, ptr noundef %14435, i32 noundef %14436) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14438:                                            ; preds = %14408
  %14439 = add nsw i32 %14409, 2
  store i32 %14439, ptr @test_count, align 4, !tbaa !5
  %14440 = getelementptr inbounds i8, ptr %13950, i64 2024
  %14441 = load i32, ptr %14440, align 8, !tbaa !80
  %14442 = getelementptr inbounds i8, ptr %13950, i64 2044
  %14443 = load i32, ptr %14442, align 4, !tbaa !76
  %14444 = icmp eq i32 %14441, %14443
  br i1 %14444, label %14467, label %14445

14445:                                            ; preds = %14438
  %14446 = load i32, ptr %1317, align 4, !tbaa !5
  %14447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14448 = call i32 @s2n_print_stacktrace(ptr noundef %14447) #12
  %14449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14450 = trunc nuw i8 %14449 to i1
  br i1 %14450, label %14451, label %14455

14451:                                            ; preds = %14445
  %14452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14453 = call i32 @fileno(ptr noundef %14452) #12
  %14454 = call i32 @isatty(i32 noundef %14453) #12
  %.not1789 = icmp eq i32 %14454, 0
  br i1 %.not1789, label %14455, label %14456

14455:                                            ; preds = %14451, %14445
  br label %14456

14456:                                            ; preds = %14451, %14455
  %.str.26.sink6815 = phi ptr [ @.str.26, %14455 ], [ @.str.23, %14451 ]
  store i32 %14446, ptr %1317, align 4, !tbaa !5
  %14457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14458 = load i32, ptr @test_count, align 4, !tbaa !5
  %14459 = load i32, ptr %1263, align 4, !tbaa !5
  %14460 = call ptr @s2n_strerror(i32 noundef %14459, ptr noundef nonnull @.str.25) #12
  %14461 = load i32, ptr %1263, align 4, !tbaa !5
  %14462 = call ptr @s2n_strerror_debug(i32 noundef %14461, ptr noundef nonnull @.str.25) #12
  %14463 = load i32, ptr %1317, align 4, !tbaa !5
  %14464 = call ptr @strerror(i32 noundef %14463) #12
  %14465 = load i32, ptr %1317, align 4, !tbaa !5
  %14466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14457, ptr noundef nonnull %.str.26.sink6815, i32 noundef %14458, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.22, i32 noundef 1510, ptr noundef %14460, ptr noundef %14462, ptr noundef %14464, i32 noundef %14465) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14467:                                            ; preds = %14438
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %116) #12
  store i16 0, ptr %116, align 2, !tbaa !54
  %14468 = add nsw i32 %14409, 3
  store i32 %14468, ptr @test_count, align 4, !tbaa !5
  %14469 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %115, i32 noundef 3) #12
  %14470 = icmp eq i32 %14469, -1
  br i1 %14470, label %14555, label %14577

14471:                                            ; preds = %14630
  %14472 = load i32, ptr @test_count, align 4, !tbaa !5
  %14473 = add nsw i32 %14472, 1
  store i32 %14473, ptr @test_count, align 4, !tbaa !5
  %14474 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %115, i32 noundef 3) #12
  %14475 = icmp eq i32 %14474, -1
  br i1 %14475, label %14555, label %14476

14476:                                            ; preds = %14471
  %14477 = load i32, ptr @test_count, align 4, !tbaa !5
  %14478 = add nsw i32 %14477, 1
  store i32 %14478, ptr @test_count, align 4, !tbaa !5
  %14479 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %115, ptr noundef nonnull %116) #12
  %14480 = icmp eq i32 %14479, -1
  br i1 %14480, label %14582, label %14481

14481:                                            ; preds = %14476
  %14482 = load i32, ptr @test_count, align 4, !tbaa !5
  %14483 = add nsw i32 %14482, 1
  store i32 %14483, ptr @test_count, align 4, !tbaa !5
  %14484 = load i16, ptr %116, align 2, !tbaa !54
  %.not1805.1 = icmp eq i16 %14484, 0
  br i1 %.not1805.1, label %14608, label %14485

14485:                                            ; preds = %14481
  %14486 = add nsw i32 %14482, 2
  store i32 %14486, ptr @test_count, align 4, !tbaa !5
  %14487 = zext i16 %14484 to i32
  %14488 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %115, i32 noundef %14487) #12
  %14489 = icmp eq i32 %14488, -1
  br i1 %14489, label %14635, label %14490

14490:                                            ; preds = %14485
  %14491 = load i32, ptr @test_count, align 4, !tbaa !5
  %14492 = add nsw i32 %14491, 1
  store i32 %14492, ptr @test_count, align 4, !tbaa !5
  %14493 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %115, i32 noundef 3) #12
  %14494 = icmp eq i32 %14493, -1
  br i1 %14494, label %14555, label %14495

14495:                                            ; preds = %14490
  %14496 = load i32, ptr @test_count, align 4, !tbaa !5
  %14497 = add nsw i32 %14496, 1
  store i32 %14497, ptr @test_count, align 4, !tbaa !5
  %14498 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %115, ptr noundef nonnull %116) #12
  %14499 = icmp eq i32 %14498, -1
  br i1 %14499, label %14582, label %14500

14500:                                            ; preds = %14495
  %14501 = load i32, ptr @test_count, align 4, !tbaa !5
  %14502 = add nsw i32 %14501, 1
  store i32 %14502, ptr @test_count, align 4, !tbaa !5
  %14503 = load i16, ptr %116, align 2, !tbaa !54
  %.not1805.2 = icmp eq i16 %14503, 0
  br i1 %.not1805.2, label %14608, label %14504

14504:                                            ; preds = %14500
  %14505 = add nsw i32 %14501, 2
  store i32 %14505, ptr @test_count, align 4, !tbaa !5
  %14506 = zext i16 %14503 to i32
  %14507 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %115, i32 noundef %14506) #12
  %14508 = icmp eq i32 %14507, -1
  br i1 %14508, label %14635, label %14509

14509:                                            ; preds = %14504
  %14510 = load i32, ptr @test_count, align 4, !tbaa !5
  %14511 = add nsw i32 %14510, 1
  store i32 %14511, ptr @test_count, align 4, !tbaa !5
  %14512 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %115, i32 noundef 3) #12
  %14513 = icmp eq i32 %14512, -1
  br i1 %14513, label %14555, label %14514

14514:                                            ; preds = %14509
  %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_stuffer_read_uint16(ptr noundef nonnull %115, ptr noundef nonnull %116) #12
  %14518 = icmp eq i32 %14517, -1
  br i1 %14518, label %14582, label %14519

14519:                                            ; preds = %14514
  %14520 = load i32, ptr @test_count, align 4, !tbaa !5
  %14521 = add nsw i32 %14520, 1
  store i32 %14521, ptr @test_count, align 4, !tbaa !5
  %14522 = load i16, ptr %116, align 2, !tbaa !54
  %.not1805.3 = icmp eq i16 %14522, 0
  br i1 %.not1805.3, label %14608, label %14523

14523:                                            ; preds = %14519
  %14524 = add nsw i32 %14520, 2
  store i32 %14524, ptr @test_count, align 4, !tbaa !5
  %14525 = zext i16 %14522 to i32
  %14526 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %115, i32 noundef %14525) #12
  %14527 = icmp eq i32 %14526, -1
  br i1 %14527, label %14635, label %14528

14528:                                            ; preds = %14523
  %14529 = load i32, ptr @test_count, align 4, !tbaa !5
  %14530 = add nsw i32 %14529, 1
  store i32 %14530, ptr @test_count, align 4, !tbaa !5
  %14531 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %115, i32 noundef 3) #12
  %14532 = icmp eq i32 %14531, -1
  br i1 %14532, label %14555, label %14533

14533:                                            ; preds = %14528
  %14534 = load i32, ptr @test_count, align 4, !tbaa !5
  %14535 = add nsw i32 %14534, 1
  store i32 %14535, ptr @test_count, align 4, !tbaa !5
  %14536 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %115, ptr noundef nonnull %116) #12
  %14537 = icmp eq i32 %14536, -1
  br i1 %14537, label %14582, label %14538

14538:                                            ; preds = %14533
  %14539 = load i32, ptr @test_count, align 4, !tbaa !5
  %14540 = add nsw i32 %14539, 1
  store i32 %14540, ptr @test_count, align 4, !tbaa !5
  %14541 = load i16, ptr %116, align 2, !tbaa !54
  %.not1805.4 = icmp eq i16 %14541, 0
  br i1 %.not1805.4, label %14608, label %14542

14542:                                            ; preds = %14538
  %14543 = add nsw i32 %14539, 2
  store i32 %14543, ptr @test_count, align 4, !tbaa !5
  %14544 = zext i16 %14541 to i32
  %14545 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %115, i32 noundef %14544) #12
  %14546 = icmp eq i32 %14545, -1
  br i1 %14546, label %14635, label %14547

14547:                                            ; preds = %14542
  %14548 = load i32, ptr @test_count, align 4, !tbaa !5
  %14549 = add nsw i32 %14548, 1
  store i32 %14549, ptr @test_count, align 4, !tbaa !5
  %14550 = getelementptr inbounds i8, ptr %115, i64 28
  %14551 = load i32, ptr %14550, align 4, !tbaa !51
  %14552 = getelementptr inbounds i8, ptr %115, i64 24
  %14553 = load i32, ptr %14552, align 8, !tbaa !52
  %14554 = icmp eq i32 %14551, %14553
  br i1 %14554, label %14679, label %14657

14555:                                            ; preds = %14528, %14509, %14490, %14471, %14467
  %14556 = load i32, ptr %1317, align 4, !tbaa !5
  %14557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14558 = call i32 @s2n_print_stacktrace(ptr noundef %14557) #12
  %14559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14560 = trunc nuw i8 %14559 to i1
  br i1 %14560, label %14561, label %14565

14561:                                            ; preds = %14555
  %14562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14563 = call i32 @fileno(ptr noundef %14562) #12
  %14564 = call i32 @isatty(i32 noundef %14563) #12
  %.not1809 = icmp eq i32 %14564, 0
  br i1 %.not1809, label %14565, label %14566

14565:                                            ; preds = %14561, %14555
  br label %14566

14566:                                            ; preds = %14561, %14565
  %.str.26.sink6824 = phi ptr [ @.str.26, %14565 ], [ @.str.23, %14561 ]
  store i32 %14556, ptr %1317, align 4, !tbaa !5
  %14567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14568 = load i32, ptr @test_count, align 4, !tbaa !5
  %14569 = load i32, ptr %1263, align 4, !tbaa !5
  %14570 = call ptr @s2n_strerror(i32 noundef %14569, ptr noundef nonnull @.str.25) #12
  %14571 = load i32, ptr %1263, align 4, !tbaa !5
  %14572 = call ptr @s2n_strerror_debug(i32 noundef %14571, ptr noundef nonnull @.str.25) #12
  %14573 = load i32, ptr %1317, align 4, !tbaa !5
  %14574 = call ptr @strerror(i32 noundef %14573) #12
  %14575 = load i32, ptr %1317, align 4, !tbaa !5
  %14576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14567, ptr noundef nonnull %.str.26.sink6824, i32 noundef %14568, ptr noundef nonnull @.str.230, ptr noundef nonnull @.str.22, i32 noundef 1516, ptr noundef %14570, ptr noundef %14572, ptr noundef %14574, i32 noundef %14575) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14577:                                            ; preds = %14467
  %14578 = load i32, ptr @test_count, align 4, !tbaa !5
  %14579 = add nsw i32 %14578, 1
  store i32 %14579, ptr @test_count, align 4, !tbaa !5
  %14580 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %115, ptr noundef nonnull %116) #12
  %14581 = icmp eq i32 %14580, -1
  br i1 %14581, label %14582, label %14604

14582:                                            ; preds = %14533, %14514, %14495, %14476, %14577
  %14583 = load i32, ptr %1317, align 4, !tbaa !5
  %14584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14585 = call i32 @s2n_print_stacktrace(ptr noundef %14584) #12
  %14586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14587 = trunc nuw i8 %14586 to i1
  br i1 %14587, label %14588, label %14592

14588:                                            ; preds = %14582
  %14589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14590 = call i32 @fileno(ptr noundef %14589) #12
  %14591 = call i32 @isatty(i32 noundef %14590) #12
  %.not1808 = icmp eq i32 %14591, 0
  br i1 %.not1808, label %14592, label %14593

14592:                                            ; preds = %14588, %14582
  br label %14593

14593:                                            ; preds = %14588, %14592
  %.str.26.sink6833 = phi ptr [ @.str.26, %14592 ], [ @.str.23, %14588 ]
  store i32 %14583, ptr %1317, align 4, !tbaa !5
  %14594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14595 = load i32, ptr @test_count, align 4, !tbaa !5
  %14596 = load i32, ptr %1263, align 4, !tbaa !5
  %14597 = call ptr @s2n_strerror(i32 noundef %14596, ptr noundef nonnull @.str.25) #12
  %14598 = load i32, ptr %1263, align 4, !tbaa !5
  %14599 = call ptr @s2n_strerror_debug(i32 noundef %14598, ptr noundef nonnull @.str.25) #12
  %14600 = load i32, ptr %1317, align 4, !tbaa !5
  %14601 = call ptr @strerror(i32 noundef %14600) #12
  %14602 = load i32, ptr %1317, align 4, !tbaa !5
  %14603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14594, ptr noundef nonnull %.str.26.sink6833, i32 noundef %14595, ptr noundef nonnull @.str.231, ptr noundef nonnull @.str.22, i32 noundef 1517, ptr noundef %14597, ptr noundef %14599, ptr noundef %14601, i32 noundef %14602) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14604:                                            ; preds = %14577
  %14605 = load i32, ptr @test_count, align 4, !tbaa !5
  %14606 = add nsw i32 %14605, 1
  store i32 %14606, ptr @test_count, align 4, !tbaa !5
  %14607 = load i16, ptr %116, align 2, !tbaa !54
  %.not1805 = icmp eq i16 %14607, 0
  br i1 %.not1805, label %14608, label %14630

14608:                                            ; preds = %14538, %14519, %14500, %14481, %14604
  %14609 = load i32, ptr %1317, align 4, !tbaa !5
  %14610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14611 = call i32 @s2n_print_stacktrace(ptr noundef %14610) #12
  %14612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14613 = trunc nuw i8 %14612 to i1
  br i1 %14613, label %14614, label %14618

14614:                                            ; preds = %14608
  %14615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14616 = call i32 @fileno(ptr noundef %14615) #12
  %14617 = call i32 @isatty(i32 noundef %14616) #12
  %.not1806 = icmp eq i32 %14617, 0
  br i1 %.not1806, label %14618, label %14619

14618:                                            ; preds = %14614, %14608
  br label %14619

14619:                                            ; preds = %14614, %14618
  %.str.26.sink6842 = phi ptr [ @.str.26, %14618 ], [ @.str.23, %14614 ]
  store i32 %14609, ptr %1317, align 4, !tbaa !5
  %14620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14621 = load i32, ptr @test_count, align 4, !tbaa !5
  %14622 = load i32, ptr %1263, align 4, !tbaa !5
  %14623 = call ptr @s2n_strerror(i32 noundef %14622, ptr noundef nonnull @.str.25) #12
  %14624 = load i32, ptr %1263, align 4, !tbaa !5
  %14625 = call ptr @s2n_strerror_debug(i32 noundef %14624, ptr noundef nonnull @.str.25) #12
  %14626 = load i32, ptr %1317, align 4, !tbaa !5
  %14627 = call ptr @strerror(i32 noundef %14626) #12
  %14628 = load i32, ptr %1317, align 4, !tbaa !5
  %14629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14620, ptr noundef nonnull %.str.26.sink6842, i32 noundef %14621, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.22, i32 noundef 1518, ptr noundef %14623, ptr noundef %14625, ptr noundef %14627, i32 noundef %14628) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14630:                                            ; preds = %14604
  %14631 = add nsw i32 %14605, 2
  store i32 %14631, ptr @test_count, align 4, !tbaa !5
  %14632 = zext i16 %14607 to i32
  %14633 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %115, i32 noundef %14632) #12
  %14634 = icmp eq i32 %14633, -1
  br i1 %14634, label %14635, label %14471

14635:                                            ; preds = %14542, %14523, %14504, %14485, %14630
  %14636 = load i32, ptr %1317, align 4, !tbaa !5
  %14637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14638 = call i32 @s2n_print_stacktrace(ptr noundef %14637) #12
  %14639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14640 = trunc nuw i8 %14639 to i1
  br i1 %14640, label %14641, label %14645

14641:                                            ; preds = %14635
  %14642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14643 = call i32 @fileno(ptr noundef %14642) #12
  %14644 = call i32 @isatty(i32 noundef %14643) #12
  %.not1807 = icmp eq i32 %14644, 0
  br i1 %.not1807, label %14645, label %14646

14645:                                            ; preds = %14641, %14635
  br label %14646

14646:                                            ; preds = %14641, %14645
  %.str.26.sink6851 = phi ptr [ @.str.26, %14645 ], [ @.str.23, %14641 ]
  store i32 %14636, ptr %1317, align 4, !tbaa !5
  %14647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14648 = load i32, ptr @test_count, align 4, !tbaa !5
  %14649 = load i32, ptr %1263, align 4, !tbaa !5
  %14650 = call ptr @s2n_strerror(i32 noundef %14649, ptr noundef nonnull @.str.25) #12
  %14651 = load i32, ptr %1263, align 4, !tbaa !5
  %14652 = call ptr @s2n_strerror_debug(i32 noundef %14651, ptr noundef nonnull @.str.25) #12
  %14653 = load i32, ptr %1317, align 4, !tbaa !5
  %14654 = call ptr @strerror(i32 noundef %14653) #12
  %14655 = load i32, ptr %1317, align 4, !tbaa !5
  %14656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14647, ptr noundef nonnull %.str.26.sink6851, i32 noundef %14648, ptr noundef nonnull @.str.232, ptr noundef nonnull @.str.22, i32 noundef 1519, ptr noundef %14650, ptr noundef %14652, ptr noundef %14654, i32 noundef %14655) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14657:                                            ; preds = %14547
  %14658 = load i32, ptr %1317, align 4, !tbaa !5
  %14659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14660 = call i32 @s2n_print_stacktrace(ptr noundef %14659) #12
  %14661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14662 = trunc nuw i8 %14661 to i1
  br i1 %14662, label %14663, label %14667

14663:                                            ; preds = %14657
  %14664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14665 = call i32 @fileno(ptr noundef %14664) #12
  %14666 = call i32 @isatty(i32 noundef %14665) #12
  %.not1790 = icmp eq i32 %14666, 0
  br i1 %.not1790, label %14667, label %14668

14667:                                            ; preds = %14663, %14657
  br label %14668

14668:                                            ; preds = %14663, %14667
  %.str.26.sink6860 = phi ptr [ @.str.26, %14667 ], [ @.str.23, %14663 ]
  store i32 %14658, ptr %1317, align 4, !tbaa !5
  %14669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14670 = load i32, ptr @test_count, align 4, !tbaa !5
  %14671 = load i32, ptr %1263, align 4, !tbaa !5
  %14672 = call ptr @s2n_strerror(i32 noundef %14671, ptr noundef nonnull @.str.25) #12
  %14673 = load i32, ptr %1263, align 4, !tbaa !5
  %14674 = call ptr @s2n_strerror_debug(i32 noundef %14673, ptr noundef nonnull @.str.25) #12
  %14675 = load i32, ptr %1317, align 4, !tbaa !5
  %14676 = call ptr @strerror(i32 noundef %14675) #12
  %14677 = load i32, ptr %1317, align 4, !tbaa !5
  %14678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14669, ptr noundef nonnull %.str.26.sink6860, i32 noundef %14670, ptr noundef nonnull @.str.233, ptr noundef nonnull @.str.22, i32 noundef 1521, ptr noundef %14672, ptr noundef %14674, ptr noundef %14676, i32 noundef %14677) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14679:                                            ; preds = %14547
  %14680 = add nsw i32 %14548, 2
  store i32 %14680, ptr @test_count, align 4, !tbaa !5
  %14681 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %13977, ptr noundef nonnull %13950) #12
  %14682 = icmp eq i32 %14681, -1
  br i1 %14682, label %14683, label %14705

14683:                                            ; preds = %14679
  %14684 = load i32, ptr %1317, align 4, !tbaa !5
  %14685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14686 = call i32 @s2n_print_stacktrace(ptr noundef %14685) #12
  %14687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14688 = trunc nuw i8 %14687 to i1
  br i1 %14688, label %14689, label %14693

14689:                                            ; preds = %14683
  %14690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14691 = call i32 @fileno(ptr noundef %14690) #12
  %14692 = call i32 @isatty(i32 noundef %14691) #12
  %.not1804 = icmp eq i32 %14692, 0
  br i1 %.not1804, label %14693, label %14694

14693:                                            ; preds = %14689, %14683
  br label %14694

14694:                                            ; preds = %14689, %14693
  %.str.26.sink6869 = phi ptr [ @.str.26, %14693 ], [ @.str.23, %14689 ]
  store i32 %14684, ptr %1317, align 4, !tbaa !5
  %14695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14696 = load i32, ptr @test_count, align 4, !tbaa !5
  %14697 = load i32, ptr %1263, align 4, !tbaa !5
  %14698 = call ptr @s2n_strerror(i32 noundef %14697, ptr noundef nonnull @.str.25) #12
  %14699 = load i32, ptr %1263, align 4, !tbaa !5
  %14700 = call ptr @s2n_strerror_debug(i32 noundef %14699, ptr noundef nonnull @.str.25) #12
  %14701 = load i32, ptr %1317, align 4, !tbaa !5
  %14702 = call ptr @strerror(i32 noundef %14701) #12
  %14703 = load i32, ptr %1317, align 4, !tbaa !5
  %14704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14695, ptr noundef nonnull %.str.26.sink6869, i32 noundef %14696, ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.22, i32 noundef 1524, ptr noundef %14698, ptr noundef %14700, ptr noundef %14702, i32 noundef %14703) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14705:                                            ; preds = %14679
  %14706 = load i32, ptr @test_count, align 4, !tbaa !5
  %14707 = add nsw i32 %14706, 1
  store i32 %14707, ptr @test_count, align 4, !tbaa !5
  %14708 = load i32, ptr %14550, align 4, !tbaa !51
  %14709 = load i32, ptr %14552, align 8, !tbaa !52
  %14710 = icmp eq i32 %14708, %14709
  br i1 %14710, label %14733, label %14711

14711:                                            ; preds = %14705
  %14712 = load i32, ptr %1317, align 4, !tbaa !5
  %14713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14714 = call i32 @s2n_print_stacktrace(ptr noundef %14713) #12
  %14715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14716 = trunc nuw i8 %14715 to i1
  br i1 %14716, label %14717, label %14721

14717:                                            ; preds = %14711
  %14718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14719 = call i32 @fileno(ptr noundef %14718) #12
  %14720 = call i32 @isatty(i32 noundef %14719) #12
  %.not1791 = icmp eq i32 %14720, 0
  br i1 %.not1791, label %14721, label %14722

14721:                                            ; preds = %14717, %14711
  br label %14722

14722:                                            ; preds = %14717, %14721
  %.str.26.sink6878 = phi ptr [ @.str.26, %14721 ], [ @.str.23, %14717 ]
  store i32 %14712, ptr %1317, align 4, !tbaa !5
  %14723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14724 = load i32, ptr @test_count, align 4, !tbaa !5
  %14725 = load i32, ptr %1263, align 4, !tbaa !5
  %14726 = call ptr @s2n_strerror(i32 noundef %14725, ptr noundef nonnull @.str.25) #12
  %14727 = load i32, ptr %1263, align 4, !tbaa !5
  %14728 = call ptr @s2n_strerror_debug(i32 noundef %14727, ptr noundef nonnull @.str.25) #12
  %14729 = load i32, ptr %1317, align 4, !tbaa !5
  %14730 = call ptr @strerror(i32 noundef %14729) #12
  %14731 = load i32, ptr %1317, align 4, !tbaa !5
  %14732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14723, ptr noundef nonnull %.str.26.sink6878, i32 noundef %14724, ptr noundef nonnull @.str.234, ptr noundef nonnull @.str.22, i32 noundef 1525, ptr noundef %14726, ptr noundef %14728, ptr noundef %14730, i32 noundef %14731) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14733:                                            ; preds = %14705
  %14734 = add nsw i32 %14706, 2
  store i32 %14734, ptr @test_count, align 4, !tbaa !5
  %14735 = call i32 @s2n_assert_tickets_sent(ptr noundef nonnull %13977, i16 noundef zeroext 5)
  %14736 = call zeroext i1 @s2n_result_is_ok(i32 %14735)
  br i1 %14736, label %14759, label %14737

14737:                                            ; preds = %14733
  %14738 = load i32, ptr %1317, align 4, !tbaa !5
  %14739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14740 = call i32 @s2n_print_stacktrace(ptr noundef %14739) #12
  %14741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14742 = trunc nuw i8 %14741 to i1
  br i1 %14742, label %14743, label %14747

14743:                                            ; preds = %14737
  %14744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14745 = call i32 @fileno(ptr noundef %14744) #12
  %14746 = call i32 @isatty(i32 noundef %14745) #12
  %.not1792 = icmp eq i32 %14746, 0
  br i1 %.not1792, label %14747, label %14748

14747:                                            ; preds = %14743, %14737
  br label %14748

14748:                                            ; preds = %14743, %14747
  %.str.26.sink6887 = phi ptr [ @.str.26, %14747 ], [ @.str.23, %14743 ]
  store i32 %14738, ptr %1317, align 4, !tbaa !5
  %14749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14750 = load i32, ptr @test_count, align 4, !tbaa !5
  %14751 = load i32, ptr %1263, align 4, !tbaa !5
  %14752 = call ptr @s2n_strerror(i32 noundef %14751, ptr noundef nonnull @.str.25) #12
  %14753 = load i32, ptr %1263, align 4, !tbaa !5
  %14754 = call ptr @s2n_strerror_debug(i32 noundef %14753, ptr noundef nonnull @.str.25) #12
  %14755 = load i32, ptr %1317, align 4, !tbaa !5
  %14756 = call ptr @strerror(i32 noundef %14755) #12
  %14757 = load i32, ptr %1317, align 4, !tbaa !5
  %14758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14749, ptr noundef nonnull %.str.26.sink6887, i32 noundef %14750, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.22, i32 noundef 1526, ptr noundef %14752, ptr noundef %14754, ptr noundef %14756, i32 noundef %14757) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14759:                                            ; preds = %14733
  %14760 = load i32, ptr @test_count, align 4, !tbaa !5
  %14761 = add nsw i32 %14760, 1
  store i32 %14761, ptr @test_count, align 4, !tbaa !5
  %14762 = call i32 @s2n_stuffer_free(ptr noundef nonnull %114) #12
  %14763 = icmp eq i32 %14762, -1
  br i1 %14763, label %14764, label %14786

14764:                                            ; preds = %14759
  %14765 = load i32, ptr %1317, align 4, !tbaa !5
  %14766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14767 = call i32 @s2n_print_stacktrace(ptr noundef %14766) #12
  %14768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14769 = trunc nuw i8 %14768 to i1
  br i1 %14769, label %14770, label %14774

14770:                                            ; preds = %14764
  %14771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14772 = call i32 @fileno(ptr noundef %14771) #12
  %14773 = call i32 @isatty(i32 noundef %14772) #12
  %.not1803 = icmp eq i32 %14773, 0
  br i1 %.not1803, label %14774, label %14775

14774:                                            ; preds = %14770, %14764
  br label %14775

14775:                                            ; preds = %14770, %14774
  %.str.26.sink6896 = phi ptr [ @.str.26, %14774 ], [ @.str.23, %14770 ]
  store i32 %14765, ptr %1317, align 4, !tbaa !5
  %14776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14777 = load i32, ptr @test_count, align 4, !tbaa !5
  %14778 = load i32, ptr %1263, align 4, !tbaa !5
  %14779 = call ptr @s2n_strerror(i32 noundef %14778, ptr noundef nonnull @.str.25) #12
  %14780 = load i32, ptr %1263, align 4, !tbaa !5
  %14781 = call ptr @s2n_strerror_debug(i32 noundef %14780, ptr noundef nonnull @.str.25) #12
  %14782 = load i32, ptr %1317, align 4, !tbaa !5
  %14783 = call ptr @strerror(i32 noundef %14782) #12
  %14784 = load i32, ptr %1317, align 4, !tbaa !5
  %14785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14776, ptr noundef nonnull %.str.26.sink6896, i32 noundef %14777, ptr noundef nonnull @.str.235, ptr noundef nonnull @.str.22, i32 noundef 1528, ptr noundef %14779, ptr noundef %14781, ptr noundef %14783, i32 noundef %14784) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14786:                                            ; preds = %14759
  %14787 = load i32, ptr @test_count, align 4, !tbaa !5
  %14788 = add nsw i32 %14787, 1
  store i32 %14788, ptr @test_count, align 4, !tbaa !5
  %14789 = call i32 @s2n_stuffer_free(ptr noundef nonnull %115) #12
  %14790 = icmp eq i32 %14789, -1
  br i1 %14790, label %14791, label %14813

14791:                                            ; preds = %14786
  %14792 = load i32, ptr %1317, align 4, !tbaa !5
  %14793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14794 = call i32 @s2n_print_stacktrace(ptr noundef %14793) #12
  %14795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14796 = trunc nuw i8 %14795 to i1
  br i1 %14796, label %14797, label %14801

14797:                                            ; preds = %14791
  %14798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14799 = call i32 @fileno(ptr noundef %14798) #12
  %14800 = call i32 @isatty(i32 noundef %14799) #12
  %.not1802 = icmp eq i32 %14800, 0
  br i1 %.not1802, label %14801, label %14802

14801:                                            ; preds = %14797, %14791
  br label %14802

14802:                                            ; preds = %14797, %14801
  %.str.26.sink6905 = phi ptr [ @.str.26, %14801 ], [ @.str.23, %14797 ]
  store i32 %14792, ptr %1317, align 4, !tbaa !5
  %14803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14804 = load i32, ptr @test_count, align 4, !tbaa !5
  %14805 = load i32, ptr %1263, align 4, !tbaa !5
  %14806 = call ptr @s2n_strerror(i32 noundef %14805, ptr noundef nonnull @.str.25) #12
  %14807 = load i32, ptr %1263, align 4, !tbaa !5
  %14808 = call ptr @s2n_strerror_debug(i32 noundef %14807, ptr noundef nonnull @.str.25) #12
  %14809 = load i32, ptr %1317, align 4, !tbaa !5
  %14810 = call ptr @strerror(i32 noundef %14809) #12
  %14811 = load i32, ptr %1317, align 4, !tbaa !5
  %14812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14803, ptr noundef nonnull %.str.26.sink6905, i32 noundef %14804, ptr noundef nonnull @.str.236, ptr noundef nonnull @.str.22, i32 noundef 1529, ptr noundef %14806, ptr noundef %14808, ptr noundef %14810, i32 noundef %14811) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14813:                                            ; preds = %14786
  %14814 = load i32, ptr @test_count, align 4, !tbaa !5
  %14815 = add nsw i32 %14814, 1
  store i32 %14815, ptr @test_count, align 4, !tbaa !5
  %14816 = call i32 @s2n_connection_free(ptr noundef nonnull %13977) #12
  %14817 = icmp eq i32 %14816, -1
  br i1 %14817, label %14818, label %14840

14818:                                            ; preds = %14813
  %14819 = load i32, ptr %1317, align 4, !tbaa !5
  %14820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14821 = call i32 @s2n_print_stacktrace(ptr noundef %14820) #12
  %14822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14823 = trunc nuw i8 %14822 to i1
  br i1 %14823, label %14824, label %14828

14824:                                            ; preds = %14818
  %14825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14826 = call i32 @fileno(ptr noundef %14825) #12
  %14827 = call i32 @isatty(i32 noundef %14826) #12
  %.not1801 = icmp eq i32 %14827, 0
  br i1 %.not1801, label %14828, label %14829

14828:                                            ; preds = %14824, %14818
  br label %14829

14829:                                            ; preds = %14824, %14828
  %.str.26.sink6914 = phi ptr [ @.str.26, %14828 ], [ @.str.23, %14824 ]
  store i32 %14819, ptr %1317, align 4, !tbaa !5
  %14830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14831 = load i32, ptr @test_count, align 4, !tbaa !5
  %14832 = load i32, ptr %1263, align 4, !tbaa !5
  %14833 = call ptr @s2n_strerror(i32 noundef %14832, ptr noundef nonnull @.str.25) #12
  %14834 = load i32, ptr %1263, align 4, !tbaa !5
  %14835 = call ptr @s2n_strerror_debug(i32 noundef %14834, ptr noundef nonnull @.str.25) #12
  %14836 = load i32, ptr %1317, align 4, !tbaa !5
  %14837 = call ptr @strerror(i32 noundef %14836) #12
  %14838 = load i32, ptr %1317, align 4, !tbaa !5
  %14839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14830, ptr noundef nonnull %.str.26.sink6914, i32 noundef %14831, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.22, i32 noundef 1530, ptr noundef %14833, ptr noundef %14835, ptr noundef %14837, i32 noundef %14838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14840:                                            ; preds = %14813
  %14841 = load i32, ptr @test_count, align 4, !tbaa !5
  %14842 = add nsw i32 %14841, 1
  store i32 %14842, ptr @test_count, align 4, !tbaa !5
  %14843 = call i32 @s2n_connection_free(ptr noundef nonnull %13950) #12
  %14844 = icmp eq i32 %14843, -1
  br i1 %14844, label %14845, label %14867

14845:                                            ; preds = %14840
  %14846 = load i32, ptr %1317, align 4, !tbaa !5
  %14847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14848 = call i32 @s2n_print_stacktrace(ptr noundef %14847) #12
  %14849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14850 = trunc nuw i8 %14849 to i1
  br i1 %14850, label %14851, label %14855

14851:                                            ; preds = %14845
  %14852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14853 = call i32 @fileno(ptr noundef %14852) #12
  %14854 = call i32 @isatty(i32 noundef %14853) #12
  %.not1800 = icmp eq i32 %14854, 0
  br i1 %.not1800, label %14855, label %14856

14855:                                            ; preds = %14851, %14845
  br label %14856

14856:                                            ; preds = %14851, %14855
  %.str.26.sink6923 = phi ptr [ @.str.26, %14855 ], [ @.str.23, %14851 ]
  store i32 %14846, ptr %1317, align 4, !tbaa !5
  %14857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14858 = load i32, ptr @test_count, align 4, !tbaa !5
  %14859 = load i32, ptr %1263, align 4, !tbaa !5
  %14860 = call ptr @s2n_strerror(i32 noundef %14859, ptr noundef nonnull @.str.25) #12
  %14861 = load i32, ptr %1263, align 4, !tbaa !5
  %14862 = call ptr @s2n_strerror_debug(i32 noundef %14861, ptr noundef nonnull @.str.25) #12
  %14863 = load i32, ptr %1317, align 4, !tbaa !5
  %14864 = call ptr @strerror(i32 noundef %14863) #12
  %14865 = load i32, ptr %1317, align 4, !tbaa !5
  %14866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14857, ptr noundef nonnull %.str.26.sink6923, i32 noundef %14858, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.22, i32 noundef 1531, ptr noundef %14860, ptr noundef %14862, ptr noundef %14864, i32 noundef %14865) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14867:                                            ; preds = %14840
  %14868 = load i32, ptr @test_count, align 4, !tbaa !5
  %14869 = add nsw i32 %14868, 1
  store i32 %14869, ptr @test_count, align 4, !tbaa !5
  %14870 = load ptr, ptr %113, align 8, !tbaa !9
  %14871 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %14870) #12
  %14872 = icmp eq i32 %14871, -1
  br i1 %14872, label %14873, label %14895

14873:                                            ; preds = %14867
  %14874 = load i32, ptr %1317, align 4, !tbaa !5
  %14875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14876 = call i32 @s2n_print_stacktrace(ptr noundef %14875) #12
  %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) #12
  %14882 = call i32 @isatty(i32 noundef %14881) #12
  %.not1799 = icmp eq i32 %14882, 0
  br i1 %.not1799, label %14883, label %14884

14883:                                            ; preds = %14879, %14873
  br label %14884

14884:                                            ; preds = %14879, %14883
  %.str.26.sink6932 = phi ptr [ @.str.26, %14883 ], [ @.str.23, %14879 ]
  store i32 %14874, ptr %1317, 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 %1263, align 4, !tbaa !5
  %14888 = call ptr @s2n_strerror(i32 noundef %14887, ptr noundef nonnull @.str.25) #12
  %14889 = load i32, ptr %1263, align 4, !tbaa !5
  %14890 = call ptr @s2n_strerror_debug(i32 noundef %14889, ptr noundef nonnull @.str.25) #12
  %14891 = load i32, ptr %1317, align 4, !tbaa !5
  %14892 = call ptr @strerror(i32 noundef %14891) #12
  %14893 = load i32, ptr %1317, align 4, !tbaa !5
  %14894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14885, ptr noundef nonnull %.str.26.sink6932, i32 noundef %14886, ptr noundef nonnull @.str.237, ptr noundef nonnull @.str.22, i32 noundef 1532, ptr noundef %14888, ptr noundef %14890, ptr noundef %14892, i32 noundef %14893) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14895:                                            ; preds = %14867
  %14896 = load i32, ptr @test_count, align 4, !tbaa !5
  %14897 = add nsw i32 %14896, 1
  store i32 %14897, ptr @test_count, align 4, !tbaa !5
  %14898 = call i32 @s2n_config_free(ptr noundef nonnull %14031) #12
  %14899 = icmp eq i32 %14898, -1
  br i1 %14899, label %14900, label %14922

14900:                                            ; preds = %14895
  %14901 = load i32, ptr %1317, align 4, !tbaa !5
  %14902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14903 = call i32 @s2n_print_stacktrace(ptr noundef %14902) #12
  %14904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14905 = trunc nuw i8 %14904 to i1
  br i1 %14905, label %14906, label %14910

14906:                                            ; preds = %14900
  %14907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14908 = call i32 @fileno(ptr noundef %14907) #12
  %14909 = call i32 @isatty(i32 noundef %14908) #12
  %.not1798 = icmp eq i32 %14909, 0
  br i1 %.not1798, label %14910, label %14911

14910:                                            ; preds = %14906, %14900
  br label %14911

14911:                                            ; preds = %14906, %14910
  %.str.26.sink6941 = phi ptr [ @.str.26, %14910 ], [ @.str.23, %14906 ]
  store i32 %14901, ptr %1317, align 4, !tbaa !5
  %14912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14913 = load i32, ptr @test_count, align 4, !tbaa !5
  %14914 = load i32, ptr %1263, align 4, !tbaa !5
  %14915 = call ptr @s2n_strerror(i32 noundef %14914, ptr noundef nonnull @.str.25) #12
  %14916 = load i32, ptr %1263, align 4, !tbaa !5
  %14917 = call ptr @s2n_strerror_debug(i32 noundef %14916, ptr noundef nonnull @.str.25) #12
  %14918 = load i32, ptr %1317, align 4, !tbaa !5
  %14919 = call ptr @strerror(i32 noundef %14918) #12
  %14920 = load i32, ptr %1317, align 4, !tbaa !5
  %14921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14912, ptr noundef nonnull %.str.26.sink6941, i32 noundef %14913, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.22, i32 noundef 1533, ptr noundef %14915, ptr noundef %14917, ptr noundef %14919, i32 noundef %14920) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14922:                                            ; preds = %14895
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %116) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %115) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %114) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %113) #12
  br label %14923

14923:                                            ; preds = %14922, %13945
  %14924 = call i32 @s2n_cleanup() #12
  %14925 = icmp eq i32 %14924, -1
  br i1 %14925, label %14926, label %14948

14926:                                            ; preds = %14923
  %14927 = load i32, ptr %1317, align 4, !tbaa !5
  %14928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14929 = call i32 @s2n_print_stacktrace(ptr noundef %14928) #12
  %14930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14931 = trunc nuw i8 %14930 to i1
  br i1 %14931, label %14932, label %14936

14932:                                            ; preds = %14926
  %14933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14934 = call i32 @fileno(ptr noundef %14933) #12
  %14935 = call i32 @isatty(i32 noundef %14934) #12
  %.not1797 = icmp eq i32 %14935, 0
  br i1 %.not1797, label %14936, label %14937

14936:                                            ; preds = %14932, %14926
  br label %14937

14937:                                            ; preds = %14932, %14936
  %.str.26.sink6950 = phi ptr [ @.str.26, %14936 ], [ @.str.23, %14932 ]
  store i32 %14927, ptr %1317, align 4, !tbaa !5
  %14938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14939 = load i32, ptr @test_count, align 4, !tbaa !5
  %14940 = load i32, ptr %1263, align 4, !tbaa !5
  %14941 = call ptr @s2n_strerror(i32 noundef %14940, ptr noundef nonnull @.str.25) #12
  %14942 = load i32, ptr %1263, align 4, !tbaa !5
  %14943 = call ptr @s2n_strerror_debug(i32 noundef %14942, ptr noundef nonnull @.str.25) #12
  %14944 = load i32, ptr %1317, align 4, !tbaa !5
  %14945 = call ptr @strerror(i32 noundef %14944) #12
  %14946 = load i32, ptr %1317, align 4, !tbaa !5
  %14947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14938, ptr noundef nonnull %.str.26.sink6950, i32 noundef %14939, ptr noundef nonnull @.str.238, ptr noundef nonnull @.str.22, i32 noundef 1536, ptr noundef %14941, ptr noundef %14943, ptr noundef %14945, i32 noundef %14946) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14948:                                            ; preds = %14923
  %14949 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %14950 = icmp eq i32 %14949, -1
  br i1 %14950, label %14951, label %14973

14951:                                            ; preds = %14948
  %14952 = load i32, ptr %1317, align 4, !tbaa !5
  %14953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14954 = call i32 @s2n_print_stacktrace(ptr noundef %14953) #12
  %14955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14956 = trunc nuw i8 %14955 to i1
  br i1 %14956, label %14957, label %14961

14957:                                            ; preds = %14951
  %14958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14959 = call i32 @fileno(ptr noundef %14958) #12
  %14960 = call i32 @isatty(i32 noundef %14959) #12
  %.not1796 = icmp eq i32 %14960, 0
  br i1 %.not1796, label %14961, label %14962

14961:                                            ; preds = %14957, %14951
  br label %14962

14962:                                            ; preds = %14957, %14961
  %.str.26.sink6959 = phi ptr [ @.str.26, %14961 ], [ @.str.23, %14957 ]
  store i32 %14952, ptr %1317, align 4, !tbaa !5
  %14963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14964 = load i32, ptr @test_count, align 4, !tbaa !5
  %14965 = load i32, ptr %1263, align 4, !tbaa !5
  %14966 = call ptr @s2n_strerror(i32 noundef %14965, ptr noundef nonnull @.str.25) #12
  %14967 = load i32, ptr %1263, align 4, !tbaa !5
  %14968 = call ptr @s2n_strerror_debug(i32 noundef %14967, ptr noundef nonnull @.str.25) #12
  %14969 = load i32, ptr %1317, align 4, !tbaa !5
  %14970 = call ptr @strerror(i32 noundef %14969) #12
  %14971 = load i32, ptr %1317, align 4, !tbaa !5
  %14972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14963, ptr noundef nonnull %.str.26.sink6959, i32 noundef %14964, ptr noundef nonnull @.str.239, ptr noundef nonnull @.str.22, i32 noundef 1536, ptr noundef %14966, ptr noundef %14968, ptr noundef %14970, i32 noundef %14971) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14973:                                            ; preds = %14948
  %14974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14975 = trunc nuw i8 %14974 to i1
  br i1 %14975, label %14976, label %14987

14976:                                            ; preds = %14973
  %14977 = load ptr, ptr @stdout, align 8, !tbaa !9
  %14978 = call i32 @fileno(ptr noundef %14977) #12
  %14979 = call i32 @isatty(i32 noundef %14978) #12
  %.not1793 = icmp eq i32 %14979, 0
  br i1 %.not1793, label %14987, label %14980

14980:                                            ; preds = %14976
  %14981 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1795 = icmp eq i32 %14981, 0
  %14982 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1795, label %14985, label %14983

14983:                                            ; preds = %14980
  %14984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14982, ptr noundef nonnull @.str.240, i32 noundef %14981) #12
  br label %14994

14985:                                            ; preds = %14980
  %14986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14982, ptr noundef nonnull @.str.241) #12
  br label %14994

14987:                                            ; preds = %14976, %14973
  %14988 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1794 = icmp eq i32 %14988, 0
  %14989 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1794, label %14992, label %14990

14990:                                            ; preds = %14987
  %14991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14989, ptr noundef nonnull @.str.242, i32 noundef %14988) #12
  br label %14994

14992:                                            ; preds = %14987
  %14993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14989, ptr noundef nonnull @.str.243) #12
  br label %14994

14994:                                            ; preds = %.thread2163, %4161, %14985, %14983, %14992, %14990
  %.2 = phi i32 [ -1, %4161 ], [ 0, %14990 ], [ 0, %14992 ], [ 0, %14983 ], [ 0, %14985 ], [ -1, %.thread2163 ]
  ret i32 %.2
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #7

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #7

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #0

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #8

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #9

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #7

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #0

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #9

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #10

declare i32 @s2n_enable_atexit() local_unnamed_addr #0

declare i32 @s2n_init() local_unnamed_addr #0

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #0

declare ptr @s2n_config_new() local_unnamed_addr #0

declare i32 @s2n_config_set_wall_clock(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

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

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) local_unnamed_addr #0

declare i32 @s2n_stuffer_read_uint24(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_stuffer_skip_read(ptr noundef, i32 noundef) local_unnamed_addr #0

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #0

declare void @s2n_debug_info_reset() local_unnamed_addr #0

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_connection_set_server_max_early_data_size(ptr noundef, i32 noundef) local_unnamed_addr #0

declare i32 @s2n_config_set_session_tickets_onoff(ptr noundef, i8 noundef zeroext) local_unnamed_addr #0

declare i32 @s2n_config_set_session_ticket_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

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

declare i32 @s2n_connection_set_server_early_data_context(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_init_ticket_lifetime(ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_connection_set_server_keying_material_lifetime(ptr noundef, i32 noundef) local_unnamed_addr #0

declare i32 @s2n_psk_parameters_wipe(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_setup_test_resumption_secret(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) local_unnamed_addr #0

declare ptr @s2n_stuffer_raw_read(ptr noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_assert_tickets_sent(ptr noundef, i16 noundef zeroext) local_unnamed_addr #5

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_connection_add_new_tickets_to_send(ptr noundef, i8 noundef zeroext) local_unnamed_addr #0

declare ptr @s2n_test_psk_new(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_psk_free(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_config_add_ticket_crypto_key(ptr noundef, ptr noundef, i32 noundef, ptr noundef, i32 noundef, i64 noundef) local_unnamed_addr #0

declare i32 @s2n_config_set_initial_ticket_count(ptr noundef, i8 noundef zeroext) local_unnamed_addr #0

declare i32 @s2n_stuffer_rewrite(ptr noundef) local_unnamed_addr #0

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #0

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_cleanup() local_unnamed_addr #0

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #11

attributes #0 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #3 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { 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 #6 = { 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 #7 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nofree nounwind willreturn memory(argmem: read) }
attributes #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(none) }
attributes #14 = { cold nounwind }
attributes #15 = { noreturn nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!18, !7, i64 220}
!18 = !{!"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, !19, i64 160, !16, i64 168, !16, 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, !20, i64 240, !10, i64 632, !10, i64 640, !21, i64 648, !27, i64 1144, !30, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !33, i64 1776, !33, i64 1816, !33, i64 1856, !33, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !33, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !34, i64 2004, !34, i64 2008, !35, i64 2016, !32, i64 2208, !6, i64 2212, !32, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !34, i64 2264, !34, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !26, i64 2792, !6, i64 2816, !26, i64 2824, !26, i64 2848, !26, i64 2872, !37, i64 2896, !39, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !26, i64 3784, !6, i64 3808, !41, i64 3816, !7, i64 3848, !33, i64 3992, !26, i64 4032, !26, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !32, i64 4084, !32, i64 4086, !6, i64 4088, !6, i64 4092, !26, i64 4096, !6, i64 4120, !42, i64 4128, !34, i64 4176, !7, i64 4180, !7, i64 4181}
!19 = !{!"s2n_timer", !16, i64 0}
!20 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!21 = !{!"s2n_kex_parameters", !22, i64 0, !23, i64 8, !7, i64 24, !23, i64 56, !24, i64 72, !24, i64 184, !7, i64 296, !25, i64 360, !26, i64 448, !26, i64 472}
!22 = !{!"s2n_dh_params", !10, i64 0}
!23 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!24 = !{!"s2n_kem_group_params", !10, i64 0, !25, i64 8, !23, i64 96}
!25 = !{!"s2n_kem_params", !10, i64 0, !26, i64 8, !26, i64 32, !26, i64 56, !12, i64 80}
!26 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!27 = !{!"s2n_handshake_parameters", !28, i64 0, !28, i64 48, !26, i64 96, !6, i64 120, !29, 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}
!28 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!29 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!30 = !{!"s2n_psk_parameters", !6, i64 0, !31, i64 8, !32, i64 40, !32, i64 42, !10, i64 48, !6, i64 56}
!31 = !{!"s2n_array", !26, i64 0, !6, i64 24, !6, i64 28}
!32 = !{!"short", !7, i64 0}
!33 = !{!"s2n_stuffer", !26, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!34 = !{!"", !6, i64 0}
!35 = !{!"s2n_handshake", !33, 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, !36, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!36 = !{!"s2n_offered_early_data", !10, i64 0}
!37 = !{!"s2n_client_hello", !26, i64 0, !38, i64 24, !26, i64 728, !26, i64 752, !26, 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}
!38 = !{!"", !7, i64 0, !26, i64 672, !32, i64 696}
!39 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !32, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !40, i64 48, !12, i64 52}
!40 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!41 = !{!"s2n_ticket_fields", !26, i64 0, !6, i64 24}
!42 = !{!"s2n_post_handshake", !33, i64 0, !7, i64 40}
!43 = !{!18, !10, i64 232}
!44 = !{!45, !10, i64 0}
!45 = !{!"s2n_crypto_parameters", !10, i64 0, !46, i64 8, !46, i64 16, !47, i64 24, !47, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!46 = !{!"s2n_session_key", !10, i64 0}
!47 = !{!"s2n_hmac_state", !6, i64 0, !32, i64 4, !6, i64 8, !32, i64 12, !7, i64 14, !48, i64 16, !48, i64 72, !48, i64 128, !48, i64 184, !7, i64 240, !7, i64 368}
!48 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !16, i64 16, !7, i64 24}
!49 = !{!18, !32, i64 4086}
!50 = !{!7, !7, i64 0}
!51 = !{!33, !6, i64 28}
!52 = !{!33, !6, i64 24}
!53 = !{!26, !10, i64 0}
!54 = !{!32, !32, i64 0}
!55 = !{!56, !16, i64 160}
!56 = !{!"s2n_config", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !57, i64 24, !26, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !16, i64 144, !10, i64 152, !16, i64 160, !16, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !58, i64 304, !32, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !26, i64 448}
!57 = !{!"certs_by_type", !7, i64 0}
!58 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!59 = !{!56, !16, i64 168}
!60 = !{!56, !16, i64 144}
!61 = !{!18, !10, i64 1736}
!62 = !{!63, !16, i64 160}
!63 = !{!"s2n_psk", !6, i64 0, !26, i64 8, !26, i64 32, !6, i64 56, !6, i64 60, !16, i64 64, !26, i64 72, !64, i64 96, !16, i64 160}
!64 = !{!"s2n_early_data_config", !6, i64 0, !7, i64 4, !10, i64 8, !26, i64 16, !26, i64 40}
!65 = !{!66, !32, i64 0}
!66 = !{!"", !32, i64 0, !7, i64 2}
!67 = !{!68, !6, i64 4}
!68 = !{!"", !7, i64 0, !6, i64 4}
!69 = !{!26, !6, i64 8}
!70 = !{!18, !6, i64 3792}
!71 = !{!18, !10, i64 3784}
!72 = !{!18, !6, i64 4092}
!73 = distinct !{!73, !74}
!74 = !{!"llvm.loop.mustprogress"}
!75 = !{!18, !6, i64 3780}
!76 = !{!18, !6, i64 2044}
!77 = !{!18, !6, i64 2040}
!78 = !{!18, !10, i64 8}
!79 = !{!18, !32, i64 4084}
!80 = !{!18, !6, i64 2024}
!81 = !{!18, !6, i64 1744}
!82 = !{!63, !6, i64 0}
!83 = !{!56, !10, i64 80}
!84 = !{!56, !10, i64 104}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,MemCpyOptPass,PostOrderFunctionAttrsPass,ReassociatePass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass